Pular para o conteúdo

Equipe

Os membros são as pessoas da equipe que usam o painel: donos, administradores e atendentes. Pela API você lista a equipe e usa o id de cada membro para atribuir conversas (assigned_to) e para filtrar as conversas de cada atendente.

Convidar, remover e mudar o papel de membros é feito no painel.

{
"id": "4083deb8-f96e-4093-8598-ebdd4dee786b",
"object": "member",
"name": "Carla Mendes",
"email": "carla@lojaaurora.com.br",
"role": "agent",
"avatar_url": "https://arquivos.exemplo.com/avatars/carla.jpg",
"joined_at": "2026-03-10T13:00:00Z"
}
Campo Tipo Descrição
id UUID ID do usuário. Use em assigned_to para atribuir conversas.
object string Sempre member.
name string ou null Nome da pessoa.
email string ou null E-mail de login.
role string owner (dono da conta), admin (administrador) ou agent (atendente).
avatar_url string ou null Foto de perfil.
joined_at data Quando entrou na organização.

GET/v1/members

Todos os membros da organização. Use para montar um seletor de responsável ou para descobrir o id de um atendente pelo nome ou e-mail.

Não tem parâmetros. A lista vem inteira numa página (has_more: false).

Janela do terminal
curl https://platform.toptalking.com.br/v1/members \
-H "Authorization: Bearer $TOPTALKING_API_KEY"
{
"object": "list",
"data": [
{
"id": "4ce0bb29-e6f6-4a78-8d63-747e73e00071",
"object": "member",
"name": "Rafael Costa",
"email": "rafael@lojaaurora.com.br",
"role": "owner",
"avatar_url": "https://arquivos.exemplo.com/avatars/rafael.jpg",
"joined_at": "2026-02-10T12:00:00Z"
},
{
"id": "384d33f5-953e-4d07-a85e-69e67e1bf89c",
"object": "member",
"name": "Bruno Alves",
"email": "bruno@lojaaurora.com.br",
"role": "admin",
"avatar_url": null,
"joined_at": "2026-02-15T18:30:00Z"
},
{
"id": "4083deb8-f96e-4093-8598-ebdd4dee786b",
"object": "member",
"name": "Carla Mendes",
"email": "carla@lojaaurora.com.br",
"role": "agent",
"avatar_url": "https://arquivos.exemplo.com/avatars/carla.jpg",
"joined_at": "2026-03-10T13:00:00Z"
}
],
"has_more": false,
"next_cursor": null
}

Só os gerais: 401 (chave) e 429 (limite por minuto). Veja Erros.

GET/v1/members/{member_id}

Um membro pelo ID. Útil para mostrar o nome do responsável de uma conversa a partir do assigned_to do contato.

Parâmetro Onde Tipo Obrigatório Descrição
member_id caminho UUID sim ID do membro (o mesmo valor de assigned_to).
Janela do terminal
curl https://platform.toptalking.com.br/v1/members/4083deb8-f96e-4093-8598-ebdd4dee786b \
-H "Authorization: Bearer $TOPTALKING_API_KEY"
{
"id": "4083deb8-f96e-4093-8598-ebdd4dee786b",
"object": "member",
"name": "Carla Mendes",
"email": "carla@lojaaurora.com.br",
"role": "agent",
"avatar_url": "https://arquivos.exemplo.com/avatars/carla.jpg",
"joined_at": "2026-03-10T13:00:00Z"
}
HTTP code Quando acontece
404 resource_not_found Não há membro com esse ID nesta organização (ex.: a pessoa saiu da equipe).

Para definir o responsável por uma conversa, envie o id do membro em assigned_to com PATCH /contacts/{contact_id}. A conversa passa a aparecer para ele no painel como “minha”.

PATCH/v1/contacts/{contact_id}

Corpo Efeito
{ "assigned_to": "<id do membro>" } Atribui a conversa a este membro.
{ "assigned_to": null } Libera a conversa (fica sem responsável).
Janela do terminal
curl -X PATCH https://platform.toptalking.com.br/v1/contacts/3f1c2b9a-7d4e-4c55-8a0e-1b2c3d4e5f60 \
-H "Authorization: Bearer $TOPTALKING_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "assigned_to": "4083deb8-f96e-4093-8598-ebdd4dee786b" }'

A resposta 200 é o contato atualizado, com o novo assigned_to. A atribuição fica registrada no histórico de atribuições da conversa no painel e dispara o webhook contact.updated com assigned_to em changed_fields.

HTTP code Quando acontece
400 invalid_field assigned_to não é um membro da organização (param: "assigned_to").
403 read_only_key Chave somente leitura.
404 resource_not_found O contato não existe.
400 invalid_field
{
"error": {
"type": "invalid_request_error",
"code": "invalid_field",
"message": "Este usuário não é membro da organização. Veja GET /v1/members.",
"param": "assigned_to",
"request_id": "req_6f1d2c3b4a5e"
}
}

Filtre GET /contacts por assigned_to:

  • ?assigned_to=<id do membro> — as conversas de um atendente;
  • ?assigned_to=none — as conversas sem responsável (ótimo para distribuir a fila).
Janela do terminal
# Conversas ativas sem responsável
curl "https://platform.toptalking.com.br/v1/contacts?assigned_to=none&archived=false&is_group=false" \
-H "Authorization: Bearer $TOPTALKING_API_KEY"