Saltar al contenido principal

Formato de respuesta

Ejemplo de respuesta Problem. Consulta la referencia del endpoint para conocer su estado HTTP, tipo de contenido y esquema de respuesta:
Lee el esquema de respuesta de la operación que llamas. Cuando sea HTTPValidationError, los detalles están en un array detail; cada entrada contiene loc —dónde—, msg —qué— y type. Otras respuestas 422 documentadas usan Problem y pueden incluir code y extra. No asumas que todas las respuestas 422 tienen el mismo formato.

Interpreta los errores de validación de forma defensiva

Acepta cuerpos de error JSON con application/json o application/problem+json. Comprueba primero el estado HTTP y después revisa el cuerpo:
  1. Si aparece code, usa la entrada correspondiente de esta página para decidir qué hacer.
  2. Si errors es un array, lee sus entradas loc, msg y type como detalles de validación.
  3. Si detail es un array, interprétalo como el formato HTTPValidationError. Un detail de tipo cadena es una explicación, no una lista de errores de campos.
  4. Conserva traceId, el estado y la URL de solicitud para soporte. No exijas la presencia de code o extra ni uses mensajes legibles como identificadores.
Un campo inválido y una regla que relaciona varios campos no tienen por qué compartir el mismo estado. Las reglas del cuerpo saliente revisadas generan 400 con BRIDGE_CORE_0103 cuando consent.status es GRANTED y no se incluye capturedAt, o cuando template.media proporciona ambos o ninguno de mediaId y url. Los tipos de campo o UUID inválidos pueden producir, en cambio, detalles de validación de solicitud con 422. Interpreta juntos el estado y el cuerpo de error; no exijas un array errors para toda solicitud inválida.

Códigos heredados con sufijo

Algunos manejadores de errores heredados añaden un nombre simbólico a code, por ejemplo, BRIDGE_PRELOAD_FILE_0002 | PRELOAD_FILE_IS_PENDING. Conserva el valor recibido completo para registros y soporte. Para consultar el catálogo, acepta un código simple conocido o su forma heredada reconocida explícitamente; no compares title o detail, no inventes un código desconocido ni reescribas el cuerpo de la respuesta. Esta revisión del código fuente no ha confirmado de forma independiente qué versión del manejador está desplegada.
Compatibilidad de validación: algunas respuestas OpenAPI publicadas declaran HTTPValidationError.detail[] y application/json, mientras que el manejador compartido de errores de la API revisado para esta documentación devuelve detalles de validación en Problem.errors[] con application/problem+json. Esta actualización editorial conserva las definiciones de respuesta publicadas. Maneja ambos formatos; sigue pendiente la confirmación contra la API desplegada antes de admitir solo uno en un cliente generado estricto.

Decide si debes reintentar

Esta guía general de reintentos no agrega idempotencia a un endpoint. Para reutilización, recuperación y escrituras parciales, consulta Conversaciones salientes y transferencias de agentes. Custom Connections tiene su propia referencia de errores y no usa una clave de la API REST.

Errores al responder a un mensaje

Para POST .../messages, las comprobaciones revisadas del mensaje al que respondes definen estas formas heredadas adicionales:
  • BRIDGE_MESSAGE_0001 | MESSAGE_NOT_FOUND (404): no se encontró el Message indicado en replyToMessageId.
  • BRIDGE_MESSAGE_0002 | MESSAGE_IS_NOT_ON_CONVERSATION (403): el mensaje al que respondes pertenece a otra Conversation. Usa uno de la Conversation en la que vas a enviar el mensaje.
Conserva code completo, incluido su sufijo simbólico. Estas comprobaciones se refieren al mensaje al que respondes, no al mediaId del archivo adjunto.

Errores de carga de archivos

El flujo de carga revisado define estos códigos heredados. El sufijo forma parte del code recibido, no es un campo de la solicitud. Consulta el contrato de respuesta de la operación y conserva la interpretación compatible anterior. La operación determina qué errores de archivo corresponden: POST .../files comprueba los metadatos y puede devolver los códigos 0003 o 0004 de abajo. POST .../messages puede devolver 0001 o 0002 cuando el mediaId de un adjunto no existe o sigue pendiente. Los archivos de las plantillas salientes tienen su propio manejo de errores; no sustituyas BRIDGE_AI_LEADSCOUT_0016 por estos códigos.

