Créer un projet de type Panel
Etape 1 – Créer un Template
Création d’un Template de type Panel:{
"IdProjectType": 6,
"Title": "Template Panel",
"Description": "Template pour les panels",
"Instructions": [
{
"Instruction": "Bonjour,
Vous devez donner votre avis sur le sujet suivant:",
"Order": 1
}
],
"Columns": [
{
"IdTemplateColumnType": 1,
"Column": 1,
"Order": 2
}
],
"Questions": [
{
"Title": "Choisissez une ou plusieurs réponses:",
"Option": "Ex: Bleu",
"Require": true,
"IdTemplateObjectQuestionType": 4,
"Choices": [
"Rouge",
"Bleu",
"Vert",
"Jaune",
"Violet",
"Rose",
"Orange"
],
"Order": 3
},
{
"Title": "Si votre réponse ne se trouve pas parmi les champs proposés",
"Option": "Ex: Bleu foncé",
"Require": false,
"IdTemplateObjectQuestionType": 2,
"Order": 4
}
]
}
Retour JSON:
3176
Lors de la création, vous recevez l’id du template créé. Ici notre template a l’id 3176.
Vous pouvez trouver un exemple de l’utilisation du SDK FouleFactory en cliquant ici.
Pour effectuer un test, vous devrez modifier les valeurs « YourLogin » et « YourPass » présent dans le JavaScript en les remplaçant par votre login API et votre mot de passe API.
<?php
require_once "FouleFactory-SDK-PHP-master/vendor/autoload.php";
use FouleFactoryApiLib\FouleFactoryApiClient;
FouleFactoryApiLib\Configuration::$BASEURI = "http://sandbox-api.foulefactory.com";
$basicAuthUserName = "YourLogin";
$basicAuthPassword = "YourPass";
$apiClient = new FouleFactoryApiClient($basicAuthUserName, $basicAuthPassword);
$clientAccount = $apiClient->getTemplates();
$data = array(
'IdProjectType' => "6",
'Title' => "Template Panel",
'Description' => "Template pour les panels",
'Instructions' => array(array('Instruction' => "Bonjour,
Vous devez donner votre avis sur le sujet suivant:",
'Order' => "1")
),
'Columns' => array(array('IdTemplateColumnType' => "1",
'Column' => "1",
'Order' => "2")
),
'Questions' => array(
array('Title' => "Choisissez une ou plusieurs réponses:",
'Option' => "Ex: Bleu",
'Require' => "true",
'IdTemplateObjectQuestionType' => "4",
'Choices' => array("Rouge", "Bleu", "Vert", "Jaune", "Violet", "Rose", "Orange"),
'Order' => "3"),
array('Title' => "Si votre réponse ne se trouve pas parmi les champs proposés",
'Option' => "Ex: Bleu foncé",
'Require' => "false",
'IdTemplateObjectQuestionType' => "2",
'Order' => "4")
)
);
$idTemplate = $clientAccount->createTemplatesCreateTemplate($data);
?>
public static int CreateTemplate()
{
var fouleFactory = new FouleFactoryApiClient("https://sandbox-api.foulefactory.com", "YourLogin", "YourPass");
var instructions = new List<TemplateInstructionWriterServiceModel>();
instructions.Add(new TemplateInstructionWriterServiceModel
{
Instruction = "Bonjour,\n\nVous devez donner votre avis sur le sujet suivant:",
Order = 1
});
var columns = new List<TemplateColumnWriterServiceModel>();
columns.Add(new TemplateColumnWriterServiceModel
{
IdTemplateColumnType = 1,
Column = 1,
Order = 2
});
var questions = new List<TemplateQuestionWriterServiceModel>();
questions.Add(new TemplateQuestionWriterServiceModel
{
Title = "Choisissez une ou plusieurs réponses:",
Option = "Ex: Bleu",
IdTemplateObjectQuestionType = 4,
Choices = new List<string> { "Rouge", "Bleu", "Vert", "Jaune", "Violet", "Rose", "Orange" },
Require = true,
Order = 3
});
questions.Add(new TemplateQuestionWriterServiceModel
{
Title = "Si votre réponse ne se trouve pas parmi les champs proposés",
Option = "Ex: Bleu foncé",
IdTemplateObjectQuestionType = 2,
Require = false,
Order = 4
});
var template = new TemplateNewWriterServiceModel
{
Title = "Template Panel",
Description = "Template pour les panels",
IdProjectType = 6,
Instructions = instructions,
Columns = columns,
Questions = questions
};
var idTemplate = fouleFactory.Templates.CreateTemplatesCreateTemplate(template);
return ((int)idTemplate);
}
Etape 2 – Créer un projet
Création d’un projet de Panel de 400 personnes:{
"IdTemplate": 3176,
"Title": "Panel - Couleur préférée",
"EstimatedTimePerTask": "00:00:20",
"MaxEndDate": "2016-09-30",
"NbSupplierPerTask": 400,
"AmountWithoutTaxPerTask": 10,
"AutomaticValidation": false
}
Retour JSON:
{
"IdProject": 11198,
"IdState": 2,
"IdTemplate": 3176,
"IdType": 6,
"Title": "Panel - Couleur préférée",
"EstimatedTimePerTask": "00:00:20",
"MaxEndDate": "2016-09-30T00:00:00",
"NbSupplierPerTask": 400,
"AmountWithoutTaxPerTask": 10,
"CsvFiles": [],
"TaskLines": [],
"AutomaticValidation": false,
"IdCertification": null,
"UrlNotification": null
}
Votre projet est maintenant créé.
Vous pouvez trouver un exemple de l’utilisation du SDK FouleFactory en cliquant ici.
Pour effectuer un test, vous devrez modifier les valeurs « YourLogin » et « YourPass » présent dans le JavaScript en les remplaçant par votre login API et votre mot de passe API.
<?php
require_once "FouleFactory-SDK-PHP-master/vendor/autoload.php";
use FouleFactoryApiLib\FouleFactoryApiClient;
FouleFactoryApiLib\Configuration::$BASEURI = "http://sandbox-api.foulefactory.com";
$basicAuthUserName = "YourLogin";
$basicAuthPassword = "YourPass";
$apiClient = new FouleFactoryApiClient($basicAuthUserName, $basicAuthPassword);
$clientProject = $apiClient->getProjects();
$data = array(
'IdTemplate' => $idTemplate,
'Title' => "Panel - Couleur préférée",
'EstimatedTimePerTask' => "00:00:20",
'MaxEndDate' => "2016-09-30",
'NbSupplierPerTask' => "400",
'AmountWithoutTaxPerTask' => "10",
'AutomaticValidation' => false
);
$project = $clientProject->createProjectsCreateProject($data);
?>
public static int CreateProject(int idTemplate)
{
var fouleFactory = new FouleFactoryApiClient("https://sandbox-api.foulefactory.com", "YourLogin", "YourPass");
ProjectWriterServiceModel project = new ProjectWriterServiceModel
{
IdTemplate = idTemplate,
Title = "Panel - Couleur préférée",
EstimatedTimePerTask = "00:00:20",
MaxEndDate = DateTime.UtcNow.AddDays(15),
NbSupplierPerTask = 400,
AmountWithoutTaxPerTask = 10,
AutomaticValidation = false
};
var projectJson = fouleFactory.Projects.CreateProjectsCreateProject(project);
FouleFactoryProjectModel projectInfos = JsonConvert.DeserializeObject<FouleFactoryProjectModel>(projectJson.ToString());
return (projectInfos.IdProject);
}
Etape 3 – Ajout de taches
Ajout d’un CSV contenant une ligne pour un Panel de 400 personnes:{
"IdProject": 11198,
"File": "UXVlbGxlIGVzdCB2b3RyZSBvdSB2b3MgY291bGV1cnMgcHLDqWbDqXLDqWVzPw0K",
"Header": false,
"Separator": ";"
}
Le fichier CSV doit être converti en base 64.
Fichier CSV utilisé dans l’exemple ici.
Retour JSON:
{
"IdCsvFile": 11294,
"IdProject": 11198,
"Url": "https://ffpreproddatauser.blob.core.windows.net/0000002277/0ce8e0d18ef24401bf3b2a56315bfccc.csv",
"Normalized": false,
"Header": false,
"Separator": "; "
}
Votre CSV est maintenant ajouté au projet. La transformation du fichier CSV en tache est en cours (normalisation). Vous recevrez un email lorsque le projet sera en ligne.
Vous pouvez trouver un exemple de l’utilisation du SDK FouleFactory en cliquant ici.
Pour effectuer un test, vous devrez modifier les valeurs « YourLogin » et « YourPass » présent dans le JavaScript en les remplaçant par votre login API et votre mot de passe API.
<?php
require_once "FouleFactory-SDK-PHP-master/vendor/autoload.php";
use FouleFactoryApiLib\FouleFactoryApiClient;
FouleFactoryApiLib\Configuration::$BASEURI = "http://sandbox-api.foulefactory.com";
$basicAuthUserName = "YourLogin";
$basicAuthPassword = "YourPass";
$apiClient = new FouleFactoryApiClient($basicAuthUserName, $basicAuthPassword);
$clientCsv = $apiClient->getCsvFiles();
$data = array(
'IdProject' => $project->IdProject,
'File' => "UXVlbGxlIGVzdCB2b3RyZSBvdSB2b3MgY291bGV1cnMgcHLDqWbDqXLDqWVzPw0K",
'Header' => false,
'Separator' => ";"
);
$csv = $clientCsv->createCsvFilesCreateCsvFile($data);
?>
public static void AddCsvFile(int idProject)
{
var fouleFactory = new FouleFactoryApiClient("https://sandbox-api.foulefactory.com", "YourLogin", "YourPass");
CsvFileWriterServiceModel csvFile = new CsvFileWriterServiceModel
{
IdProject = idProject,
File = "UXVlbGxlIGVzdCB2b3RyZSBvdSB2b3MgY291bGV1cnMgcHLDqWbDqXLDqWVzPw0K",
Header = false,
Separator = ";"
};
fouleFactory.CsvFiles.CreateCsvFilesCreateCsvFile(csvFile);
}
Rendu coté Fouleur
Etape 4 – Récupération des taches
Nous allons récupérer nos taches avec la requête GET /projects/{idProject}/tasks[
{
"IdTask": 37362,
"IdTaskLine": 27822,
"IdSupplier": null,
"IdTaskState": 2,
"IdTaskType": null,
"UpdateDate": "2016-09-23T10:22:46.513",
"CreateDate": "2016-09-23T10:22:41.817",
"TaskAnswer": []
},
{
"IdTask": 37363,
"IdTaskLine": 27822,
"IdSupplier": null,
"IdTaskState": 2,
"IdTaskType": null,
"UpdateDate": "2016-09-23T10:22:46.513",
"CreateDate": "2016-09-23T10:22:41.817",
"TaskAnswer": []
},
{
"IdTask": 37364,
"IdTaskLine": 27822,
"IdSupplier": null,
"IdTaskState": 2,
"IdTaskType": null,
"UpdateDate": "2016-09-23T10:22:46.513",
"CreateDate": "2016-09-23T10:22:41.817",
"TaskAnswer": []
},
...
]
Vous pouvez trouver un exemple de l’utilisation du SDK FouleFactory en cliquant ici.
Pour effectuer un test, vous devrez modifier les valeurs « YourLogin » et « YourPass » présent dans le JavaScript en les remplaçant par votre login API et votre mot de passe API.
<?php
require_once "FouleFactory-SDK-PHP-master/vendor/autoload.php";
use FouleFactoryApiLib\FouleFactoryApiClient;
FouleFactoryApiLib\Configuration::$BASEURI = "http://sandbox-api.foulefactory.com";
$basicAuthUserName = "YourLogin";
$basicAuthPassword = "YourPass";
$apiClient = new FouleFactoryApiClient($basicAuthUserName, $basicAuthPassword);
$clientTasks = $apiClient->getProjects();
$tasks = $clientProject->getProjectsGetProjectTasks($project->IdProject);
?>
public static List<FouleFactoryTaskModel> GetTasks(int idProject)
{
var fouleFactory = new FouleFactoryApiClient("https://sandbox-api.foulefactory.com", "YourLogin", "YourPass");
var tasks = fouleFactory.Projects.GetProjectsGetProjectTasks(idProject);
List<FouleFactoryTaskModel> taskInfos = JsonConvert.DeserializeObject<List<FouleFactoryTaskModel>>(tasks.ToString());
return taskInfos;
}