Tyllt Partner API
Authentification
L'authentification se fait via une clé d'API à passer dans le header X-PARTNER-TOKEN.
DNS : api.tyllt.com
POST Bond Endpoint (/v1/partner/bonds)
Cet endpoint permet de créer une caution.
Exemple en PHP
<?php
declare(strict_types=1);
$curl = curl_init();
$json = [
"product" => [
"amount" => "154", //obligatoire
"remoteCheckInOut" => false,//obligatoire
"reason" => "Je suis la raison",//obligatoire
"name" => "Appartmement",//obligatoire
"reference" => "78956X",
"identityDocuments" => ["identity_card"],
"vigilancePoints" => "Bien vérifier les volets"
],
"bond" => [
"startAt" => '20/09/2021',//obligatoire
"endAt" => '30/09/2021',//obligatoire
"locale" => "fr",//obligatoire (fr ou en)
"sendCheckMail" => false,
"welcomeMessage" => "welcome message", // seulement visible au premier mail de dépôt
"externalUrl" => "",
],
"user" => [ //optional
"email" => "email@feelity.fr",//obligatoire
"firstName" => "John",
"lastName" => "Doe",
"nationality" => "fra",
"birthAt" => "05/09/1998",
"phone" => "0606060606",
"birthCity" => "Bordeaux",
"birthCountry" => "fra",
"street" => "24 avenue",
"postalCode" => "33000",
"city" => "Bordeaux",
"country" => "fra"
]
];
curl_setopt_array($curl, [
CURLOPT_URL => '${DNS}/v1/partner/bonds',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'X-PARTNER-TOKEN: ${PARTNER_TOKEN}',
],
CURLOPT_POSTFIELDS => $json
]);
$response = curl_exec($curl);
curl_close($curl);
Exemple d'une réponse
{
"id": 85
}
Données particulières
- Les champs date doivent être au format = DD/MM/YYYY
- Les champs country, nationality et locale attendent des codes Pays de 3 caractères (codes CIO)
- Le champs identityDocument peut prendre les valeurs suivantes : identity_card, student_card, proof_of_address, resident_permit, driving_license, passport, legal_insurance, rc_resort
GET Bond Endpoint (/v1/partners/bonds/{id}/status)
Cet endpoint permet de récupérer le status d'une caution et une url de téléchargement des documents de l'utilisateurs à partir de l'ID de la caution.
Exemple en PHP
<?php
declare(strict_types=1);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => '${DNS}/v1/partners/bonds/{id}/status',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'X-PARTNER-TOKEN: ${PARTNER_TOKEN}',
],
]);
$response = curl_exec($curl);
curl_close($curl);
Exemple d'une réponse
{
"status": "waiting",
"zipUser": "http://localhost/partner/zip/user/86/8f2c72573ecf9fb08719340201df26c5",
"zipIn": "http://localhost/partner/zip/in/d03738a7-837a-11ec-9943-0242ac120005/55160f9cc4eba3bca7e8ab79e9915b47",
"zipOut": "http://localhost/partner/zip/out/e62fdc17-837a-11ec-9943-0242ac120005/636879cb7b6704e2e4321f57856165f6",
"userMedia": false,
"inMedia": true,
"outMedia": true
}
Les statuts possibles sont les suivants :
- waiting : la caution n'a pas encore été déposée
- in_progress : la caution à été déposée et n'est pas terminée
- cashOut : une demande d’encaissement est en cours
- litigation : Une demande d'encaissement a été refusée
- finish : la caution est terminée
- cancel : la caution a été annulée
Cancel Bond Endpoint (/v1/partners/bonds/{id}/cancel)
Cet endpoint permet d'annuler une caution à partir de l'ID de la caution.
Exemple en PHP
<?php
declare(strict_types=1);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => '${DNS}/v1/partners/bonds/{id}/cancel',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'X-PARTNER-TOKEN: ${PARTNER_TOKEN}',
],
]);
$response = curl_exec($curl);
curl_close($curl);
Réponse
Cette route retourne une réponse 204 si tout s'est bien passé