Fornecedores
Gerenciamento de fornecedores de serviço (Service Providers). Fornecedores são entidades externas que podem atender chamadas na plataforma. Leitura requer supervisor, escrita requer manager.
Endpoints
| Método | Endpoint | Descrição | Role Mínimo |
|---|---|---|---|
GET | /api/v1/providers | Listar fornecedores | supervisor |
POST | /api/v1/providers | Criar fornecedor | manager |
GET | /api/v1/providers/:id | Buscar fornecedor | supervisor |
PUT | /api/v1/providers/:id | Atualizar fornecedor | manager |
DELETE | /api/v1/providers/:id | Excluir fornecedor | manager |
GET | /api/v1/providers/:id/users | Listar usuários do fornecedor | supervisor |
POST | /api/v1/providers/:id/users | Associar usuário ao fornecedor | manager |
DELETE | /api/v1/providers/:id/users/:user_id | Desassociar usuário | manager |
Listar Fornecedores
GET /api/v1/providersQuery Parameters
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
page | integer | 1 | Número da página |
page_size | integer | 20 | Itens por página |
sort_by | string | name | Campo para ordenação |
sort_order | string | asc | Direção da ordenação |
Exemplo de Request
bash
curl -X GET "https://voki.avanter.com.br/api/v1/providers" \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter"Resposta de Sucesso (200)
json
{
"data": [
{
"id": "c9d0e1f2-a3b4-5678-ijkl-901234567890",
"name": "Consultoria Médica XYZ",
"document": "98.765.432/0001-10",
"email": "contato@consultoriaxyz.com.br",
"phone": "+5511988887777",
"active": true,
"user_count": 3,
"inserted_at": "2026-01-20T10:00:00Z",
"updated_at": "2026-01-20T10:00:00Z"
}
],
"meta": {
"current_page": 1,
"page_size": 20,
"total_pages": 1,
"total_count": 1
}
}Criar Fornecedor
POST /api/v1/providersRequest Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Nome do fornecedor |
document | string | Não | CNPJ ou CPF |
email | string | Não | Email de contato |
phone | string | Não | Telefone |
Exemplo de Request
bash
curl -X POST https://voki.avanter.com.br/api/v1/providers \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter" \
-H "Content-Type: application/json" \
-d '{
"service_provider": {
"name": "Clínica ABC",
"document": "11.222.333/0001-44",
"email": "contato@clinicaabc.com.br",
"phone": "+5511977776666"
}
}'Resposta de Sucesso (201)
json
{
"data": {
"id": "d0e1f2a3-b4c5-6789-jklm-012345678901",
"name": "Clínica ABC",
"document": "11.222.333/0001-44",
"email": "contato@clinicaabc.com.br",
"phone": "+5511977776666",
"active": true,
"user_count": 0,
"inserted_at": "2026-02-18T14:00:00Z",
"updated_at": "2026-02-18T14:00:00Z"
}
}Buscar Fornecedor
GET /api/v1/providers/:idExemplo de Request
bash
curl -X GET https://voki.avanter.com.br/api/v1/providers/c9d0e1f2-a3b4-5678-ijkl-901234567890 \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter"Atualizar Fornecedor
PUT /api/v1/providers/:idExemplo de Request
bash
curl -X PUT https://voki.avanter.com.br/api/v1/providers/c9d0e1f2-a3b4-5678-ijkl-901234567890 \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter" \
-H "Content-Type: application/json" \
-d '{
"service_provider": {
"name": "Consultoria Médica XYZ Atualizada",
"active": true
}
}'Excluir Fornecedor
DELETE /api/v1/providers/:idExemplo de Request
bash
curl -X DELETE https://voki.avanter.com.br/api/v1/providers/d0e1f2a3-b4c5-6789-jklm-012345678901 \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter"Resposta de Sucesso (204)
Sem corpo na resposta.
Listar Usuários do Fornecedor
GET /api/v1/providers/:provider_id/usersExemplo de Request
bash
curl -X GET https://voki.avanter.com.br/api/v1/providers/c9d0e1f2-a3b4-5678-ijkl-901234567890/users \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter"Resposta de Sucesso (200)
json
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Dr. Carlos Mendes",
"email": "carlos@consultoriaxyz.com.br",
"role": "attendant",
"active": true
}
]
}Associar Usuário ao Fornecedor
POST /api/v1/providers/:provider_id/usersRequest Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
user_id | uuid | Sim | ID do usuário |
Exemplo de Request
bash
curl -X POST https://voki.avanter.com.br/api/v1/providers/c9d0e1f2-a3b4-5678-ijkl-901234567890/users \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter" \
-H "Content-Type: application/json" \
-d '{
"user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}'Resposta de Sucesso (201)
json
{
"data": {
"message": "Usuário associado ao fornecedor"
}
}Desassociar Usuário do Fornecedor
DELETE /api/v1/providers/:provider_id/users/:user_idExemplo de Request
bash
curl -X DELETE https://voki.avanter.com.br/api/v1/providers/c9d0e1f2-a3b4-5678-ijkl-901234567890/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter"Resposta de Sucesso (204)
Sem corpo na resposta.
