Documentation développeur
Une API HTTP/JSON universelle pour créer et suivre vos Promotions Réseaux Sociaux Dressur.
Base et authentification
Base URL : https://dressur.site. Ajoutez cet en-tête à chaque requête :
Authorization: Bearer drk_demo_key.demo_secret
Accept: application/json
Le token ci-dessus est fictif. Ne partagez jamais une clé réelle. Le secret complet est affiché uniquement lors de la création de la clé.
Catalogue
GET /api/v1/developer/catalog retourne les formules disponibles, les quantités min/max, le prix calculé pour votre profil et si les commentaires sont requis.
price est le montant correspondant à une quantité de référence de 1 000 unités. Pour une autre quantité, appliquez la règle de trois :
montant = price × quantité souhaitée ÷ 1 000, puis utilisez le montant obtenu en respectant les bornes minimumQuantity et maximumQuantity. Le champ referenceQuantity est renvoyé pour confirmer la base tarifaire utilisée.
GET /api/v1/developer/catalog HTTP/1.1
Host: dressur.site
Authorization: Bearer drk_demo_key.demo_secret
{
"error": false,
"services": [{
"id": 12,
"title": "Instagram : Engagement",
"referenceQuantity": 1000,
"minimumQuantity": 100,
"price": 1500,
"currency": "XOF",
"commentsRequired": true
}]
}
Solde et création d’une commande
GET /api/v1/developer/balance retourne le solde commun soldeDressur. Pour créer une commande, envoyez du JSON à POST /api/v1/developer/orders et rendez l’en-tête Idempotency-Key obligatoire.
POST /api/v1/developer/orders HTTP/1.1
Host: dressur.site
Authorization: Bearer drk_demo_key.demo_secret
Content-Type: application/json
Idempotency-Key: commande-client-2026-0001
{
"formuleId": 12,
"quantity": 500,
"link": "https://www.example.com/publication/123",
"comments": ["Très bon contenu", "À découvrir"]
}
Le serveur recalcule le prix, applique le prix vendeur si votre compte possède ce statut et duplique cycliquement les lignes de commentaires jusqu’à la quantité demandée. Le nombre de commentaires envoyé ne peut pas dépasser la quantité.
Pour une commande, quantity représente la quantité réellement souhaitée. Le montant est donc calculé à partir du prix catalogue pour 1 000 unités : price × quantity ÷ 1 000. Par exemple, un prix de 1 500 XOF pour 1 000 unités correspond à 750 XOF pour 500 unités, avant l’arrondi appliqué par le serveur.
Une clé réutilisée avec le même contenu rejoue la même réponse. La même clé avec un contenu différent est refusée.
Réponses et erreurs
| HTTP | Signification |
|---|---|
201 | Commande créée et débitée après confirmation du service. |
402 | Solde Dressur insuffisant : aucune commande, aucun débit et aucun appel de service ne sont effectués. |
409 | La même clé d’idempotence est déjà en cours de finalisation. |
429 | Limite de polling atteinte. Respectez Retry-After et nextCheckAt. |
503 | Service momentanément indisponible. Le détail technique n’est jamais exposé. |
Historique et statut
GET /api/v1/developer/orders liste vos commandes. GET /api/v1/developer/orders/{reference} retourne une commande précise.
Pour le polling, utilisez GET /api/v1/developer/orders/{reference}/status. Dressur met en cache le résultat au moins 15 secondes et renvoie notamment status, nextCheckAt et retryAfter. N’interrogez pas plus souvent que le délai indiqué.
GET /api/v1/developer/orders/pr_0123456789abcdef01234567/status HTTP/1.1
Host: dressur.site
Authorization: Bearer drk_demo_key.demo_secret
{
"error": false,
"order": {
"reference": "pr_0123456789abcdef01234567",
"status": "in_progress",
"nextCheckAt": "2026-08-27T12:00:15+00:00",
"retryAfter": 15,
"isFinal": false
}
}
Statuts groupés
POST /api/v1/developer/orders/status-batch accepte au maximum 50 références appartenant à votre compte.
POST /api/v1/developer/orders/status-batch HTTP/1.1
Host: dressur.site
Authorization: Bearer drk_demo_key.demo_secret
Content-Type: application/json
{"references":["pr_0123456789abcdef01234567","pr_abcdef0123456789abcdef01"]}
Le polling est limité par clé, par compte et par adresse IP. En cas de 429, attendez avant de réessayer et utilisez de préférence le batch.