Listas

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/lists
contacts:read

Listar listas

  • limit — Itens por página (1–100, padrão 25).
  • cursor — Valor de next_cursor da página anterior.
curl -X GET "https://crm.vdgestaobranding.com/api/v1/lists" \
  -H "Authorization: Bearer $VDCRM_API_KEY"
Resposta 200
{
  "data": [
    {
      "id": "l1…",
      "name": "Clientes VIP",
      "description": null,
      "created_at": "2026-11-03T15:00:00Z"
    }
  ],
  "next_cursor": null
}
POST/lists
lists:write
Idempotency-Key

Criar lista

curl -X POST "https://crm.vdgestaobranding.com/api/v1/lists" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Clientes VIP"
}'
Resposta 201
{
  "id": "l1…",
  "name": "Clientes VIP"
}
GET/lists/{id}
contacts:read

Obter lista

curl -X GET "https://crm.vdgestaobranding.com/api/v1/lists/{id}" \
  -H "Authorization: Bearer $VDCRM_API_KEY"
PATCH/lists/{id}
lists:write

Renomear lista

curl -X PATCH "https://crm.vdgestaobranding.com/api/v1/lists/{id}" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "VIP 2026"
}'
DELETE/lists/{id}
lists:write

Excluir lista

Os contatos são preservados.

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

Adicionar contatos

curl -X POST "https://crm.vdgestaobranding.com/api/v1/lists/{id}/contacts" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contact_ids": [
    "c1d2…"
  ]
}'
Resposta 200
{
  "affected": 1
}
DELETE/lists/{id}/contacts
lists:write

Remover contatos

curl -X DELETE "https://crm.vdgestaobranding.com/api/v1/lists/{id}/contacts" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contact_ids": [
    "c1d2…"
  ]
}'
Resposta 200
{
  "affected": 1
}
POST/lists/{id}/imports
lists:write
Idempotency-Key

Importar CSV/XLSX

Envie JSON com file_url (https) ou multipart com o campo file. Colunas reconhecidas: telefone/phone, nome/name, email, tags; as demais viram campos personalizados. source (origem do consentimento) é obrigatório.

curl -X POST "https://crm.vdgestaobranding.com/api/v1/lists/{id}/imports" \
  -H "Authorization: Bearer $VDCRM_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "file_url": "https://exemplo.com/contatos.csv",
  "source": "Cadastro na loja física"
}'
Resposta 202
{
  "id": "i1…",
  "status": "completed",
  "total": 500,
  "imported": 480,
  "updated": 15,
  "invalid": 5
}
GET/lists/{id}/imports/{importId}
contacts:read

Status da importação

curl -X GET "https://crm.vdgestaobranding.com/api/v1/lists/{id}/imports/{importId}" \
  -H "Authorization: Bearer $VDCRM_API_KEY"
Resposta 200
{
  "id": "i1…",
  "status": "processing",
  "imported": 120
}