Gerenciar contatos pela API e pelo MCP
Crie, importe, exporte, pesquise e organize contatos e grupos no TrekMail pela API de mensagens e ferramentas MCP, com endpoints, escopos e paginação.
Detalhes do artigo
Tipo, dificuldade, planos e data da última atualização.
▼
Detalhes do artigo
Tipo, dificuldade, planos e data da última atualização.
- Tipo
- Referência
- Dificuldade
- Intermediário
- Planos
- Starter · Pro · Agency
- Última atualização
- 10 de set de 2026
O catálogo de endereços da sua caixa de correio é totalmente programável. A API de mensagens e as ferramentas MCP podem criar, editar e excluir contatos, importar e exportar em massa (CSV ou vCard), pesquisar em um catálogo grande e organizar pessoas em grupos. Esses são os mesmos dados vistos pelo seu webmail e pelos clientes CardDAV. Assim, um contato adicionado por um agente de IA aparece no seu celular, e um contato adicionado no celular fica visível para a API.
Antes de começar
- Os contatos usam a superfície de token de mensagens (
/api/v1/messages/...) e seus escopos, não um token de API do painel. - Cada chamada fica restrita à caixa de correio do próprio token. Um token só pode ver e gerenciar seus próprios contatos e grupos, nunca os de outra caixa de correio.
- Os contatos são identificados pelo endereço de e-mail dentro de uma caixa de correio. Uma importação atualiza um contato correspondente. Criar um contato com um e-mail existente retorna esse contato sem alterações em vez de gerar uma duplicata.
- As respostas de listagem retornam um conjunto de campos organizado e fácil de ler (nome, e-mail, empresa, cargo, telefone, endereço, aniversário e notas). O cartão CardDAV bruto por trás de um contato sincronizado nunca é retornado; você sempre recebe a versão organizada.
- A importação aceita arquivos CSV e vCard (
.vcf) de até 10 MB e entende os formatos de exportação do Google Contatos, Outlook, Apple e Roundcube, incluindo as particularidades de UTF-8, UTF-16 e BOM.
Escopos
| Escopo | O que faz |
|---|---|
messages:read |
Listar e pesquisar contatos, listar grupos e seus membros, exportar |
messages:write |
Criar, atualizar, excluir e importar contatos; criar e gerenciar grupos |
Gerenciar contatos
Caminho-base: /api/v1/messages/contacts
| Método | Caminho | Escopo | Finalidade |
|---|---|---|---|
GET |
/contacts |
messages:read |
Listar contatos com pesquisa e paginação |
POST |
/contacts |
messages:write |
Criar um contato |
PATCH |
/contacts/{id} |
messages:write |
Atualizar um contato |
DELETE |
/contacts/{id} |
messages:write |
Excluir um contato |
POST |
/contacts/import |
messages:write |
Importar um arquivo CSV ou vCard em massa |
GET |
/contacts/export |
messages:read |
Exportar todos os contatos como CSV ou vCard |
Listar e pesquisar
GET /api/v1/messages/contacts?q=alice&per_page=50&page=1
Scope: messages:read
q procura correspondências no nome ou no e-mail. Os resultados são paginados (per_page de 1 a 100, com padrão 50) e incluem um bloco pagination (total, per_page, current_page, last_page). Assim, você pode percorrer um catálogo de endereços grande até o fim em vez de parar na primeira página.
Criar um contato
POST /api/v1/messages/contacts
Scope: messages:write
{
"email": "ada@example.com",
"name": "Ada Lovelace",
"company": "Analytical Engines",
"job_title": "Mathematician",
"phone": "+1 555 0100",
"address": "London",
"birthday": "1815-12-10",
"notes": "Met at the conference"
}
Apenas email é obrigatório. Se já existir um contato com esse e-mail, o contato existente será retornado sem alterações. A criação nunca gera uma duplicata nem substitui os detalhes salvos.
Importar em massa
POST /api/v1/messages/contacts/import
Scope: messages:write
{
"content_base64": "<base64 of your .csv or .vcf file>",
"format": "csv"
}
Envie o arquivo codificado em base64 com format definido como csv ou vcf (máximo de 10 MB após a decodificação). A resposta informa quantas linhas foram aplicadas e quantas foram ignoradas por não terem um e-mail utilizável:
{ "imported": 128, "skipped": 3 }
Os cabeçalhos de coluna das exportações do Google, Outlook, Apple e Roundcube são reconhecidos automaticamente, então a maioria das exportações é importada sem qualquer edição.
Exportar
GET /api/v1/messages/contacts/export?format=vcard
Scope: messages:read
Retorna todo o catálogo de endereços como um único arquivo codificado em base64:
{ "format": "vcard", "content_base64": "..." }
Use format=csv para um arquivo adequado a planilhas ou format=vcard para um .vcf que possa ser carregado em outro cliente de e-mail.
Grupos de contatos
Os grupos são listas de distribuição dentro do catálogo de endereços. Caminho-base: /api/v1/messages/contact-groups
| Método | Caminho | Escopo | Finalidade |
|---|---|---|---|
GET |
/contact-groups |
messages:read |
Listar grupos, cada um com seu contact_count |
POST |
/contact-groups |
messages:write |
Criar um grupo |
PATCH |
/contact-groups/{id} |
messages:write |
Renomear um grupo |
DELETE |
/contact-groups/{id} |
messages:write |
Excluir um grupo |
GET |
/contact-groups/{id}/members |
messages:read |
Listar os contatos de um grupo |
POST |
/contact-groups/{id}/members |
messages:write |
Adicionar contatos a um grupo |
DELETE |
/contact-groups/{id}/members |
messages:write |
Remover contatos de um grupo |
Listar quem está em um grupo
GET /api/v1/messages/contact-groups/42/members?per_page=50&page=1
Scope: messages:read
Retorna os contatos do grupo, com os mesmos campos organizados da lista de contatos, além de um bloco pagination e do contact_count total do grupo. Assim, você pode consultar os membros do grupo em vez de alterá-los sem conhecer seu conteúdo.
Adicionar ou remover membros
POST /api/v1/messages/contact-groups/42/members
Scope: messages:write
{ "contact_ids": [11, 12, 13] }
A adição é idempotente: um contato que já está no grupo permanece como está. Só é possível adicionar contatos que pertençam à mesma caixa de correio. Cada solicitação de adição ou remoção aceita entre 1 e 200 IDs de contato; lotes maiores precisam ser divididos em várias solicitações.
Ferramentas MCP
O mesmo catálogo de endereços está disponível para agentes de IA pelo MCP, tanto no servidor stdio privado quanto no servidor MCP público:
| Ferramenta | Escopo | Finalidade |
|---|---|---|
list_contacts |
read | Listar e pesquisar contatos com paginação |
create_contact |
write | Criar um contato |
update_contact |
write | Atualizar um contato |
delete_contact |
write | Excluir um contato |
import_contacts |
write | Importar um arquivo CSV/vCard em base64 |
export_contacts |
read | Exportar todos os contatos como CSV/vCard |
list_contact_groups |
read | Listar grupos com a contagem de membros |
list_contact_group_members |
read | Listar os contatos de um grupo |
create_contact_group |
write | Criar um grupo |
update_contact_group |
write | Renomear um grupo |
delete_contact_group |
write | Excluir um grupo |
add_contact_group_members |
write | Adicionar contatos a um grupo |
remove_contact_group_members |
write | Remover contatos de um grupo |
As ferramentas de escrita ainda exigem o escopo de escrita do token de mensagens. Um administrador de MCP hospedado localmente também pode exigir aprovação explícita para ações de escrita, permitindo que um agente consulte contatos sem poder alterá-los.
Artigos relacionados
Vá para guias próximos que dão continuidade ao fluxo de trabalho.