Contatos
CRUD completo para os contatos da conta — usados, por exemplo, como destino de transferência de chamadas.
Endpoints
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/v1/contacts | Lista contatos |
| POST | /api/v1/contacts | Cria um contato |
| GET | /api/v1/contacts/{contact} | Exibe um contato |
| PUT/PATCH | /api/v1/contacts/{contact} | Atualiza um contato |
| DELETE | /api/v1/contacts/{contact} | Remove um contato |
Filtros de listagem
search, is_active.
Campos
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string, max 255 | Sim | Nome do contato. |
phone | string, max 30 | Não | Telefone do contato. |
sip_extension | string, max 255 | Não | Ramal SIP, no formato sip: ou sips: (ex: sip:100@192.168.0.1:5060). |
is_active | boolean | Não | Padrão: conforme cadastro. |
Exemplo de resposta
{
"id": 21,
"name": "Suporte Técnico",
"phone": "+551140028922",
"sip_extension": "sip:100@192.168.0.1:5060",
"is_active": true,
"created_at": "2026-08-01T12:00:00Z",
"updated_at": "2026-08-01T12:00:00Z"
}
Exemplos com curl
Listar contatos
curl "$ROUXINOL_URL/api/v1/contacts?search=suporte" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"
Criar um contato
curl -X POST "$ROUXINOL_URL/api/v1/contacts" \
-H "Authorization: Bearer $ROUXINOL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Suporte Técnico",
"phone": "+551140028922",
"sip_extension": "sip:100@192.168.0.1:5060"
}'
Exibir um contato
curl "$ROUXINOL_URL/api/v1/contacts/21" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"
Atualizar um contato
curl -X PATCH "$ROUXINOL_URL/api/v1/contacts/21" \
-H "Authorization: Bearer $ROUXINOL_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "phone": "+551140028923" }'
Remover um contato
curl -X DELETE "$ROUXINOL_URL/api/v1/contacts/21" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"