> ## Documentation Index
> Fetch the complete documentation index at: https://help.treble.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Consultar el estado de una campaña

> Revisa cómo va una campaña enviada a `POST /v2/send-campaign`: si sigue pendiente, ya fue tomada para procesarse, o terminó, junto con el estado de cada despliegue individual en el que se expandió.

<Warning>
  Recuerda que para usar este endpoint, debes haber obtenido tu llave de API en la sección de **Desarrolladores** de la plataforma Treble.
</Warning>

Usa el `launch_request_id` que devuelve [Enviar una campaña](/es/api-reference/endpoints/send-campaign) para saber si sigue `PENDING`, ya fue tomada para procesarse (`CLAIMED`), o terminó (`DONE`) — junto con el estado de cada despliegue individual en el que se expandió.

## Valores del estado del despliegue

Cada elemento de `deployments` tiene su propio `status`, que es `null` hasta que el Conversation Runtime lo toma. De ahí en adelante, pasa por uno de estos valores:

| Estado | Significado |
| - | - |
| `RECEIVED` | El Conversation Runtime recibió el despliegue y está a punto de enviarlo. |
| `RECEIVED_BY_WORKER` | Un worker lo tomó y lo está procesando. |
| `RETRY` | Ocurrió una falla transitoria y el despliegue se está reintentando. |
| `SUCCESS` | El mensaje se envió correctamente (la entrega todavía no ha sido confirmada por WhatsApp). |
| `DELIVERED` | WhatsApp confirmó que el mensaje fue entregado al dispositivo del usuario. |
| `PUSH_NOTIFICATION` (también se ve con el typo `PUSH_NOTIFATION`) | Se envió como notificación push en lugar de un mensaje de WhatsApp. |
| `REVOKED` | El despliegue fue cancelado antes de enviarse. |
| `VALIDATION_ERROR` | Los datos del despliegue no pasaron la validación antes de enviarse. |
| `INVALID_PHONE` | El celular no es válido o no tiene WhatsApp. |
| `INVALID_POLL` | Se intentó enviar una conversación eliminada o desactivada. |
| `MISSING_PARAMETER` | Faltó una variable requerida en la plantilla HSM. |
| `PARAMETER_MISMATCH` | El número de variables enviadas no coincide con las de la plantilla HSM. |
| `CHARACTER_LIMIT_HEADER` | El encabezado de la plantilla HSM excede el límite de caracteres permitido por WhatsApp. |
| `CHARACTER_LIMIT_BODY` | El cuerpo de la plantilla HSM excede el límite de caracteres permitido por WhatsApp. |
| `FAILURE` | El despliegue falló después de 3 reintentos. |
| `FAILURE_BY_HUMAN_HANDOVER` | El usuario se encuentra hablando con un agente, así que no se envió el mensaje automático. |
| `FAILURE_BY_RATE_LIMIT` | Enviar el mensaje habría superado el límite de envíos permitido por WhatsApp. |
| `COMPANY_RATE_LIMIT` | Superó el límite de sesiones configurado por la empresa. |
| `FAILURE_BY_TIER_CAPACITY` | Ninguna línea de WhatsApp tenía capacidad suficiente para hacer el despliegue. |
| `FAILURE_BY_BLOCKED_CONTACT` | El contacto ha sido bloqueado por la empresa. |
| `FAILURE_BY_OPTOUT_CONTACT` | El contacto optó por no recibir más comunicaciones de la empresa. |
| `FAILURE_BY_DISABLED_HSM` | Meta deshabilitó la plantilla HSM que se envió. |
| `FAILURE_BY_SPAM_RATE_LIMIT` | WhatsApp restringió la línea por spam; no puede enviar más mensajes por ahora. |
| `FAILURE_BY_EXPERIMENT_NUMBER` | WhatsApp está usando ese número para experimentos internos, así que el despliegue no pudo realizarse. |
| `FAILURE_BY_META_CHOSE_NOT_DELIVER` | Las heurísticas internas de Meta decidieron no entregar el mensaje. |
| `FAILURE_BY_TEST_CHANNEL` | La línea es un canal de prueba y no puede enviar despliegues reales. |
| `FAILURE_BY_MEDIA_UPLOAD_ERROR` | El archivo multimedia adjunto falló al subirse a WhatsApp. |
| `FAILURE_BY_DEPLOYMENT_LIMIT_REACHED` | La empresa alcanzó su límite de despliegues. |
| `FAILURE_BY_UNABLE_TO_CONTACT` | WhatsApp no pudo contactar al dispositivo del usuario en ese momento — generalmente es temporal. Mira la [explicación completa](/es/docs/meta/error-descriptions/failure-by-unable-to-contact). |
| `FAILURE_BY_PAYMENT_ISSUE` | Meta rechazó el envío de la plantilla por un problema de pago en la cuenta de WhatsApp Business. Mira la [explicación completa](/es/docs/meta/error-descriptions/failure-by-payment-issue). |


