Ir para o conteúdo

Lista de Contactos — Contactos (Coleção)

Endpoint de coleção de contactos e carregamento de CSV em massa.

Endpoint

Todos os verbos: /contact_list/<list>/contacts


GET /contact_list/<list>/contacts

Parâmetro Tipo Descrição
page int Página a devolver. Por defeito 1.
pagesize int Tamanho da página de resultados. Intervalo [10, 100]. Por defeito 10.

Devolve: Coleção de contactos e contagem de resultados.

Example:

curl -u "username:api_key" -H "Accept: application/json" \
  "https://app.duo.pt/contact_list/{list_id}/contacts?page=1&pagesize=10"

Response:

{
  "success": true,
  "data": {
    "result": [
      {
        "contact_id": 17137542,
        "subscription_status": "PENDING",
        "bouncing": false,
        "telephone": "351910000001",
        "email": "contact@example.com"
      }
    ],
    "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
    },
    "filter": "",
    "page": 1,
    "pagesize": 10,
    "count": 1
  }
}

POST /contact_list/<list>/contacts

Carregamento de contactos em massa a partir de um ficheiro CSV previamente submetido. Este é um processo de dois passos:

  1. POST o ficheiro CSV para /contact_list/contacts/new/ — receber csv_file_path.
  2. POST para este endpoint com o csv_file_path.
Parâmetro Tipo Descrição
csv_file_path string Caminho do passo de carregamento anterior
mapping[<column_index>] int ou string Mapeamento de coluna: string vazia (ignorar), "email", "telephone", ou ID de campo personalizado (int)
header int 0 = a primeira linha é um contacto; 1 = a primeira linha são cabeçalhos de coluna
on_duplicate string ignore (ignorar existentes) ou update (actualizar campos personalizados)
subscription_status string PENDING ou SUBSCRIBED
offset int Primeira linha a processar. Omitir na primeira chamada. Usar next_offset da resposta anterior nas chamadas subsequentes.

Devolve: Um dicionário com:

Chave Descrição
not_updated Lista de contactos não actualizados
updated Lista de contactos actualizados
created Lista de contactos criados
failed Dicionário de falhas de importação por contacto
contact_list A lista de contactos
next_offset Presente se o limite de processamento foi atingido — resubmeter com este valor como offset para continuar