Errores
Todos los errores llevan la misma forma. Programa contra code, que no cambia; message es para quien lee el log.
{ "error": { "code": "validation_failed", "message": "The request body is not valid.", "details": [{ "field": "order.shopify_order_id", "message": "Required: an Order gid or its numeric id." }] }}Autenticación
Sección titulada «Autenticación»| Código | HTTP | Qué pasó | Qué hacer |
|---|---|---|---|
missing_api_key |
401 | Falta Authorization. |
Manda Bearer rvw_live_…. |
invalid_api_key |
401 | La llave no existe, se revocó o la tienda desinstaló la app. | Crea otra en Canales. |
missing_signature |
401 | Falta X-Signature o X-Timestamp. |
Ver la firma. |
timestamp_out_of_range |
401 | X-Timestamp no está en segundos o tiene más de 5 minutos de diferencia. |
Sincroniza tu reloj (NTP). |
invalid_signature |
401 | La firma no coincide. | Firma el body exacto que mandas, con el secreto de esa llave. |
insufficient_scope |
403 | La llave no tiene el permiso. details dice cuál hace falta. |
Usa una llave con más alcance. |
plan_required |
403 | La API es del plan Pro. | Cambia de plan desde la app. |
rate_limited |
429 | Más de 120 peticiones en un minuto. | Espera lo que dice Retry-After. |
La petición
Sección titulada «La petición»| Código | HTTP | Qué pasó |
|---|---|---|
invalid_json |
400 | El body no es JSON. |
validation_failed |
422 | Un campo no sirve. details trae cada campo con su error. Con 413, el body pasó del tamaño máximo. |
method_not_allowed |
405 | Esa ruta no acepta ese método. |
idempotency_key_reused |
422 | La Idempotency-Key ya se usó con otro body. |
idempotency_in_progress |
409 | Otra petición con la misma Idempotency-Key sigue en curso. Reintenta en un momento. |
Pedidos y solicitudes
Sección titulada «Pedidos y solicitudes»| Código | HTTP | Qué pasó |
|---|---|---|
not_found |
404 | No hay nada con ese id en esta tienda. |
order_not_found |
404 | Shopify no devuelve esa orden en esta tienda. Revisa el id. |
order_cancelled |
422 | La orden está cancelada. |
no_reviewable_products |
422 | La orden no tiene productos que reseñar. |
request_closed |
409 | La solicitud ya está contestada, vencida o cancelada. details.status dice cuál. |
invalid_state |
409 | El cambio no se puede en el estado actual (por ejemplo, enviar ahora una ya enviada). |
Reseñas
Sección titulada «Reseñas»| Código | HTTP | Qué pasó |
|---|---|---|
product_not_found |
422 | Ningún producto de la tienda coincide. Un SKU repetido en dos productos también da este error. |
product_not_in_order |
422 | El producto no está en esa orden. |
review_exists |
409 | Esa orden ya tiene reseña de ese producto. details trae su id. |
duplicate_in_batch |
— | Solo en la importación en lote: la misma reseña viene antes en el lote. |
Del servidor
Sección titulada «Del servidor»| Código | HTTP | Qué hacer |
|---|---|---|
shop_unavailable |
503 | La tienda no tiene sesión activa con la app. Reintenta más tarde. |
internal_error |
500 | Un error nuestro. Reintenta; si sigue, escríbenos a contacto@leadit.tech. |