Equipe e operações

URL base da API
https://crm.vdgestaobranding.com/api/v1

A documentação fica em developers.vdgestaobranding.com, mas todas as chamadas vão para crm.vdgestaobranding.com/api/v1.

GET/operations
team:manage

Listar operações da conta

curl -X GET "https://crm.vdgestaobranding.com/api/v1/operations" \
  -H "Authorization: Bearer $VDCRM_API_KEY"
Resposta 200
{
  "data": [
    {
      "id": "o1…",
      "name": "Loja Centro",
      "slug": "loja-centro",
      "archived": false,
      "current": true
    }
  ],
  "quota": {
    "plan": "Profissional",
    "cap": 3,
    "used": 1,
    "allowed": true
  }
}
POST/operations
team:manage
Idempotency-Key

Criar operação

Respeita o limite de operações do plano (403 plan_limit).

curl -X POST "https://crm.vdgestaobranding.com/api/v1/operations" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Loja Norte",
  "color": "cyan",
  "icon": "store"
}'
Resposta 201
{
  "id": "o2…",
  "slug": "loja-norte",
  "name": "Loja Norte"
}
GET/members
team:manage

Listar membros e convites

curl -X GET "https://crm.vdgestaobranding.com/api/v1/members" \
  -H "Authorization: Bearer $VDCRM_API_KEY"
Resposta 200
{
  "data": [
    {
      "user_id": "u1…",
      "name": "Ana",
      "email": "ana@exemplo.com",
      "role": "atendente",
      "profile": "personalizado",
      "permissions": [
        "inbox.assigned",
        "inbox.reply",
        "templates.view"
      ],
      "phone_ids": null,
      "operation_ids": [
        "o1…"
      ]
    }
  ],
  "pending_invitations": []
}
POST/members
team:manage
Idempotency-Key

Convidar membro

profile: admin | gerente | atendente | disparador | personalizado (role admin/atendente continua aceito). permissions: lista de permissões (ex.: inbox.all, inbox.assigned, inbox.reply, leads.view, templates.view, campaigns.dispatch…); sem permissions, o perfil pronto é aplicado. operation_ids: operações liberadas (padrão: a da chave). phone_ids: números liberados (null = todos). Respeita o limite de usuários do plano.

curl -X POST "https://crm.vdgestaobranding.com/api/v1/members" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "ana@exemplo.com",
  "profile": "personalizado",
  "permissions": [
    "inbox.assigned",
    "inbox.reply",
    "templates.view"
  ],
  "operation_ids": [
    "o1…"
  ],
  "phone_ids": null
}'
PATCH/members/{id}
team:manage

Alterar perfil e permissões

Altera perfil, permissões, operações e números liberados; vale na hora e fica no histórico. Mudar permissões de um perfil pronto o torna Personalizado. O owner e o criador da chave não podem ser alterados.

curl -X PATCH "https://crm.vdgestaobranding.com/api/v1/members/{id}" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "profile": "gerente",
  "operation_ids": [
    "o1…",
    "o2…"
  ],
  "phone_ids": null
}'
DELETE/members/{id}
team:manage

Remover membro

curl -X DELETE "https://crm.vdgestaobranding.com/api/v1/members/{id}" \
  -H "Authorization: Bearer $VDCRM_API_KEY"