Créer un projet de type Panel

 

Etape 1 – Créer un Template

API

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.

AngularJS

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

<?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);
?>

.NET

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

API

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éé.

AngularJS

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

<?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);
?>

.NET

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

API

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.

AngularJS

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

<?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);
?>

.NET

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

sample-panel-rendu

Etape 4 – Récupération des taches

API

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": []
},
...
]

AngularJS

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

<?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);
?>

.NET

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;
}