CHANNEL_SEND_ACCOUNT_NOT_FOUND
HTTPHTTP 404
La cuenta de canal del envío (o del comentario) no existe en esta entidad.
Códigos de error · 78 códigos · 2 por retirar · catálogo del 2026-10-21
Todo mensaje que sale a WhatsApp, Messenger, Instagram o correo pasa por ChannelSendService (src/channels/send/). Cada error es un ChannelSendError con code, reason_code, retry_after_seconds y retry_at.
Lo que un código no dice lo hereda de aquí.
code + reason_code). Mensaje fallido: channel_messages.status = 'failed' con error_code / error_json. Render: channel_send_rejected, channel_send_unknown_delivery, channel_send_prepare_failed.reason_code (ver la familia «Motivos de envío»): plantilla si la ventana está cerrada, esperar si es límite, reconectar si la cuenta no puede enviar, corregir el mensaje si está mal armado.CHANNEL_SEND_ACCOUNT_NOT_FOUNDHTTPHTTP 404
La cuenta de canal del envío (o del comentario) no existe en esta entidad.
CHANNEL_SEND_ACCOUNT_REQUIREDHTTPHTTP 400
Falta el número emisor (entity_channel_account_id).
CHANNEL_SEND_ACTOR_REQUIREDHTTPHTTP 400
Un envío de automatización necesita workflow_id y execution_id (o, desde el camino de hoy, su usuario y service_kind).
CHANNEL_SEND_ASSET_INVALIDHTTPHTTP 400
asset_id no reconocido (se espera mlib:<id> u obj:<llave>).
CHANNEL_SEND_ASSET_NOT_FOUNDHTTPHTTP 422
El archivo no existe en esta entidad.
CHANNEL_SEND_ASSET_REQUIREDHTTPHTTP 400
Falta asset_id.
CHANNEL_SEND_AUDIT_UNAVAILABLEHTTPHTTP 409
No se pudo registrar la decisión del envío; el mensaje no sale sin auditoría.
CHANNEL_SEND_AUTH_TEMPLATE_NEEDS_PHONEHTTPHTTP 400
Las plantillas de autenticación exigen el teléfono del destinatario.
CHANNEL_SEND_AUTHZ_DECISION_REQUIREDHTTPHTTP 400
Falta la decisión de autorización (authz_decision_id) del envío.
CHANNEL_SEND_CHANNEL_UNSUPPORTEDHTTPHTTP 400
La salida directa no envía por el tipo de canal de esa cuenta.
CHANNEL_SEND_CLIENT_MESSAGE_ID_REQUIREDHTTPHTTP 400
client_message_id es obligatorio (1–64 caracteres [A-Za-z0-9:_.-]).
CHANNEL_SEND_COMMAND_INVALIDHTTPHTTP 400
Comando de envío inválido.
CHANNEL_SEND_COMMENT_NOT_FOUNDHTTPHTTP 404
El comentario no existe en esta entidad.
CHANNEL_SEND_CONTACT_RATE_LIMITEDHTTPHTTP 429
Tope de envíos automáticos a un mismo contacto (429). Solo corta con CHANNELS_SEND_CONTACT_CAP_MODE=enforce; en modo observar el mensaje sale.
CHANNEL_SEND_CONTENT_REQUIREDHTTPHTTP 400
Falta el contenido.
CHANNEL_SEND_DETACHED_TEXT_ONLYHTTPHTTP 400
Un envío sin chat (mensaje de prueba) solo manda texto.
CHANNEL_SEND_DETACHED_WHATSAPP_ONLYHTTPHTTP 400
Un envío sin chat (mensaje de prueba) solo sale por WhatsApp.
CHANNEL_SEND_EGRESS_CHANGEDHTTPHTTP 409
La salida de este número cambió mientras se enviaba; vuelva a intentarlo.
CHANNEL_SEND_EMAIL_TRANSPORT_UNAVAILABLEHTTPHTTP 409
El envío de correo desde Boost todavía no está disponible.
CHANNEL_SEND_ENTITY_REQUIREDHTTPHTTP 400
Falta la entidad del envío.
CHANNEL_SEND_FAILEDdetalleHTTPHTTP 400HTTP 429HTTP 502
El envío falló. El reason_code y el title dicen por qué (límite de Meta, rechazo, mensaje mal armado); también lo devuelve un reintento con un client_message_id que ya había fallado.
channel_messages.status = 'failed' con error_code y error_json. Render: channel_send_rejected … meta=<n>.CHANNEL_SEND_FALLBACK_TEMPLATE_REQUIREDHTTPHTTP 400
outside_window = fallback_template exige fallback_template.
CHANNEL_SEND_FIELD_INVALIDHTTPHTTP 400
Un campo del mensaje tiene un valor inválido para el canal (p. ej. un botón con URL que no es https). El title dice cuál.
CHANNEL_SEND_FIELD_REQUIREDHTTPHTTP 400
Falta un campo obligatorio del mensaje (p. ej. la reacción sin el mensaje al que responde). El title dice cuál.
CHANNEL_SEND_HUMAN_AGENT_NOT_ALLOWEDHTTPHTTP 403
Solo una persona puede enviar con la etiqueta HUMAN_AGENT.
CHANNEL_SEND_IN_FLIGHTdetalle
Hay un envío en curso (o sin respuesta de Meta) con este client_message_id; no se reenvía.
CHANNEL_SEND_INSTAGRAM_FILE_UNSUPPORTEDHTTPHTTP 400
Se intentó mandar por Instagram un archivo que no es PDF (Word, Excel, zip…). Instagram solo acepta PDF como archivo (además de imagen, video y audio); el envío se niega antes de registrar nada.
comms.send_document por Instagram con un archivo que no es PDF.CHANNEL_SEND_LEGACY_ROUTE_MISMATCHHTTPHTTP 400
El chat no coincide con la ruta resuelta.
CHANNEL_SEND_LIMITS_EXCEEDEDHTTPHTTP 400
El mensaje pasa un límite del canal (largo del texto, cantidad de botones, filas o adjuntos). El title dice cuál.
CHANNEL_SEND_MEDIA_EMPTYHTTPHTTP 409HTTP 422
El archivo vino vacío.
CHANNEL_SEND_MEDIA_LINK_INVALIDHTTPHTTP 400
La media del encabezado no es una URL válida.
CHANNEL_SEND_MEDIA_LINK_NOT_ALLOWEDHTTPHTTP 400
La media del encabezado de la plantilla debe llegar como asset_id o id de Meta, no como URL libre.
CHANNEL_SEND_MEDIA_LINK_UNAVAILABLEHTTPHTTP 422
No se pudo bajar la media que venía como enlace (no responde, no existe o es demasiado grande).
CHANNEL_SEND_MEDIA_NOT_RESOLVEDHTTPHTTP 400
Falta la URL firmada del adjunto.
CHANNEL_SEND_MEDIA_STORAGE_NOT_CONFIGUREDHTTPHTTP 409HTTP 422
El almacenamiento de media no está configurado.
CHANNEL_SEND_MEDIA_TOO_LARGEHTTPHTTP 409HTTP 422
El archivo supera el tamaño que acepta WhatsApp.
CHANNEL_SEND_MEDIA_UPLOAD_NO_IDHTTPHTTP 422
Meta no devolvió el id de la media subida.
CHANNEL_SEND_MEDIA_UPLOAD_UNREACHABLEHTTPHTTP 422
No se pudo subir la media a Meta (red o Meta sin responder). No se envió nada al cliente: reintentar es seguro.
CHANNEL_SEND_MESSAGE_NOT_FAILEDHTTPHTTP 400
Solo se reintenta un mensaje fallido.
CHANNEL_SEND_MESSAGE_NOT_FOUNDHTTPHTTP 404
El mensaje no existe en esta entidad.
CHANNEL_SEND_MESSAGE_NOT_RETRYABLEHTTPHTTP 400
Este mensaje no se puede reintentar desde el chat.
CHANNEL_SEND_PAGE_ID_MISSINGHTTPHTTP 409
La cuenta de Messenger/Instagram no tiene página de Facebook guardada: no puede enviar.
CHANNEL_SEND_PHONE_NUMBER_ID_MISSINGHTTPHTTP 409
La cuenta de WhatsApp no tiene phoneNumberId de Meta guardado: no puede enviar.
CHANNEL_SEND_PHONE_THROUGHPUTHTTPHTTP 429
Se alcanzó el tope de envíos por segundo de este número.
CHANNEL_SEND_PREPARE_FAILEDHTTPHTTP 409
No se pudo preparar el envío.
CHANNEL_SEND_PRINCIPAL_INVALIDHTTPHTTP 400
Tipo de actor desconocido.
CHANNEL_SEND_PRINCIPAL_REQUIREDHTTPHTTP 400
Falta el actor del envío.
CHANNEL_SEND_PROVIDER_ERRORdetalle
Meta rechazó el envío sin un código de error legible; el title lleva el texto de Meta.
CHANNEL_SEND_PROVIDER_RATE_LIMITEDdetalleHTTPHTTP 429
Meta está limitando los envíos de esta cuenta (número, página o WABA). Reintentar antes del tiempo que dice Meta no adelanta nada.
retry_after_seconds (o retry_at); si viene en null, Meta no dijo cuánto y Boost no lo inventa.CHANNEL_SEND_REACTION_TARGET_NOT_FOUNDHTTPHTTP 400
No se encontró el mensaje al que se reacciona.
CHANNEL_SEND_RECIPIENT_INVALIDHTTPHTTP 400
El contacto no tiene un id de Messenger/Instagram válido.
CHANNEL_SEND_RETRY_ROUTE_MISMATCHHTTPHTTP 409
El reintento no corresponde a este chat.
CHANNEL_SEND_TARGET_REQUIREDHTTPHTTP 400
Falta el chat destino.
CHANNEL_SEND_TARGET_UNSUPPORTEDHTTPHTTP 400
Iniciar un chat nuevo todavía no sale por la salida directa.
CHANNEL_SEND_THREAD_ACCOUNT_MISMATCHHTTPHTTP 404
El hilo es de otra cuenta.
CHANNEL_SEND_THREAD_NOT_FOUNDHTTPHTTP 404
No hay un hilo de esta cuenta para ese chat en Messenger/Instagram. La salida directa no crea hilos: solo responde en uno que ya existe. Si la conversación lleva el hilo de otra cuenta (el chat único del contacto suele llevar el de WhatsApp), antes de fallar busca el de esta página por la ruta activa del contacto y por la identidad (PSID/IGSID) del destinatario.
CHANNEL_SEND_TOKEN_UNAVAILABLEHTTPHTTP 409
No se pudo obtener el token de la cuenta desde la bóveda; el mensaje dice el VAULT_* que respondió.
VAULT_SECRET_NOT_FOUND o VAULT_SECRET_EXPIRED, reconectar la cuenta del canal.CHANNEL_SEND_TRANSPORT_DENIEDHTTPHTTP 409
El worker de salida no tiene permitido enviar por esa cuenta (el principal de servicio lo negó).
CHANNEL_SEND_UNKNOWN_DELIVERYdetalleHTTPHTTP 504
Meta no respondió a tiempo y no se sabe si el mensaje salió (504). No se reintenta solo para no duplicar.
CHANNEL_SEND_UNSUPPORTED_CONTENTHTTPHTTP 400
Contenido no soportado por WhatsApp.
CHANNEL_SEND_WABA_MISSINGHTTPHTTP 409
La cuenta de WhatsApp no tiene su WABA guardada: no se pueden usar plantillas.
CHANNEL_SEND_WINDOW_CLOSEDdetalle
Ventana cerrada: el envío se omitió (outside_window = skip).
CHANNEL_TEMPLATES_DIRECT_UNAVAILABLEHTTPHTTP 409
Las plantillas directas a Meta no están disponibles para esta cuenta (409).
CHANNEL_TEMPLATES_MIGRATION_INVALID_WABAHTTPHTTP 400
source_waba_id no es el id numérico de una WABA.
CHANNEL_TEMPLATES_MIGRATION_SAME_WABAHTTPHTTP 400
La WABA de origen es la misma de la cuenta: no hay plantillas que migrar.
CHANNEL_TEMPLATES_PROVIDER_REJECTEDHTTPHTTP 400HTTP 502
Meta rechazó el pedido de plantillas (400 si el pedido está mal, 502 si es de Meta).
CHANNEL_TEMPLATES_PROVIDER_UNAVAILABLEHTTPHTTP 504
Meta no respondió al pedir las plantillas.
CHANNEL_TEMPLATES_RATE_LIMITEDHTTPHTTP 429
Meta está limitando las consultas de plantillas de esta cuenta de WhatsApp. Reintentar antes no adelanta la recuperación.
EMAIL_ATTACHMENT_NOT_AVAILABLEHTTPHTTP 502
No se pudo leer un adjunto del almacenamiento de Boost.
EMAIL_ATTACHMENTS_TOO_LARGEHTTPHTTP 413
Los adjuntos superan 20 MB.
EMAIL_AUTOMATED_THREAD_LIMITHTTPHTTP 429
Tope de correos automáticos por hilo: una automatización (workflow o copiloto) ya mandó CHANNELS_EMAIL_AUTOMATED_PER_THREAD_24H correos (3 por defecto) a ese hilo en 24 h y el siguiente no sale (429, reason_code CONTACT_RATE_LIMITED, retry_after_seconds = cuándo vence el más viejo). No se persiste nada ni se llama a SES. Una persona nunca cuenta ni se frena.
code). La negación queda en authz_decisions (allowed = 0, reason_code = 'CONTACT_RATE_LIMITED', detail.limit_key = 'email_thread_24h').retry_after_seconds: es el candado contra bucles de correo, no una falla. Si el tope es corto para un caso legítimo, se ajusta con la variable, no con código.EMAIL_PROVIDER_REJECTEDHTTPHTTP 400HTTP 502
SES rechazó el correo.
EMAIL_PROVIDER_THROTTLEDHTTPHTTP 429
SES está limitando los envíos; intente más tarde.
EMAIL_TEMPLATE_UNSUPPORTEDHTTPHTTP 400
Las plantillas de correo todavía no salen por Boost; mande el cuerpo.
WHATSAPP_SESSION_EXPIREDdetalleHTTPHTTP 400
La ventana de 24 h de WhatsApp está cerrada (o nunca se abrió): solo se puede enviar una plantilla aprobada.
reason_code: WINDOW_CLOSED. Con outside_window = skip no es error: el envío se omite y viene como error del resultado.WHATSAPP_SESSION_TEMPLATE_COOLDOWNHTTPHTTP 400
Se mandó una plantilla a este contacto hace muy poco: hay que esperar antes de otra (tope de plantillas).
Todavía existen, pero van a desaparecer junto con el camino que los produce. No los uses en código nuevo.
CHANNEL_SEND_EGRESS_NOT_BOOSTHTTPHTTP 409por retirar
La cuenta no sale por Boost (egress_owner distinto de boost): la salida directa no la toca y no tiene otro camino. Hay que pasarla a Boost.
CHANNEL_SEND_LEGACY_ROUTE_REQUIREDHTTPHTTP 400por retirar
La cuenta no está en ingreso boost: el chat, el destinatario y la ventana tienen que venir del camino viejo y no vinieron.
Texto generado desde el catálogo de errores de BoostAPI. Para corregirlo, se cambia allá y se sincroniza: verMantener esta documentación. También enMarkdown.