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

# Criar tronco SIP

> Crie um novo tronco SIP com credenciais, endereço e configurações de proxy

Este endpoint cria um novo tronco SIP. A plataforma provisiona automaticamente troncos de entrada e saída na infraestrutura de voz usando as credenciais fornecidas.

### Parâmetros do Corpo

<ParamField body="sip_trunk_type" type="string" required>
  O tipo de tronco SIP: `extension` para uma extensão SIP, ou `number` para um número de telefone (DID). Isso determina o formato esperado do campo `phone_number`.
</ParamField>

<ParamField body="phone_number" type="string" required>
  A extensão SIP (1-15 caracteres, por exemplo, `1000`) quando `sip_trunk_type` é `extension`, ou um número de telefone no formato E.164 (por exemplo, `+14155551234`) quando `sip_trunk_type` é `number`.
</ParamField>

<ParamField body="nickname" type="string" optional>
  Um rótulo curto e amigável para o tronco (por exemplo, "Provedor X — Principal"). Máximo de 50 caracteres.
</ParamField>

<ParamField body="sip_username" type="string" required>
  Nome de usuário para autenticação SIP (3-128 caracteres)
</ParamField>

<ParamField body="sip_password" type="string" required>
  Senha para autenticação SIP (mínimo de 3 caracteres)
</ParamField>

<ParamField body="sip_address" type="string" required>
  O endereço do servidor SIP sem porta (por exemplo, `sip.provider.com`)
</ParamField>

<ParamField body="sip_calling_format" type="string" required>
  O formato do número de chamada de saída:

  * `+e164` — Internacional com prefixo `+` (por exemplo, `+12025550123`)
  * `e164` — Internacional sem prefixo `+` (por exemplo, `12025550123`)
  * `national` — Formato nacional sem código do país (por exemplo, `0741926265`)
</ParamField>

<ParamField body="inbound_authorization_type" type="string" required>
  Como as chamadas de entrada são autenticadas:

  * `auth` — Usa o mesmo nome de usuário e senha SIP configurados para saída
  * `ip` — Lista branca de endereços IP específicos (requer `allowed_inbound_ips`)
</ParamField>

<ParamField body="allowed_inbound_ips" type="array" optional>
  Array de endereços IP permitidos para enviar chamadas de entrada. **Obrigatório** quando `inbound_authorization_type` é `ip`. Deve conter pelo menos um endereço IP válido.
</ParamField>

<ParamField body="country_code" type="string" required>
  Código do país ISO 3166-2 onde o tronco SIP está localizado (por exemplo, `US`, `GB`, `DE`). Quando `sip_trunk_type` é `number`, o país é detectado automaticamente a partir do número de telefone, se possível.
</ParamField>

<ParamField body="outbound_proxy" type="boolean" optional>
  Roteie chamadas de saída através de um endereço IP fixo. Padrão: `false`. Ative isso apenas se seu provedor SIP exigir autenticação baseada em IP para tráfego de saída.
</ParamField>

### Resposta

<ResponseField name="message" type="string">
  Mensagem de sucesso
</ResponseField>

<ResponseField name="data" type="object">
  O objeto do tronco SIP criado (mesmos campos que [Obter tronco SIP](/api-reference/sip-trunks/get-sip-trunk))
</ResponseField>

<ResponseExample>
  ```json 201 Extensão com autenticação por senha theme={null}
  {
    "message": "Tronco SIP criado com sucesso.",
    "data": {
      "id": 42,
      "phone_number": "1000",
      "nickname": "Provedor X — Principal",
      "sip_username": "myuser",
      "sip_address": "sip.provider.com",
      "sip_calling_format": "+e164",
      "inbound_authorization_type": "auth",
      "allowed_inbound_ips": null,
      "outbound_proxy": false,
      "country_code": "US",
      "inbound_trunk_id": "ST_xxxxxxxxxxxx",
      "outbound_trunk_id": "ST_yyyyyyyyyyyy",
      "created_at": "2026-03-31T10:00:00.000000Z",
      "updated_at": "2026-03-31T10:00:00.000000Z"
    }
  }
  ```

  ```json 201 Número de telefone (DID) com autenticação por IP theme={null}
  {
    "message": "Tronco SIP criado com sucesso.",
    "data": {
      "id": 43,
      "phone_number": "+14155551234",
      "nickname": null,
      "sip_username": "trunk_user",
      "sip_address": "sip.provider.com",
      "sip_calling_format": "e164",
      "inbound_authorization_type": "ip",
      "allowed_inbound_ips": ["203.0.113.10", "198.51.100.20"],
      "outbound_proxy": true,
      "country_code": "US",
      "inbound_trunk_id": "ST_xxxxxxxxxxxx",
      "outbound_trunk_id": "ST_yyyyyyyyyyyy",
      "created_at": "2026-03-31T10:00:00.000000Z",
      "updated_at": "2026-03-31T10:00:00.000000Z"
    }
  }
  ```

  ```json 409 Duplicado theme={null}
  {
    "error": "Um tronco SIP com o mesmo número de telefone, nome de usuário e endereço já existe."
  }
  ```

  ```json 422 Erro de Validação theme={null}
  {
    "message": "Os dados fornecidos são inválidos.",
    "errors": {
      "sip_address": ["O endereço do servidor SIP é obrigatório."],
      "sip_calling_format": ["O formato de chamada SIP deve ser um dos seguintes: +e164, e164, national."]
    }
  }
  ```

  ```json 500 Erro de Provisionamento theme={null}
  {
    "error": "Falha ao criar tronco SIP. Por favor, tente novamente ou entre em contato com o suporte."
  }
  ```
</ResponseExample>

### O que acontece após a criação

Quando você cria um tronco SIP, a plataforma automaticamente:

1. **Provisiona um tronco de entrada** na infraestrutura de voz — usando autenticação por nome de usuário/senha ou baseada em IP, dependendo da configuração do seu `inbound_authorization_type`
2. **Provisiona um tronco de saída** — usando o endereço SIP e as credenciais que você forneceu, opcionalmente através do proxy de saída

Se o provisionamento falhar, o tronco SIP não é salvo e um erro `500` é retornado.

### Próximos passos

Após criar um tronco SIP, atribua-o a um assistente de IA:

* **[Criar Assistente](/api-reference/assistants/create-assistant)** — Use o parâmetro `phone_number_id`
* **[Atualizar Assistente](/api-reference/assistants/update-assistant)** — Altere o número de telefone em um assistente existente


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