Créer un projet de catégorisation

 

Etape 1 – Créer un Template

API

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.

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' => "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);
?>

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

API

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

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' => "Catégorisation-Style de vêtements",
'EstimatedTimePerTask' => "00:00:10",
'MaxEndDate' => "2016-09-30",
'NbSupplierPerTask' => "1",
'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
{
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

API

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.

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' => "aHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy8zLzMzLmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy81LzM1LmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy82LzM2LmpwZw0K",
'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 = "aHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy8zLzMzLmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy81LzM1LmpwZw0KaHR0cDovL3N0b3JlY29tbWFuZGVyLmZvdWxlZmFjdG9yeS5jb20vaW1nL3AvMy82LzM2LmpwZw0K",
Header = false,
Separator = ";"
};
fouleFactory.CsvFiles.CreateCsvFilesCreateCsvFile(csvFile);
}

Rendu coté Fouleur

sample-categorisation-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": 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.

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