## OpenAPI

````yaml open-api-files/treble-api-es.json GET /v2/send-campaign/{launch_request_id}
openapi: 3.0.1
info:
  title: API de Treble Poll
  description: Documentación para el endpoint de despliegue de polls en Treble
  version: 1.0.0
servers:
  - url: https://main.treble.ai
    description: Servidor principal de Treble
  - url: https://tudominio.com
    description: >-
      Servidor de ejemplo para implementar los webhooks. Esto representa TU
      servidor donde debes implementar los endpoints que Treble llamará.
security: []
tags:
  - name: Webhooks
    description: >-
      Endpoints que Treble llamará en tu servidor. Estos no son endpoints reales
      que puedas llamar, sino una representación de los webhooks que Treble
      invocará en tu sistema.
paths:
  /v2/send-campaign/{launch_request_id}:
    servers:
      - url: https://campaign-orchestration.treble.ai
        description: Servidor de Campaign Orchestration
    get:
      summary: Consultar el estado de una campaña
      description: >-
        Revisa cómo va una campaña enviada a `POST /v2/send-campaign`: si sigue
        pendiente, ya fue tomada para procesarse, o terminó, junto con el estado
        de cada despliegue individual en el que se expandió.
      parameters:
        - name: launch_request_id
          in: path
          required: true
          description: El `launch_request_id` que se devolvió al enviar la campaña
          schema:
            type: string
            format: uuid
        - name: Authorization
          in: header
          required: true
          description: Llave de API de autorización
          schema:
            type: string
          example: API_KEY
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  launch_request_id:
                    type: string
                  status:
                    type: string
                    enum:
                      - PENDING
                      - CLAIMED
                      - DONE
                      - FAILED_EXPANSION
                      - FAILED_POLICY
                  poll_id:
                    type: integer
                  deployments:
                    type: array
                    items:
                      type: object
                      properties:
                        conversation_id:
                          type: string
                        treble_id:
                          type: string
                        cellphone:
                          type: string
                        business_scope_id:
                          type: string
                        username:
                          type: string
                        status:
                          type: string
                          enum:
                            - RECEIVED
                            - RECEIVED_BY_WORKER
                            - RETRY
                            - SUCCESS
                            - DELIVERED
                            - FAILURE
                            - FAILURE_BY_HUMAN_HANDOVER
                            - REVOKED
                            - VALIDATION_ERROR
                            - INVALID_PHONE
                            - FAILURE_BY_RATE_LIMIT
                            - COMPANY_RATE_LIMIT
                            - FAILURE_BY_TIER_CAPACITY
                            - MISSING_PARAMETER
                            - PARAMETER_MISMATCH
                            - FAILURE_BY_BLOCKED_CONTACT
                            - FAILURE_BY_OPTOUT_CONTACT
                            - INVALID_POLL
                            - CHARACTER_LIMIT_HEADER
                            - CHARACTER_LIMIT_BODY
                            - FAILURE_BY_DISABLED_HSM
                            - FAILURE_BY_SPAM_RATE_LIMIT
                            - FAILURE_BY_UNABLE_TO_CONTACT
                            - FAILURE_BY_EXPERIMENT_NUMBER
                            - FAILURE_BY_META_CHOSE_NOT_DELIVER
                            - FAILURE_BY_TEST_CHANNEL
                            - FAILURE_BY_MEDIA_UPLOAD_ERROR
                            - FAILURE_BY_DEPLOYMENT_LIMIT_REACHED
                            - FAILURE_BY_PAYMENT_ISSUE
                            - PUSH_NOTIFICATION
                            - PUSH_NOTIFATION
                          nullable: true
                          description: >-
                            null mientras está en cola. Mira el desglose
                            completo de cada valor en esta misma página.
              example:
                launch_request_id: 59d7ef01-4518-444f-816e-1c45c1748974
                status: DONE
                poll_id: 1251072
                deployments:
                  - conversation_id: 671a1a2e2e2e2e2e2e2e2e2e
                    treble_id: abc123
                    cellphone: '3051234567'
                    business_scope_id: null
                    username: null
                    status: SENT
        '404':
          description: No existe una solicitud de lanzamiento con este id para esta empresa
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: >-
                  No existe una solicitud de lanzamiento con este id para esta
                  empresa

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.