ExoVoIPManuale sviluppatori

Rubrica

Rubrica aziendale e personale degli interni. I contatti danno il nome mostrato sul display dei telefoni per le chiamate in arrivo, possono essere VIP (priorità) o bloccati. Scope contacts:read / contacts:write.

Contatti

curl -s -X POST https://centralino.exovoip.it/api/v1/contacts \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Laura Neri","company":"Neri Impianti","vip":true,
       "numbers":[{"number":"+393471234567","label":"mobile"}]}'
curl -s "https://centralino.exovoip.it/api/v1/contacts/lookup?number=%2B393471234567" -H "X-API-Key: $EXOPBX_API_KEY"
  • ownerExtensionId: assente per i contatti aziendali, valorizzato per quelli personali di un interno.
  • numbers[]: uno o più numeri con etichetta.
  • vip, blocked: contatto prioritario / chiamate bloccate (azione definita nelle impostazioni).
  • Ricerca: q, tag, vip, blocked, scope (all, company, personal).

GET /v1/contacts/lookup?number= restituisce il contatto associato a un numero, con le stesse regole usate dal centralino per il nome sul display.

Importazione ed esportazione

curl -s -X POST https://centralino.exovoip.it/api/v1/contacts/import \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"format":"csv","onDuplicate":"update","data":"nome;telefono\nLaura Neri;+393471234567"}'
curl -s "https://centralino.exovoip.it/api/v1/contacts/export?format=vcard" -H "X-API-Key: $EXOPBX_API_KEY" -o rubrica.vcf

L'importazione accetta CSV e vCard; con onDuplicate si sceglie se aggiornare (update, predefinito) o saltare (skip) i contatti già presenti. L'esportazione produce CSV o vCard.

Impostazioni

PUT /v1/contacts/settings: ricerca del nome attiva, ordine di ricerca, prefisso per i VIP, nome dell'azienda nel display, azione per i numeri bloccati.

Endpoint

DescrizioneRichiestaScopeMetodo SDK
Rubrica aziendale e personaleGET /v1/contactscontacts:readcontacts.list()
Crea contattoPOST /v1/contactscontacts:writecontacts.create()
Ricerca per numero (nome sul display)GET /v1/contacts/lookupcontacts:readcontacts.lookup()
Importa CSV / vCardPOST /v1/contacts/importcontacts:writecontacts.import()
Esporta CSV / vCardGET /v1/contacts/exportcontacts:readcontacts.export()
Impostazioni ricerca nome e blacklistGET /v1/contacts/settingscontacts:readcontacts.getSettings() · py: contacts.get_settings()
Modifica impostazioni rubricaPUT /v1/contacts/settingscontacts:writecontacts.setSettings() · py: contacts.set_settings()
Dettaglio contattoGET /v1/contacts/:idcontacts:readcontacts.get()
Modifica contatto (numbers sostituisce)PATCH /v1/contacts/:idcontacts:writecontacts.update()
Elimina contattoDELETE /v1/contacts/:idcontacts:writecontacts.delete()