Fournisseurs
Gestion des fournisseurs de services (Service Providers). Les fournisseurs sont des entités externes pouvant prendre en charge des appels sur la plateforme. La lecture nécessite le rôle supervisor, l'écriture nécessite le rôle manager.
Endpoints
| Méthode | Endpoint | Description | Rôle Minimum |
|---|---|---|---|
GET | /api/v1/providers | Lister les fournisseurs | supervisor |
POST | /api/v1/providers | Créer un fournisseur | manager |
GET | /api/v1/providers/:id | Rechercher un fournisseur | supervisor |
PUT | /api/v1/providers/:id | Mettre à jour un fournisseur | manager |
DELETE | /api/v1/providers/:id | Supprimer un fournisseur | manager |
GET | /api/v1/providers/:id/users | Lister les utilisateurs du fournisseur | supervisor |
POST | /api/v1/providers/:id/users | Associer un utilisateur au fournisseur | manager |
DELETE | /api/v1/providers/:id/users/:user_id | Dissocier un utilisateur | manager |
Lister les Fournisseurs
GET /api/v1/providersQuery Parameters
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
page | integer | 1 | Numéro de page |
page_size | integer | 20 | Éléments par page |
sort_by | string | name | Champ de tri |
sort_order | string | asc | Direction du tri |
Exemple de Requête
bash
curl -X GET "https://voki.avanter.com.br/api/v1/providers" \
-H "Authorization: Bearer eyJhbGci..." \
-H "X-Tenant: avanter"Réponse de Succès (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
}
}Créer un Fournisseur
POST /api/v1/providersRequest Body
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
name | string | Oui | Nom du fournisseur |
document | string | Non | CNPJ ou CPF |
email | string | Non | Email de contact |
phone | string | Non | Téléphone |
Exemple de Requête
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"
}
}'Réponse de Succès (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"
}
}Rechercher un Fournisseur
GET /api/v1/providers/:idExemple de Requête
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"Mettre à Jour un Fournisseur
PUT /api/v1/providers/:idExemple de Requête
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
}
}'Supprimer un Fournisseur
DELETE /api/v1/providers/:idExemple de Requête
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"Réponse de Succès (204)
Pas de corps dans la réponse.
Lister les Utilisateurs du Fournisseur
GET /api/v1/providers/:provider_id/usersExemple de Requête
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"Réponse de Succès (200)
json
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Dr. Carlos Mendes",
"email": "carlos@consultoriaxyz.com.br",
"role": "attendant",
"active": true
}
]
}Associer un Utilisateur au Fournisseur
POST /api/v1/providers/:provider_id/usersRequest Body
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
user_id | uuid | Oui | ID de l'utilisateur |
Exemple de Requête
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"
}'Réponse de Succès (201)
json
{
"data": {
"message": "Utilisateur associé au fournisseur"
}
}Dissocier un Utilisateur du Fournisseur
DELETE /api/v1/providers/:provider_id/users/:user_idExemple de Requête
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"Réponse de Succès (204)
Pas de corps dans la réponse.
