aethexDocs
Source de liste personnalisée logo
CRM

Source de liste personnalisée

Créez des listes d'appels depuis un point d'accès JSON que vous hébergez. Votre point d'accès fait foi pour les personnes appelées.

Fonctionnement

Vous connectez un point d'accès HTTPS qui renvoie les personnes à appeler, avec un secret que votre point d'accès vérifie. Dans la plateforme Aethex, vous créez une liste d'appels à partir de lui en choisissant le champ qui contient le numéro. Aethex le lit à la création de la liste, lorsque vous cliquez sur Synchroniser la liste, et une fois au début de chaque exécution de campagne sur la liste ; la liste est remplacée par ce qu'il renvoie, et les modifications de ses lignes dans Aethex ne sont pas conservées. Aethex appelle votre point d'accès ; votre point d'accès n'appelle jamais Aethex. Une seule source de liste personnalisée par espace de travail pour le moment. Elle peut fournir plusieurs listes : exposez chacune sous son propre chemin à la suite de l'adresse connectée (par exemple /dormant), et saisissez ce nom dans Liste à lire lorsque vous créez la liste d'appels. Un nom contient des lettres, des chiffres, - et _.

Ce que votre point d'accès renvoie

docs.customListSource.responseContent

Une réponse
json
{
  "success": true,
  "data": [
    { "customer_reference": "AB-204513", "phone": "+2348030000101", "first_name": "Ngozi" },
    { "customer_reference": "AB-204877", "phone": "+2348030000102", "first_name": "Tunde" }
  ],
  "next": "optional-cursor-for-the-next-page"
}

Authentification

Un secret est obligatoire. Aethex l'envoie à chaque requête en Authorization: Bearer <secret>, ou dans l'en-tête défini dans config.auth_header (par exemple x-api-key). Votre point d'accès doit refuser toute requête sans lui avec 401 ou 403 : lors de la connexion, Aethex envoie une requête avec un mauvais secret et refuse la connexion si elle obtient une réponse. Vous pouvez aussi autoriser les adresses sortantes d'Aethex ; demandez-les au support Aethex.

Attention
Une liste d'autorisation seule ne suffit pas : les adresses sortantes sont partagées par tous les espaces de travail d'Aethex, elles indiquent à votre pare-feu que la requête vient d'Aethex, pas de quel client. C'est le secret qui relie votre point d'accès à votre espace de travail.

Connexion par API

base_url est l'adresse complète de votre point d'accès, chemin compris, en HTTPS, sans ? ni #. Tout port est accepté. Les adresses privées, internes ou qui redirigent sont refusées. config est facultatif : id_field, records_key et auth_header.

Connecter une source de liste personnalisée
bash
curl -X POST https://api.aethexai.com/api/v1/integrations \
  -H "X-API-Key: $AETHEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "http_list",
    "base_url": "https://lists.example.com/customers/to-call",
    "access_token": "'"$LIST_SECRET"'",
    "config": { "id_field": "customer_reference" }
  }'

# Aethex reads the endpoint once, then sends one request with a wrong secret.
# The connection is refused unless that request is answered 401 or 403.

Quand la liste est lue

Une fois à la création de la liste d'appels, chaque fois que quelqu'un clique sur Synchroniser la liste, et une fois au début de chaque exécution de campagne sur la liste tant que son réglage Synchroniser avant chaque campagne est activé (par défaut). Si cette lecture échoue, l'exécution attend et réessaie pendant un temps limité, puis échoue avec la raison et les propriétaires de l'espace de travail reçoivent un e-mail ; elle n'appelle pas une liste périmée. Elle est relue avant le premier appel de chaque jour d'appel suivant d'une exécution. Elle est aussi relue avant chaque série de rappels, qui ne rappelle que les personnes non jointes encore présentes dans la liste.

Erreurs possibles

- answered a request that carried the wrong secret : votre point d'accès ne vérifie pas le secret ; faites-lui refuser les requêtes qui ne le contiennent pas.
- refused the request (HTTP 401/403) : le secret est faux, ou l'adresse d'Aethex n'est pas autorisée.
- temporarily unavailable (HTTP 5xx, 408, 429) ou reported a failure : nouvelle tentative plus tard.
- did not answer with JSON, no recognisable id field, No record carries the id field : vérifiez la forme de la réponse et config.id_field.
- returned N records in one response ou more than 2 MB : paginez la réponse avec next.