Gestire i contatti tramite API e MCP
Crea, importa, esporta, cerca e organizza contatti e gruppi in TrekMail tramite API messaggi e strumenti MCP, con endpoint, ambiti e paginazione.
Dettagli dell'articolo
Tipo, difficoltà, piani e data dell'ultimo aggiornamento.
▼
Dettagli dell'articolo
Tipo, difficoltà, piani e data dell'ultimo aggiornamento.
- Tipo
- Riferimento
- Difficoltà
- Intermedio
- Piani
- Starter · Pro · Agency
- Ultimo aggiornamento
- 10 set 2026
La rubrica della tua casella di posta è completamente programmabile. L'API dei messaggi e gli strumenti MCP possono creare, modificare ed eliminare contatti, eseguire importazioni ed esportazioni in blocco (CSV o vCard), cercare in una rubrica di grandi dimensioni e organizzare le persone in gruppi. Sono gli stessi dati visibili nel webmail e nei client CardDAV, quindi un contatto aggiunto da un agente IA appare sul telefono e uno aggiunto dal telefono è visibile all'API.
Prima di iniziare
- I contatti usano l'interfaccia del token dei messaggi (
/api/v1/messages/...) e i relativi ambiti, non un token API del pannello. - Ogni chiamata è limitata alla casella di posta del token. Un token può vedere e gestire soltanto i propri contatti e gruppi, mai quelli di un'altra casella.
- I contatti sono identificati dall'indirizzo email all'interno di una casella. Un'importazione aggiorna un contatto corrispondente. La creazione con un'email esistente restituisce quel contatto senza modificarlo, anziché creare un duplicato.
- Le risposte degli elenchi restituiscono un insieme di campi chiaro e leggibile (nome, email, azienda, qualifica, telefono, indirizzo, compleanno e note). La scheda CardDAV grezza dietro un contatto sincronizzato non viene mai restituita; ricevi sempre la versione ordinata.
- L'importazione accetta file CSV e vCard (
.vcf) fino a 10 MB e riconosce i formati di esportazione di Contatti Google, Outlook, Apple e Roundcube, comprese le particolarità di UTF-8, UTF-16 e BOM.
Ambiti
| Ambito | Funzione |
|---|---|
messages:read |
Elencare e cercare contatti, elencare gruppi e membri, esportare |
messages:write |
Creare, aggiornare, eliminare e importare contatti; creare e gestire gruppi |
Gestire i contatti
Percorso base: /api/v1/messages/contacts
| Metodo | Percorso | Ambito | Scopo |
|---|---|---|---|
GET |
/contacts |
messages:read |
Elencare i contatti con ricerca e paginazione |
POST |
/contacts |
messages:write |
Creare un contatto |
PATCH |
/contacts/{id} |
messages:write |
Aggiornare un contatto |
DELETE |
/contacts/{id} |
messages:write |
Eliminare un contatto |
POST |
/contacts/import |
messages:write |
Importare in blocco un file CSV o vCard |
GET |
/contacts/export |
messages:read |
Esportare tutti i contatti come CSV o vCard |
Elencare e cercare
GET /api/v1/messages/contacts?q=alice&per_page=50&page=1
Scope: messages:read
q trova corrispondenze nel nome o nell'email. I risultati vengono restituiti a pagine (per_page da 1 a 100, valore predefinito 50) con un blocco pagination (total, per_page, current_page, last_page), così puoi scorrere una rubrica di grandi dimensioni fino alla fine invece di fermarti alla prima pagina.
Creare un contatto
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"
}
È obbligatorio soltanto email. Se esiste già un contatto con quell'email, il contatto esistente viene restituito senza modifiche. La creazione non genera mai un duplicato e non sovrascrive i dettagli salvati.
Importare in blocco
POST /api/v1/messages/contacts/import
Scope: messages:write
{
"content_base64": "<base64 of your .csv or .vcf file>",
"format": "csv"
}
Invia il file codificato in base64 con format impostato su csv o vcf (massimo 10 MB dopo la decodifica). La risposta indica quante righe sono state applicate e quante sono state ignorate perché prive di un'email utilizzabile:
{ "imported": 128, "skipped": 3 }
Le intestazioni delle colonne delle esportazioni di Google, Outlook, Apple e Roundcube vengono riconosciute automaticamente, quindi la maggior parte delle esportazioni può essere importata senza modifiche.
Esportare
GET /api/v1/messages/contacts/export?format=vcard
Scope: messages:read
Restituisce l'intera rubrica come singolo file codificato in base64:
{ "format": "vcard", "content_base64": "..." }
Usa format=csv per un file adatto a un foglio di calcolo oppure format=vcard per un file .vcf da caricare in un altro client di posta.
Gruppi di contatti
I gruppi sono liste di distribuzione all'interno della rubrica. Percorso base: /api/v1/messages/contact-groups
| Metodo | Percorso | Ambito | Scopo |
|---|---|---|---|
GET |
/contact-groups |
messages:read |
Elencare i gruppi, ciascuno con il proprio contact_count |
POST |
/contact-groups |
messages:write |
Creare un gruppo |
PATCH |
/contact-groups/{id} |
messages:write |
Rinominare un gruppo |
DELETE |
/contact-groups/{id} |
messages:write |
Eliminare un gruppo |
GET |
/contact-groups/{id}/members |
messages:read |
Elencare i contatti di un gruppo |
POST |
/contact-groups/{id}/members |
messages:write |
Aggiungere contatti a un gruppo |
DELETE |
/contact-groups/{id}/members |
messages:write |
Rimuovere contatti da un gruppo |
Elencare i membri di un gruppo
GET /api/v1/messages/contact-groups/42/members?per_page=50&page=1
Scope: messages:read
Restituisce i contatti del gruppo, con gli stessi campi ordinati dell'elenco dei contatti, oltre a un blocco pagination e al contact_count totale del gruppo. Puoi quindi leggere i membri di un gruppo anziché modificarli alla cieca.
Aggiungere o rimuovere membri
POST /api/v1/messages/contact-groups/42/members
Scope: messages:write
{ "contact_ids": [11, 12, 13] }
L'aggiunta è idempotente: un contatto già presente nel gruppo rimane invariato. È possibile aggiungere soltanto contatti appartenenti alla stessa casella di posta. Ogni richiesta di aggiunta o rimozione accetta da 1 a 200 ID contatto; i gruppi più grandi devono essere suddivisi in più richieste.
Strumenti MCP
La stessa rubrica è disponibile agli agenti IA tramite MCP, sia sul server stdio privato sia sul server MCP pubblico:
| Strumento | Ambito | Scopo |
|---|---|---|
list_contacts |
read | Elencare e cercare i contatti con paginazione |
create_contact |
write | Creare un contatto |
update_contact |
write | Aggiornare un contatto |
delete_contact |
write | Eliminare un contatto |
import_contacts |
write | Importare un file CSV/vCard in base64 |
export_contacts |
read | Esportare tutti i contatti come CSV/vCard |
list_contact_groups |
read | Elencare i gruppi con il numero di membri |
list_contact_group_members |
read | Elencare i contatti di un gruppo |
create_contact_group |
write | Creare un gruppo |
update_contact_group |
write | Rinominare un gruppo |
delete_contact_group |
write | Eliminare un gruppo |
add_contact_group_members |
write | Aggiungere contatti a un gruppo |
remove_contact_group_members |
write | Rimuovere contatti da un gruppo |
Gli strumenti di scrittura richiedono comunque l'ambito di scrittura del token dei messaggi. Un amministratore MCP in hosting locale può anche richiedere un'approvazione esplicita per le azioni di scrittura, così un agente può consultare i contatti senza poterli modificare.
Articoli correlati
Vai alle guide vicine che proseguono il flusso di lavoro.