> ## 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.

# Enviar uma campanha (recomendado)

> Esta é a forma recomendada de implantar uma conversa para uma lista de usuários, substituindo o endpoint antigo `/deployment/api/poll/{poll_id}` (descontinuado, deixa de funcionar em 15 de novembro de 2026). O corpo da requisição não muda: só a URL é diferente.

A campanha é enfileirada imediatamente e processada de forma assíncrona — este endpoint responde `202 Accepted` na hora, antes dos usuários terem sido realmente contatados. Use o `status_url` da resposta (ou chame `GET /v2/send-campaign/{launch_request_id}`) para acompanhar o progresso.

<Warning>
  Lembre-se que para usar este endpoint, você deve ter obtido sua chave de API na seção de **Desenvolvedores** da plataforma Treble.
</Warning>

<Info>
  Este endpoint substitui o endpoint antigo [Implantar um fluxo de conversação](/pt/api-reference/endpoints/deploy), que deixará de funcionar em **15 de novembro de 2026**. O corpo da requisição é o mesmo — só a URL muda.
</Info>

## Processamento assíncrono

Este endpoint responde `202 Accepted` assim que a campanha é enfileirada, antes de qualquer usuário ter sido realmente contatado. Use o `status_url` da resposta, ou chame [Consultar o status de uma campanha](/pt/api-reference/endpoints/send-campaign-status), para acompanhar o progresso.

## Selecionar qual número implanta (empresas multicanal)

Para empresas multicanal, você pode selecionar de qual celular o usuário será implantado usando `user_session_keys`. Se você quiser que o primeiro número faça a implantação, basta adicionar a chave `deployment_squad` e o valor correspondente será `DS_[CELLPHONE]`. Você pode adicionar vários *deployment squads* para que vários números possam implantar.

```json theme={null}
"user_session_keys": [
  {
    "key": "deployment_squad",
    "value": "DS_[CELLPHONE]"
  }
]
```


## OpenAPI

````yaml open-api-files/treble-api-pt.json POST /v2/send-campaign/{poll_id}
openapi: 3.0.1
info:
  title: API do Treble Poll
  description: Documentação para o endpoint de implantação de polls no Treble
  version: 1.0.0
servers:
  - url: https://main.treble.ai
    description: Servidor principal do Treble
  - url: https://seudominio.com
    description: >-
      Servidor de exemplo para implementar os webhooks. Isso representa SEU
      servidor onde você deve implementar os endpoints que o Treble chamará.
security: []
tags:
  - name: Webhooks
    description: >-
      Endpoints que o Treble chamará no seu servidor. Estes não são endpoints
      reais que você possa chamar, mas uma representação dos webhooks que o
      Treble invocará no seu sistema.
paths:
  /v2/send-campaign/{poll_id}:
    servers:
      - url: https://campaign-orchestration.treble.ai
        description: Servidor do Campaign Orchestration
    post:
      summary: Enviar uma campanha (recomendado)
      description: >-
        Esta é a forma recomendada de implantar uma conversa para uma lista de
        usuários, substituindo o endpoint antigo
        `/deployment/api/poll/{poll_id}` (descontinuado, deixa de funcionar em
        15 de novembro de 2026). O corpo da requisição não muda: só a URL é
        diferente.


        A campanha é enfileirada imediatamente e processada de forma assíncrona
        — este endpoint responde `202 Accepted` na hora, antes dos usuários
        terem sido realmente contatados. Use o `status_url` da resposta (ou
        chame `GET /v2/send-campaign/{launch_request_id}`) para acompanhar o
        progresso.
      parameters:
        - name: poll_id
          in: path
          required: true
          description: ID do poll que você quer implantar
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          description: >-
            Chave API de autorização. Pode ser obtida em
            https://app.treble.ai/en/dashboard/settings
          schema:
            type: string
          example: API_KEY
      requestBody:
        description: Informações dos usuários para os quais o poll será implantado
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - users
              properties:
                users:
                  type: array
                  description: Lista de usuários para os quais o poll será implantado
                  items:
                    type: object
                    required:
                      - cellphone
                      - country_code
                      - user_session_keys
                    properties:
                      cellphone:
                        type: string
                        description: >-
                          Número de telefone do usuário sem o código do país
                          (por exemplo: '3051234567')
                      country_code:
                        type: string
                        description: 'Código do país com o símbolo + (por exemplo: ''+57'')'
                      user_session_keys:
                        type: array
                        description: >-
                          Variáveis que podem ser substituídas nos textos das
                          perguntas ou entregues quando um webhook é chamado.
                          Para empresas multicanal, pode incluir a chave
                          'deployment_squad' para selecionar qual número de
                          telefone realizará a implantação.
                        items:
                          type: object
                          required:
                            - key
                            - value
                          properties:
                            key:
                              type: string
                              description: >-
                                Nome da variável. Valores especiais incluem
                                'deployment_squad' para selecionar qual número
                                de telefone realizará a implantação em empresas
                                multicanal.
                            value:
                              type: string
                              description: >-
                                Valor da variável. Para 'deployment_squad', o
                                valor deve ser 'DS_[CELLPHONE]'.
                      deployment_eta:
                        type: integer
                        description: >-
                          Timestamp UNIX UTC para agendar a implantação para uma
                          data futura (opcional). Exemplo: 1615823201 (15 de
                          março de 2021, 3:46:41 PM UTC)
            examples:
              Exemplo básico:
                value:
                  users:
                    - cellphone: '3051234567'
                      country_code: '+57'
                      user_session_keys:
                        - key: name
                          value: João
                        - key: TransID
                          value: '12345'
                        - key: schoolname
                          value: Redschool
              Exemplo com deployment_eta:
                value:
                  users:
                    - cellphone: '3051234567'
                      country_code: '+57'
                      user_session_keys:
                        - key: name
                          value: João
                      deployment_eta: 1615823201
              Exemplo com deployment_squad:
                value:
                  users:
                    - cellphone: '3051234567'
                      country_code: '+57'
                      user_session_keys:
                        - key: name
                          value: João
                        - key: deployment_squad
                          value: DS_[CELLPHONE]
      responses:
        '202':
          description: The campaign was queued for processing
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Confirmation message
                  id:
                    type: string
                    description: Poll ID
                  batch_id:
                    type: string
                    description: Idempotency / batch key for this submission
                  launch_request_id:
                    type: string
                    description: ID to track this submission's progress
                  status_url:
                    type: string
                    description: Path to poll for this submission's status
              example:
                message: The campaign was queued
                id: '1251072'
                batch_id: acaab9ea-8754-4d6a-98b1-ace451c7d930
                launch_request_id: 59d7ef01-4518-444f-816e-1c45c1748974
                status_url: /v2/send-campaign/59d7ef01-4518-444f-816e-1c45c1748974
        '400':
          description: Erro na solicitação
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Error description
              example:
                detail: poll_id é obrigatório, na URL ou no corpo
        '401':
          description: >-
            Não autorizado. Chave de API inválida ou ausente, ou token de sessão
            inválido/expirado.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Error description
              example:
                detail: Chave de API inválida
        '404':
          description: Não existe um poll para esta empresa
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Error description
              example:
                detail: Não existe um poll para esta empresa
      deprecated: true

````

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