Référence
Erreurs
Chaque erreur a un code fixe, un statut HTTP et un indicateur qui dit si réessayer peut aider. Branchez sur error_code et retryable, pas sur le texte du message.
La forme de l'erreur
Une requête en échec renvoie un objet JSON avec le statut HTTP de l'erreur. Le texte de error est une phrase anglaise fixe remplie avec des valeurs typées ; il ne contient jamais de texte provenant d'autres systèmes.
{
"error": "Minimum quantity is 100",
"error_code": "MINIMUM_QUANTITY",
"retryable": false,
"details": {
"n": 100
}
}Champs de l'erreur
errorstring- Un message anglais fixe pour les personnes. Les anciens scripts qui ne lisent que
errorcontinuent de fonctionner. error_codestring- Le code d'erreur de la liste ci-dessous. Sûr pour brancher.
retryablebooleantruelorsque renvoyer la même requête plus tard peut réussir.detailsobject- Les valeurs insérées dans le message, par nom, comme
param,rule,noutime. Présent seulement s'il y en a. retry_afterinteger- Secondes à attendre avant de réessayer. Présent lorsque l'attente est connue, et repris dans l'en-tête
Retry-After.
Statuts HTTP
Voici les statuts qu'utilise l'API. Les libellés HTTP sont des noms de protocole et restent en anglais.
- 400
Bad Request
La requête n'est pas valide. Corrigez-la avant de la renvoyer.
- 401
Unauthorized
La clé API n'est pas valide.
- 402
Payment Required
Le solde du portefeuille est trop bas.
- 403
403
Le compte ne peut pas utiliser l'API pour le moment.
- 404
Not Found
Le service, la commande, la recharge ou le webhook est introuvable.
- 405
405
Seul POST est accepté.
- 409
Conflict
La requête entre en conflit avec l'état d'un service, d'une commande ou d'un ID de requête précédent.
- 410
410
Le service a été abandonné.
- 413
413
Le corps de la requête est trop volumineux.
- 429
Too Many Requests
Une limite de débit a été atteinte. Attendez, puis réessayez.
- 500
500
Un incident de notre côté. Répéter la requête est sans risque.
- 503
503
L'API ou les commandes sont suspendues pour un court moment. Attendez selon Retry-After.
Réessayer sans risque
Lorsque retryable vaut true, attendez retry_after ou l'en-tête Retry-After, ajoutez une petite variation aléatoire, puis renvoyez la requête. Lorsqu'il vaut false, modifiez d'abord la requête. Si un appel à add expire ou échoue avec INTERNAL_ERROR, renvoyez-le avec le même request_id (jusqu'à 128 caractères) : vous récupérez la commande d'origine, jamais une deuxième.
Exemples
key=YOUR_API_KEY&action=add&service=7&link=https://instagram.com/example&quantity=10{
"error": "Minimum quantity is 100",
"error_code": "MINIMUM_QUANTITY",
"retryable": false,
"details": {
"n": 100
}
}key=YOUR_API_KEY&action=add&service=7&link=https://instagram.com/example&quantity=10000{
"error": "Insufficient balance",
"error_code": "INSUFFICIENT_BALANCE",
"retryable": false
}key=YOUR_API_KEY&action=balance{
"error": "Rate limit exceeded",
"error_code": "API_RATE_LIMITED",
"retryable": true,
"retry_after": 12
}key=YOUR_API_KEY&action=add&link=https://instagram.com/example&quantity=100{
"error": "Missing required parameter: service",
"error_code": "MISSING_PARAMETER",
"retryable": false,
"details": {
"param": "service"
}
}Tous les codes d'erreur
Le message est le modèle fixe ; ses marqueurs sont remplis à partir de details. Chaque code affiche son statut HTTP et indique si réessayer peut aider.
Requête et compte
- 401
INVALID_KEY
Invalid API keyLa clé est absente, erronée ou révoquée. Corrigez d'abord la requête.
- 405
METHOD_NOT_ALLOWED
Use POSTLa requête n'était pas un POST. Corrigez d'abord la requête.
- 413
BODY_TOO_LARGE
Request body too largeLe corps de la requête est trop volumineux. Corrigez d'abord la requête.
- 400
INVALID_ACTION
Invalid actionL'action ne fait pas partie des actions documentées. Corrigez d'abord la requête.
- 400
MISSING_PARAMETER
Missing required parameter: {param}Un paramètre obligatoire est manquant. details.param le désigne. Corrigez d'abord la requête.
- 400
INVALID_PARAMETER
Invalid {param}: {rule}Un paramètre a une valeur invalide. details.param et details.rule indiquent lequel et pourquoi. Corrigez d'abord la requête.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestUne liste contient plus d'ID qu'une requête ne peut en porter. Corrigez d'abord la requête.
- 403
INACTIVE_ACCOUNT
Account suspendedLe compte est suspendu. Corrigez d'abord la requête.
- 403
EMAIL_UNVERIFIED
Email verification requiredL'adresse e-mail du compte n'est pas encore vérifiée. Corrigez d'abord la requête.
Disponibilité et limites
- 503
API_DISABLED
The API is temporarily disabledL'API est désactivée pour un court moment. Retry-After indique quand réessayer. Réessayer peut aider.
- 429
API_RATE_LIMITED
Rate limit exceededUne limite de débit a été atteinte. Voir Limites de débit. Réessayer peut aider.
- 500
INTERNAL_ERROR
Internal server errorUn incident est survenu de notre côté. Répéter un add avec le même request_id est sans risque. Réessayer peut aider.
Services et passage de commande
- 404
SERVICE_NOT_FOUND
Service not foundAucun service n'a cet ID, ou il n'est pas disponible pour vous. Corrigez d'abord la requête.
- 410
SERVICE_DISCONTINUED
Service has been discontinuedLe service a été abandonné. Corrigez d'abord la requête.
- 409
SERVICE_PAUSED
Service is temporarily unavailableLe service est en pause pour le moment. Réessayez plus tard. Réessayer peut aider.
- 503
ORDER_PLACEMENT_PAUSED
Ordering is temporarily pausedLes commandes sont suspendues pour tout le monde pour un court moment. Retry-After indique quand réessayer. Réessayer peut aider.
- 400
INVALID_LINK
Link is invalid for this serviceLe lien ne convient pas à ce service. Corrigez d'abord la requête.
- 400
LINK_BLOCKED
This link is blocked. Contact support if this is a mistake.Le lien est bloqué. Contactez le support si vous pensez qu'il s'agit d'une erreur. Corrigez d'abord la requête.
- 409
LINK_BUSY
An order for this link is still running. Wait until it finishes.Une commande précédente pour ce lien est encore en cours. Attendez qu'elle se termine. Réessayer peut aider.
- 400
MINIMUM_QUANTITY
Minimum quantity is {n}La quantité est inférieure au minimum du service. Corrigez d'abord la requête.
- 400
MAXIMUM_QUANTITY
Maximum quantity is {n}La quantité est supérieure au maximum du service. Corrigez d'abord la requête.
- 400
QUANTITY_STEP
Quantity must be a multiple of {step}La quantité n'est pas un multiple du pas du service. Corrigez d'abord la requête.
- 400
QUANTITY_MISMATCH
quantity must equal the number of items in {param} ({count})La quantité ne correspond pas au nombre d'éléments d'une liste ou d'un champ de réactions. Corrigez d'abord la requête.
- 400
MINIMUM_ORDER_AMOUNT
Minimum order amount is ${amount}La commande vaut moins que le montant minimal de commande. Corrigez d'abord la requête.
- 402
INSUFFICIENT_BALANCE
Insufficient balanceLe solde du portefeuille est inférieur au montant à débiter. Corrigez d'abord la requête.
- 400
INVALID_OPTION
Invalid {param}: {rule}Un champ supplémentaire a une valeur invalide. details.param et details.rule indiquent lequel et pourquoi. Corrigez d'abord la requête.
- 400
OPTION_NOT_SUPPORTED
This service does not accept {param}Le service n'accepte pas un champ que vous avez envoyé. Corrigez d'abord la requête.
- 400
DRIP_FEED_NOT_AVAILABLE
Drip-feed is not available for this serviceLe service n'a pas d'alimentation progressive, ou aucune pour cette quantité. Corrigez d'abord la requête.
- 400
DRIP_FEED_CONFLICT
Send runs and interval, or drip_feed_total_minutes, not bothLes deux formes d'alimentation progressive ont été envoyées dans une même requête. Corrigez d'abord la requête.
- 400
DRIP_FEED_INVALID
{rule}Les valeurs d'alimentation progressive ne respectent pas les limites. Le message indique quelle limite. Corrigez d'abord la requête.
- 429
ORDER_LIMIT_REACHED
Too many orders. Try again later.Trop de commandes ont été passées ou sont ouvertes en même temps. Réessayez plus tard. Réessayer peut aider.
- 409
SERVICE_CHANGED
Service settings changed while placing the order. Retry.Les paramètres du service ont changé pendant la commande. Renvoyez la requête. Réessayer peut aider.
- 409
REQUEST_ID_CONFLICT
request_id was already used with different parametersCe request_id a déjà créé une commande avec des paramètres différents. Corrigez d'abord la requête.
Commandes et annulation
- 404
ORDER_NOT_FOUND
Order not foundAucune commande portant ce numéro n'appartient à votre compte. Corrigez d'abord la requête.
- 409
ORDER_FINISHED
Order is already {status}La commande est déjà terminée. Corrigez d'abord la requête.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderL'annulation n'est pas possible pour cette commande. Corrigez d'abord la requête.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.La demande d'annulation a été refusée. Vous pouvez redemander après le délai indiqué dans details.time. Réessayer peut aider.
Recharges
- 409
REFILL_NOT_AVAILABLE
Refill is not available for this orderLa recharge n'est pas possible pour cette commande. Corrigez d'abord la requête.
- 409
REFILL_NOT_COMPLETED
Refill is available after the order is completedLa recharge est possible une fois la commande terminée. Réessayer peut aider.
- 409
REFILL_COOLDOWN
You can request a refill again after {time}Une recharge a été demandée récemment pour cette commande. Réessayez après details.time. Réessayer peut aider.
- 409
REFILL_ALREADY_PENDING
A refill request is already in progress for this orderUne recharge est déjà en cours pour cette commande. Réessayer peut aider.
- 404
REFILL_NOT_FOUND
Refill not foundAucune recharge portant cet ID n'appartient à votre compte. Corrigez d'abord la requête.
Webhooks
- 409
WEBHOOK_LIMIT
Maximum {limit} webhook endpoints per accountLe compte a déjà le nombre maximal de points de terminaison webhook. Corrigez d'abord la requête.
- 404
WEBHOOK_NOT_FOUND
Webhook not foundAucun point de terminaison webhook portant cet ID n'existe sur votre compte. Corrigez d'abord la requête.
- 400
INVALID_WEBHOOK_URL
Invalid webhook URLL'URL n'est pas une adresse https publique. Corrigez d'abord la requête.