Skip to main content

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é