Créer un projet de catégorisation
Etape 1 – Créer un Template
Création d’un Template de catégorisation:{
"IdProjectType": 1,
"Title": "Catégorisation vêtements",
"Description": "Template de catégorisation des vêtements",
"Instructions": [
{
"Instruction": "Bonjour,
Ce projet consiste à catégoriser les vêtements selon leur style. Vous trouverez une image ci-dessous du vêtement en question.",
"Order": 1
}
],
"Columns": [
{
"IdTemplateColumnType": 3,
"Column": 1,
"Order": 2
}
],
"Questions": [
{
"Title": "Choisissez le style du vêtement:",
"Option": "Ex: Robe",
"Require": false,
"IdTemplateObjectQuestionType": 3,
"Choices": [
"Robes",
"Tops et T-shirts",
"Débardeurs",
"Vestes",
"Autres"
],
"Order": 3
}
]
}
Retour JSON:
3174
Lors de la création, vous recevez l’id du template créé. Ici notre template a l’id 3174.
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' => "1",
'Title' => "Catégorisation vêtements",
'Description' => "Template de catégorisation des vêtements",
'Instructions' => array(array('Instruction' => "Bonjour,
Ce projet consiste à catégoriser les vêtements selon leur style. Vous trouverez une image ci-dessous du vêtement en question.",
'Order' => "1")
),
'Columns' => array(array('IdTemplateColumnType' => "3",
'Column' => "1",
'Order' => "2")
),
'Questions' => array(array('Title' => "Choisissez le style du vêtement:",
'Option' => "Ex: Robe",
'Require' => "false",
'IdTemplateObjectQuestionType' => "3",
'Choices' => array("Robes", "Tops et T-shirts", "Débardeurs", "Vestes", "Autres"),
'Order' => "3")
)
);
$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
{
Order = 1,
Instruction = "Bonjour,\n\nCe projet consiste à catégoriser les vêtements selon leur style.Vous trouverez une image ci - dessous du vêtement en question."
});
var columns = new List<TemplateColumnWriterServiceModel>();
columns.Add(new TemplateColumnWriterServiceModel
{
IdTemplateColumnType = 3,
Column = 1,
Order = 2
});
var questions = new List<TemplateQuestionWriterServiceModel>();
questions.Add(new TemplateQuestionWriterServiceModel
{
Title = "Choisissez le style du vêtement:",
Option = "Ex: Robe",
IdTemplateObjectQuestionType = 3,
Choices = new List<string> {"Robes", "Tops et T-shirts", "Débardeurs", "Vestes", "Autres"},
Require = false,
Order = 3
});
var template = new TemplateNewWriterServiceModel
{
Title = "Catégorisation vêtements",
Description = "Template de catégorisation des vêtements",
IdProjectType = 1,
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 catégorisation:{
"IdTemplate": 3174,
"Title": "Catégorisation-Style de vêtements",
"EstimatedTimePerTask": "00:00:10",
"MaxEndDate": "2016-09-30",
"NbSupplierPerTask": 1,
"AmountWithoutTaxPerTask": 10,
"AutomaticValidation": false
}
Retour JSON:
{
"IdProject": 11195,
"IdState": 2,
"IdTemplate": 3174,
"IdType": 1,
"Title": "Catégorisation-Style de vêtements",
"EstimatedTimePerTask": "00:00:10",
"MaxEndDate": "2016-09-30T08:10:53.2893735+00:00",
"NbSupplierPerTask": 1,
"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' => "Catégorisation-Style de vêtements",
'EstimatedTimePerTask' => "00:00:10",
'MaxEndDate' => "2016-09-30",
'NbSupplierPerTask' => "1",
'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
{
Title = "Catégorisation-Style de vêtements",
IdTemplate = idTemplate,
MaxEndDate = DateTime.UtcNow.AddDays(15),
NbSupplierPerTask = 1,
EstimatedTimePerTask = "00:00:10",
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 de tache grâce à un fichier CSV de 3 images a catégoriser:{
"IdProject": 11195,
"File": "aHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy8zLzMzLmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy81LzM1LmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy82LzM2LmpwZw0K",
"Header": false,
"Separator": ";"
}
Le fichier CSV doit être converti en base 64.
Fichier CSV utilisé dans l’exemple ici.
Retour JSON:
{
"IdCsvFile": 11292,
"IdProject": 11195,
"Url": "https://ffpreproddatauser.blob.core.windows.net/0000002277/ae3498990fc748eeb6dce1168673ebba.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' => "aHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy8zLzMzLmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy81LzM1LmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy82LzM2LmpwZw0K",
'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 = "aHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy8zLzMzLmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy81LzM1LmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy82LzM2LmpwZw0K",
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": 36959,
"IdTaskLine": 27818,
"IdSupplier": 2282,
"IdTaskState": 3,
"IdTaskType": null,
"UpdateDate": "2016-09-23T09:22:14.7",
"CreateDate": "2016-09-23T08:35:28.117",
"TaskAnswer": []
},
{
"IdTask": 36960,
"IdTaskLine": 27819,
"IdSupplier": 2282,
"IdTaskState": 4,
"IdTaskType": 1,
"UpdateDate": "2016-09-23T09:22:50.39",
"CreateDate": "2016-09-23T08:35:28.13",
"TaskAnswer": [
"Tops et T-shirts"
]
},
{
"IdTask": 36961,
"IdTaskLine": 27820,
"IdSupplier": 2282,
"IdTaskState": 4,
"IdTaskType": 1,
"UpdateDate": "2016-09-23T09:22:50.39",
"CreateDate": "2016-09-23T08:35:28.193",
"TaskAnswer": [
"Tops et T-shirts"
]
}
]
Certaines des taches du projet ont été faites. Nous pouvons voir la réponse du contributeur dans 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;
}