Códigos de error de agentes

Errores de las operaciones de agentes. POST .../agents/{agentId}/outbound devuelve 0001 y 0004 como 404, 0002 y 0006 como 409, y 0003 y 0005 como 422.
  • 0002: el agente está en borrador o no tiene una línea. extra.reason indica la causa; esa misma causa aparece en unavailableReason en GET .../agents.
  • 0006: la conversación del contacto en la línea seleccionada por la solicitud está controlada por otro agente o por un usuario de Bridge. No se envió nada. Libérala con POST .../conversations/{conversationId}/release, usando extra.conversationId, y vuelve a intentar. extra también incluye channelId y, solo si la controla un agente, controllingAgentId, que identifica a ese agente. Cuando la controla un usuario de Bridge, la clave no aparece; no se devuelve null.
GET .../agents devuelve 0007 como 400 cuando el cursor está mal formado o se emitió para otro espacio de trabajo. Empieza otra vez sin cursor. Conserva el mismo filtro type durante la paginación: un cursor emitido con un filtro type se rechaza si la solicitud usa otro type.

Otros códigos de POST .../agents/{agentId}/outbound

En POST .../agents/{agentId}/outbound, los errores 5xx no incluyen code ni extra.

Códigos de error de LeadScout

Códigos adicionales documentados para iniciar una conversación saliente de LeadScout mediante POST .../leadscout/outbound:

Códigos de error de marcas

Errores de comprobación de marcas al crear una conversación. Se devuelve como 400. Envía brandId o providerChannelId para cada participante externo; extra.resources enumera los participantes que no tenían ninguno de los dos.

Códigos de error de conversaciones

Errores de las operaciones de conversaciones. Al crear una conversación, BRIDGE_CONVERSATION_0105 devuelve 409 con extra.reason igual a PARTICIPANTS_MISMATCH: una conversación liberada ocupa la línea del contacto con otros contactos o líneas. Solicita los mismos contactos y líneas o usa otra línea. BRIDGE_CONVERSATION_0601 devuelve 404, 0602 y 0603 devuelven 400, y 0604 a 0608 devuelven 422. Consulta Parámetros de plantillas de inicio para saber qué incluye cada uno en extra y cómo corregirlo.

Códigos de error de usuarios externos

Errores de las operaciones de usuarios externos o contactos.

Códigos de error de usuarios internos

Errores de las operaciones de usuarios internos.

Códigos de error de canales de proveedor

Errores de las operaciones de canales de proveedor. Al crear una conversación, este código se devuelve como 409 cuando no hay una línea de WhatsApp libre para un contacto ni una conversación liberada que recuperar, o cuando el providerChannelId indicado no está disponible para ese contacto.

Códigos de error de límites de solicitudes

Errores devueltos cuando un espacio de trabajo supera su presupuesto de solicitudes. Consulta el presupuesto, los encabezados y un cliente que regula su ritmo en Límites de solicitudes. Este es el único código que debe reintentarse automáticamente, y solo después de la espera indicada por Retry-After. Los fallos de autenticación no son errores de límite de solicitudes y reintentarlos de forma programada no los resolverá.

Códigos de error de solicitudes

Errores devueltos antes de ejecutar una operación cuando la propia solicitud no se puede procesar. Consulta en el Registro de cambios los parámetros que un endpoint dejará de aceptar. No reintentes ninguno de estos casos sin hacer cambios. detail describe el problema y, cuando es posible, indica el campo o parámetro incorrecto; la misma solicitud fallará igual hasta que la modifiques.

Códigos de error de plantillas

Errores de las operaciones de plantillas. GET .../templates/{templateId} lo devuelve como 404 cuando el ID o nombre no coincide con una plantilla de WhatsApp de tu espacio de trabajo.

Códigos de error de espacios de trabajo

Errores de las operaciones de espacios de trabajo.