Créer un projet de transcription de note de frais

 

Etape 1 – Créer un Template

API

Création d’un Template de recherche d’informations dans un document:
{
"IdProjectType": 3,
"Title": "Transcription note de frais",
"Description": "Template de transcription de note de frais",
"Instructions": [
{
"Instruction": "Bonjour,
Le but de ce projet est de transcrire le montant d’un certain nombre de note de frais.
Vous trouverez un exemple de transcription à cette adresse : http://tutoFF.transcription.exemple.com/
Ci-dessous l’image de la note de frais, ne retranscrivez que le montant total TTC :",
"Order": 1
}
],
"Columns": [
{
"IdTemplateColumnType": 3,
"Column": 1,
"Order": 2
}
],
"Questions": [
{
"Title": "Inscrivez le montant de la note de frais ici.",
"Require": true,
"IdTemplateObjectQuestionType": 1,
"Order": 3
}
]
}

Retour JSON:
3180

Lors de la création, vous recevez l’id du template créé. Ici notre template a l’id 3180.

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' => "3",
'Title' => "Transcription note de frais",
'Description' => "Template de transcription de note de frais",
'Instructions' => array(
array('Instruction' => "Bonjour,
Le but de ce projet est de transcrire le montant d’un certain nombre de note de frais.
Vous trouverez un exemple de transcription à cette adresse : http://tutoFF.transcription.exemple.com/
Ci-dessous l’image de la note de frais, ne retranscrivez que le montant total TTC :",
'Order' => "1")
),
'Columns' => array(
array('IdTemplateColumnType' => "3",
'Column' => "1",
'Order' => "2")
),
'Questions' => array(
array('Title' => "Inscrivez le montant de la note de frais ici.",
'Require' => "true",
'IdTemplateObjectQuestionType' => "1",
'Order' => "3")
)
);
$idTemplate = $clientAccount->createTemplatesCreateTemplate($data);
?>

.NET

public static int CreateTemplate()
{
var fouleFactory = new FouleFactoryApiClient("https://sandbox-api.foulefactory.com", "YourLogin", "YourPasss");
var instructions = new List<TemplateInstructionWriterServiceModel>();
instructions.Add(new TemplateInstructionWriterServiceModel
{
Instruction = "Bonjour,\n\nLe but de ce projet est de transcrire le montant d’un certain nombre de note de frais.\n\nVous trouverez un exemple de transcription à cette adresse : http://tutoFF.transcription.exemple.com/ \n\nCi - dessous l’image de la note de frais, ne retranscrivez que le montant total TTC :",
Order = 1
});
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 = "Inscrivez le montant de la note de frais ici.",
Require = true,
IdTemplateObjectQuestionType = 1,
Order = 3
});
var template = new TemplateNewWriterServiceModel
{
IdProjectType = 3,
Title = "Transcription note de frais",
Description = "Template de transcription de note de frais",
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 recherche d’informations dans un document:
{
"IdTemplate": 3180,
"Title": "Transcription - Note de frais",
"EstimatedTimePerTask": "00:00:10",
"MaxEndDate": "2016-10-03",
"NbSupplierPerTask": 3,
"AmountWithoutTaxPerTask": 10,
"AutomaticValidation": true
}

Retour JSON:
{
"IdProject": 11202,
"IdState": 2,
"IdTemplate": 3180,
"IdType": 3,
"Title": "Transcription - Note de frais",
"EstimatedTimePerTask": "00:00:10",
"MaxEndDate": "2016-10-03T00:00:00",
"NbSupplierPerTask": 3,
"AmountWithoutTaxPerTask": 10,
"CsvFiles": [],
"TaskLines": [],
"AutomaticValidation": true,
"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' => "Transcription - Note de frais",
'EstimatedTimePerTask' => "00:00:10",
'MaxEndDate' => "2016-09-30",
'NbSupplierPerTask' => "3",
'AmountWithoutTaxPerTask' => "10",
'AutomaticValidation' => true
);
$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 = "Transcription - Note de frais",
EstimatedTimePerTask = "00:00:10",
MaxEndDate = DateTime.UtcNow.AddDays(15),
NbSupplierPerTask = 3,
AmountWithoutTaxPerTask = 10,
AutomaticValidation = true
};
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 contenant du texte:
{
"IdProject": 11202,
"File": "VVJMDQpodHRwOi8vY2RuLjIwMC5mb3VsZWZhY3RvcnkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA5LzI2MDk1NzE2L25vdGUtZGUtZnJhaXMtMi5qcGcNCg==",
"Header": true,
"Separator": ";"
}

Le fichier CSV doit être converti en base 64.

Fichier CSV utilisé dans l’exemple ici.

Retour JSON:

{
"IdCsvFile": 11297,
"IdProject": 11202,
"Url": "https://ffpreproddatauser.blob.core.windows.net/0000002277/f6c7c08555d8499b93f2c007a13ba8c9.csv",
"Normalized": false,
"Header": true,
"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' => "VVJMDQpodHRwOi8vY2RuLjIwMC5mb3VsZWZhY3RvcnkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA5LzI2MDk1NzE2L25vdGUtZGUtZnJhaXMtMi5qcGcNCg==",
'Header' => true,
'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 = "VVJMDQpodHRwOi8vY2RuLjIwMC5mb3VsZWZhY3RvcnkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA5LzI2MDk1NzE2L25vdGUtZGUtZnJhaXMtMi5qcGcNCg==",
Header = true,
Separator = ";"
};
fouleFactory.CsvFiles.CreateCsvFilesCreateCsvFile(csvFile);
}

Rendu coté Fouleur

sample-transcription-note-de-frais

Etape 4 – Récupération des taches

API

Nous allons récupérer nos taches avec la requête GET /projects/{idProject}/tasks
[
{
"IdTask": 37776,
"IdTaskLine": 27831,
"IdSupplier": null,
"IdTaskState": 2,
"IdTaskType": null,
"UpdateDate": "2016-09-26T09:01:08.253",
"CreateDate": "2016-09-26T09:01:07.737",
"TaskAnswer": []
},
{
"IdTask": 37777,
"IdTaskLine": 27831,
"IdSupplier": null,
"IdTaskState": 2,
"IdTaskType": null,
"UpdateDate": "2016-09-26T09:01:08.253",
"CreateDate": "2016-09-26T09:01:07.77",
"TaskAnswer": []
},
{
"IdTask": 37778,
"IdTaskLine": 27831,
"IdSupplier": null,
"IdTaskState": 2,
"IdTaskType": null,
"UpdateDate": "2016-09-26T09:10:14.443",
"CreateDate": "2016-09-26T09:01:07.77",
"TaskAnswer": []
}
]

Nous pouvons voir les réponses 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;
}