Lista de Contactos — Contacto¶
Um contacto é uma entidade dentro de uma lista de contactos que contém os dados necessários para gerar e enviar mensagens.
Endpoints¶
| Método | URL |
|---|---|
GET |
/contact_list/<list>/contact/<contact> |
POST |
/contact_list/<list>/contact |
PUT |
/contact_list/<list>/contact/<contact> |
DELETE |
/contact_list/<list>/contact/<contact> |
GET /contact_list/<list>/contact/<contact>¶
Payload: Sem payload.
Devolve: O contacto.
Example:
curl -u "username:api_key" -H "Accept: application/json" \
https://app.duo.pt/contact_list/{list_id}/contact/{contact_id}
Response:
{
"success": true,
"data": {
"contact_list_contact": {
"id": 1,
"list": 1,
"email": "contact@example.com",
"telephone": "351910000001",
"subscription_status": "SUBSCRIBED",
"bouncing": false
}
}
}
POST /contact_list/<list>/contact¶
Nota
Um contacto deve ter pelo menos um número de telefone ou um email.
Listas sem double opt-in não podem ter contactos com estado de subscrição PENDING.
Os campos personalizados são sempre opcionais.
| Parâmetro | Tipo | Descrição |
|---|---|---|
email |
string | Email do contacto |
telephone |
string | Número de telefone do contacto |
subscription_status |
string | Um de SUBSCRIBED, PENDING, UNSUBSCRIBED |
bouncing |
boolean | Se o contacto está marcado como não recebendo payloads |
custom_field[<id>] |
string | Valor para um campo personalizado. Substituir <id> pelo ID do campo (ex. custom_field[42]). Pode aparecer várias vezes para diferentes IDs. |
Devolve: O novo contacto.
Example:
curl -u "username:api_key" -H "Accept: application/json" \
-d "email=contact@example.com&telephone=351910000000&subscription_status=SUBSCRIBED" \
https://app.duo.pt/contact_list/{list_id}/contact
Response:
{
"success": true,
"data": {
"contact_list": {
"id": 1,
"owner": 1,
"name": "Example...",
"default_email_out": null,
"unsubscribe_message": "You have been unsubscribed.",
"email_out_custom_fields": null,
"double_optin": false,
"optout_allowed": false,
"optout_category": null,
"optin_email": null,
"optin_sms": null,
"shared_with_children": false,
"read_shared_with_children": false,
"segments": null
},
"transactionalAutomationNodes": [],
"contact_list_contact": {
"id": 1,
"list": 1,
"email": "contact@example.com",
"telephone": "351910000001",
"subscription_status": "SUBSCRIBED",
"bouncing": false
},
"success": true
}
}
PUT /contact_list/<list>/contact/<contact>¶
Mesmo payload que o POST.
Aviso
O PUT repõe o subscription_status para PENDING quando os parâmetros são enviados como application/x-www-form-urlencoded. Para preservar o estado existente, envie o PUT com Content-Type: application/json e inclua "subscription_status": "SUBSCRIBED" no body JSON.
Devolve: O contacto editado.
Example:
curl -u "username:api_key" -H "Accept: application/json" -X PUT \
-d "email=updated@example.com&subscription_status=SUBSCRIBED&bouncing=false" \
https://app.duo.pt/contact_list/{list_id}/contact/{contact_id}
Response:
{
"success": true,
"data": {
"contact_list": {
"id": 1,
"owner": 1,
"name": "Example...",
"default_email_out": null,
"unsubscribe_message": "You have been unsubscribed.",
"email_out_custom_fields": null,
"double_optin": false,
"optout_allowed": false,
"optout_category": null,
"optin_email": null,
"optin_sms": null,
"shared_with_children": false,
"read_shared_with_children": false,
"segments": null
},
"contact_list_contact": {
"id": 1,
"list": 1,
"email": "contact@example.com",
"telephone": "351910000001",
"subscription_status": "PENDING",
"bouncing": false
},
"success": true
}
}
DELETE /contact_list/<list>/contact/<contact>¶
Payload: Sem payload.
Devolve: O contacto eliminado.
Example:
curl -u "username:api_key" -H "Accept: application/json" -X DELETE \
https://app.duo.pt/contact_list/{list_id}/contact/{contact_id}
Response: