Começo rápido

Crie uma chave de API e faça a primeira chamada em 5 minutos.

A API do Zaplin é REST sobre HTTPS. Ela recebe e devolve JSON com chaves em snake_case e datas em ISO 8601, e autentica com um token Bearer.

URL base
https://app.zaplin.com.br/api/v1

Você precisa ser Owner ou Admin do workspace para criar chaves.

Crie a chave

No app, abra Configurações → Desenvolvedores → API Keys e clique em Nova chave de API.

  • Nome: para você reconhecer a chave depois.
  • Conta de serviço: toda chave pertence a uma conta de serviço, a identidade do sistema que vai usar a chave. As ações da chave aparecem na auditoria com o nome dela. Se o workspace ainda não tem uma, use + Nova conta de serviço (ex.: ERP, BI, Zapier).
  • Expira em: 30 dias, 90 dias, 1 ano ou Nunca.
  • Permissões (escopos): marque só o que a integração precisa. Para este guia, contacts:read e contacts:write.

Clique em Criar chave e copie a chave: ela começa com sk_live_ e só aparece uma vez. Guardamos apenas um resumo (hash) dela.

Liste os contatos

export ZAPLIN_KEY=sk_live_...

curl https://app.zaplin.com.br/api/v1/contacts?limit=2 \
  -H "Authorization: Bearer $ZAPLIN_KEY"
200 OK
{
  "data": [
    {
      "id": "3b0f6c1e-…",
      "name": "Maria Silva",
      "phone": "+5511987654321",
      "email": null,
      "opted_out": false,
      "created_at": "2026-10-17T13:02:11.000Z"
    }
  ],
  "next_cursor": null
}

As listas vêm do mais novo ao mais antigo, uma página por vez. Veja paginação.

Crie um contato

curl https://app.zaplin.com.br/api/v1/contacts \
  -X POST \
  -H "Authorization: Bearer $ZAPLIN_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-1042" \
  -d '{"name": "João Pereira", "phone": "+5511912345678"}'

O telefone vai em E.164. A resposta é 201 com o contato. Se outro contato já tem esse telefone, a resposta é 409 com phone_taken e o contact_id dele.

A Idempotency-Key faz uma nova tentativa da mesma chamada devolver a primeira resposta em vez de criar outro contato. Veja idempotência.

Em JavaScript ou Python

const response = await fetch("https://app.zaplin.com.br/api/v1/contacts?limit=50", {
  headers: { Authorization: `Bearer ${process.env.ZAPLIN_KEY}` },
})
const body = await response.json()
if (!response.ok) throw new Error(`${body.error.code}: ${body.error.message}`)
for (const contact of body.data) console.log(contact.name, contact.phone)

Próximos passos

Nesta página