Skip to main content

API Partner

Bienvenue dans la documentation de l'API Partner.

Cette API est destinée aux partenaires externes qui souhaitent intégrer leurs systèmes avec notre plateforme.

Authentification OAuth2​

L'API Partner utilise OAuth2 avec le grant type client_credentials.

1. Génération du client OAuth2​

Pour accéder à l'API Partner, vous devez d'abord générer un client OAuth2 depuis la plateforme Tyllt :

  1. Connectez-vous à votre compte Tyllt
  2. Accédez à Intégration et partenariats → Clés API
  3. Cliquez sur Ajouter une clé
  4. Renseignez les informations demandées :
    • Nom de la clé : Un nom descriptif pour identifier votre intégration
  5. Cliquez sur Créer la clé
  6. ⚠️ Important : Notez immédiatement vos identifiants :
    • client_id : L'identifiant de votre client
    • client_secret : Le secret (visible une seule fois)

⚠️ Sécurité Le client_secret ne sera affiché qu'une seule fois. Conservez-le en lieu sûr. Si vous le perdez, vous devrez régénérer un nouveau client OAuth2. ⚠️

2. Obtention d'un token d'accès​

Une fois votre client OAuth2 créé, vous pouvez obtenir un token d'accès en utilisant l'endpoint de login :

Endpoint : POST /api/v1/partner/login

Exemple PHP :

<?php

$clientId = 'votre_client_id';
$clientSecret = 'votre_client_secret';
$apiUrl = 'https://api26.tyllt.com/api/v1/partner/login';

// Préparer les données
$data = [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'grant_type' => 'client_credentials',
'scope' => 'USER'
];

// Initialiser cURL
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json'
]);

// Exécuter la requête
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// Traiter la réponse
if ($httpCode === 200) {
$tokenData = json_decode($response, true);

echo "Token obtenu avec succès !\n";
echo "Access Token: " . $tokenData['access_token'] . "\n";
echo "Token Type: " . $tokenData['token_type'] . "\n";
echo "Expire dans: " . $tokenData['expires_in'] . " secondes\n";

// Stocker le token pour une utilisation future
$accessToken = $tokenData['access_token'];
} else {
echo "Erreur lors de l'authentification: " . $response . "\n";
}

Réponse attendue :

{
"token_type": "Bearer",
"expires_in": 2592000,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}

3. Utilisation du token pour appeler l'API​

Une fois le token obtenu, vous pouvez l'utiliser pour appeler les endpoints de l'API Partner. Exemple : Récupérer les informations du compte (GET /me) Endpoint : GET /api/v1/partner/organisations/{organisationId}/me Exemple PHP :

<?php

$accessToken = 'votre_access_token'; // Token obtenu à l'étape précédente
$organisationId = 'votre_organisation_id';
$apiUrl = "https://api26.tyllt.com/api/v1/partner/organisations/{$organisationId}/me";

// Initialiser cURL
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $accessToken,
'Accept: application/json'
]);

// Exécuter la requête
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// Traiter la réponse
if ($httpCode === 200) {
$partnerData = json_decode($response, true);

echo "Informations du compte partenaire :\n";
echo "ID: " . $partnerData['id'] . "\n";
echo "Nom: " . $partnerData['name'] . "\n";
echo "Statut: " . $partnerData['status'] . "\n";
echo "Environnement: " . $partnerData['environment'] . "\n";
} else {
echo "Erreur lors de la récupération des données: " . $response . "\n";
}

Réponse attendue :

{
"id": "3a7a708a-8fd0-4847-8260-f20786277b17",
"name": "JOHN DOE",
"status": "active",
"environment": "dev"
}

Fonctionnalités disponibles​

L'API Partner vous permet de :

  • ✅ Gérer les demandes de paiement et de caution
  • ✅ Créer et gérer des modèles de demandes
  • ✅ Gérer les demandes d'encaissements

Organisation liée au client OAuth2​

Chaque client OAuth2 est lié à un compte spécifique. Vous n'avez accès qu'aux données de votre compte et de ses comptes enfants s'il en a.

L'organisationId dans les URLs des endpoints doit correspondre à l'id d'un compte auquel le compte ayant le client oauth à accès.

Endpoints disponibles​

Consultez la documentation détaillée des endpoints dans le menu de gauche.