Referencia
Errores
Cada error tiene un código fijo, un estado HTTP y un indicador que dice si volver a intentarlo puede servir. Ramifica por error_code y retryable, no por el texto del mensaje.
La estructura del error
Una solicitud fallida devuelve un objeto JSON con el estado HTTP del error. El texto de error es una frase fija en inglés rellenada con valores tipados; nunca contiene texto de otros sistemas.
{
"error": "Minimum quantity is 100",
"error_code": "MINIMUM_QUANTITY",
"retryable": false,
"details": {
"n": 100
}
}Campos del error
errorstring- Un mensaje fijo en inglés para las personas. Los scripts antiguos que solo leen
errorsiguen funcionando. error_codestring- El código de error de la lista de abajo. Seguro para ramificar.
retryablebooleantruecuando enviar de nuevo la misma solicitud más tarde puede funcionar.detailsobject- Los valores rellenados en el mensaje, por nombre, como
param,rule,notime. Presente solo cuando hay alguno. retry_afterinteger- Segundos que esperar antes de volver a intentarlo. Presente cuando se conoce la espera, y reflejado en la cabecera
Retry-After.
Estados HTTP
Estos son los estados que usa la API. Las frases de motivo HTTP son nombres de protocolo y se quedan en inglés.
- 400
Bad Request
La solicitud no es válida. Corrígela antes de enviarla de nuevo.
- 401
Unauthorized
La clave API no es válida.
- 402
Payment Required
El saldo de la billetera es demasiado bajo.
- 403
403
La cuenta no puede usar la API en este momento.
- 404
Not Found
No se encontró el servicio, el pedido, la reposición o el webhook.
- 405
405
Solo se acepta POST.
- 409
Conflict
La solicitud entra en conflicto con el estado de un servicio, un pedido o un ID de solicitud anterior.
- 410
410
El servicio se ha descontinuado.
- 413
413
El cuerpo de la solicitud es demasiado grande.
- 429
Too Many Requests
Se alcanzó un límite de tasa. Espera y vuelve a intentarlo.
- 500
500
Un fallo por nuestra parte. Repetir la solicitud es seguro.
- 503
503
La API o los pedidos están en pausa durante un breve tiempo. Espera según Retry-After.
Reintentar de forma segura
Cuando retryable es true, espera retry_after o la cabecera Retry-After, añade algo de variación aleatoria y envía la solicitud de nuevo. Cuando es false, cambia primero la solicitud. Si una llamada a add agota el tiempo de espera o falla con INTERNAL_ERROR, envíala de nuevo con el mismo request_id (hasta 128 caracteres): recuperas el pedido original, nunca un segundo.
Ejemplos
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"
}
}Todos los códigos de error
El mensaje es la plantilla fija; sus marcadores se rellenan a partir de details. Cada código muestra su estado HTTP y si reintentar puede servir.
Solicitud y cuenta
- 401
INVALID_KEY
Invalid API keyLa clave falta, es incorrecta o está revocada. Corrige primero la solicitud.
- 405
METHOD_NOT_ALLOWED
Use POSTLa solicitud no era un POST. Corrige primero la solicitud.
- 413
BODY_TOO_LARGE
Request body too largeEl cuerpo de la solicitud es demasiado grande. Corrige primero la solicitud.
- 400
INVALID_ACTION
Invalid actionLa acción no es una de las acciones documentadas. Corrige primero la solicitud.
- 400
MISSING_PARAMETER
Missing required parameter: {param}Falta un parámetro obligatorio. details.param lo indica. Corrige primero la solicitud.
- 400
INVALID_PARAMETER
Invalid {param}: {rule}Un parámetro tiene un valor no válido. details.param y details.rule indican cuál y por qué. Corrige primero la solicitud.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestUna lista contiene más ID de los que puede llevar una solicitud. Corrige primero la solicitud.
- 403
INACTIVE_ACCOUNT
Account suspendedLa cuenta está suspendida. Corrige primero la solicitud.
- 403
EMAIL_UNVERIFIED
Email verification requiredEl correo electrónico de la cuenta aún no está verificado. Corrige primero la solicitud.
Disponibilidad y límites
- 503
API_DISABLED
The API is temporarily disabledLa API está desactivada durante un breve tiempo. Retry-After indica cuándo volver a intentarlo. Reintentar puede servir.
- 429
API_RATE_LIMITED
Rate limit exceededSe alcanzó un límite de tasa. Consulta Límites de tasa. Reintentar puede servir.
- 500
INTERNAL_ERROR
Internal server errorAlgo falló por nuestra parte. Repetir un add con el mismo request_id es seguro. Reintentar puede servir.
Servicios y creación de pedidos
- 404
SERVICE_NOT_FOUND
Service not foundNingún servicio tiene este ID o no está disponible para ti. Corrige primero la solicitud.
- 410
SERVICE_DISCONTINUED
Service has been discontinuedEl servicio se ha descontinuado. Corrige primero la solicitud.
- 409
SERVICE_PAUSED
Service is temporarily unavailableEl servicio está en pausa por ahora. Inténtalo más tarde. Reintentar puede servir.
- 503
ORDER_PLACEMENT_PAUSED
Ordering is temporarily pausedLos pedidos están en pausa para todos durante un breve tiempo. Retry-After indica cuándo volver a intentarlo. Reintentar puede servir.
- 400
INVALID_LINK
Link is invalid for this serviceEl enlace no encaja con este servicio. Corrige primero la solicitud.
- 400
LINK_BLOCKED
This link is blocked. Contact support if this is a mistake.El enlace está bloqueado. Contacta con soporte si crees que es un error. Corrige primero la solicitud.
- 409
LINK_BUSY
An order for this link is still running. Wait until it finishes.Un pedido anterior para este enlace sigue en curso. Espera a que termine. Reintentar puede servir.
- 400
MINIMUM_QUANTITY
Minimum quantity is {n}La cantidad es inferior al mínimo del servicio. Corrige primero la solicitud.
- 400
MAXIMUM_QUANTITY
Maximum quantity is {n}La cantidad supera el máximo del servicio. Corrige primero la solicitud.
- 400
QUANTITY_STEP
Quantity must be a multiple of {step}La cantidad no es múltiplo del paso del servicio. Corrige primero la solicitud.
- 400
QUANTITY_MISMATCH
quantity must equal the number of items in {param} ({count})La cantidad no coincide con el número de elementos de una lista o de un campo de reacciones. Corrige primero la solicitud.
- 400
MINIMUM_ORDER_AMOUNT
Minimum order amount is ${amount}El pedido vale menos que el importe mínimo de pedido. Corrige primero la solicitud.
- 402
INSUFFICIENT_BALANCE
Insufficient balanceEl saldo de la billetera es inferior al cargo. Corrige primero la solicitud.
- 400
INVALID_OPTION
Invalid {param}: {rule}Un campo adicional tiene un valor no válido. details.param y details.rule indican cuál y por qué. Corrige primero la solicitud.
- 400
OPTION_NOT_SUPPORTED
This service does not accept {param}El servicio no admite un campo que enviaste. Corrige primero la solicitud.
- 400
DRIP_FEED_NOT_AVAILABLE
Drip-feed is not available for this serviceEl servicio no tiene drip feed, o no lo tiene para esta cantidad. Corrige primero la solicitud.
- 400
DRIP_FEED_CONFLICT
Send runs and interval, or drip_feed_total_minutes, not bothSe enviaron las dos formas de drip feed en una misma solicitud. Corrige primero la solicitud.
- 400
DRIP_FEED_INVALID
{rule}Los valores de drip feed no encajan con los límites. El mensaje indica qué límite. Corrige primero la solicitud.
- 429
ORDER_LIMIT_REACHED
Too many orders. Try again later.Se hicieron o están abiertos demasiados pedidos a la vez. Inténtalo de nuevo más tarde. Reintentar puede servir.
- 409
SERVICE_CHANGED
Service settings changed while placing the order. Retry.La configuración del servicio cambió mientras se hacía el pedido. Envía la solicitud de nuevo. Reintentar puede servir.
- 409
REQUEST_ID_CONFLICT
request_id was already used with different parametersEste request_id ya creó un pedido con parámetros distintos. Corrige primero la solicitud.
Pedidos y cancelación
- 404
ORDER_NOT_FOUND
Order not foundNingún pedido con este número pertenece a tu cuenta. Corrige primero la solicitud.
- 409
ORDER_FINISHED
Order is already {status}El pedido ya ha terminado. Corrige primero la solicitud.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderNo es posible cancelar este pedido. Corrige primero la solicitud.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.Se rechazó la solicitud de cancelación. Puedes volver a pedirlo pasado el tiempo de details.time. Reintentar puede servir.
Reposiciones
- 409
REFILL_NOT_AVAILABLE
Refill is not available for this orderNo es posible reponer este pedido. Corrige primero la solicitud.
- 409
REFILL_NOT_COMPLETED
Refill is available after the order is completedLa reposición es posible cuando el pedido esté completado. Reintentar puede servir.
- 409
REFILL_COOLDOWN
You can request a refill again after {time}Se solicitó hace poco una reposición para este pedido. Inténtalo de nuevo después de details.time. Reintentar puede servir.
- 409
REFILL_ALREADY_PENDING
A refill request is already in progress for this orderYa hay una reposición en curso para este pedido. Reintentar puede servir.
- 404
REFILL_NOT_FOUND
Refill not foundNinguna reposición con este ID pertenece a tu cuenta. Corrige primero la solicitud.
Webhooks
- 409
WEBHOOK_LIMIT
Maximum {limit} webhook endpoints per accountLa cuenta ya tiene el número máximo de endpoints de webhook. Corrige primero la solicitud.
- 404
WEBHOOK_NOT_FOUND
Webhook not foundNo existe en tu cuenta ningún endpoint de webhook con este ID. Corrige primero la solicitud.
- 400
INVALID_WEBHOOK_URL
Invalid webhook URLLa URL no es una dirección https pública. Corrige primero la solicitud.