Utiliser l'API de l'importateur de contact en vrac

Avec ActiveCampaign, vous pouvez utiliser l'API d'importation de contacts en vrac pour télécharger un grand nombre de contacts sur votre compte avec un seul appel API.

Remarque

  • L'API pour les importateurs de contacts en vrac est disponible sur tous les plans d'ActiveCampaign
  • Cette fonction est destinée aux utilisateurs avancés qui connaissent l'API et qui sont à l'aise pour l'utiliser pour importer des contacts

À propos de l'API des importateurs de contact en vrac

L'importateur de contacts en vrac est conçu pour effectuer des opérations sur de grandes quantités de contacts en une seule fois. Ces opérations comprennent :

  • Créer de nouveaux contacts
  • Mise à jour des contacts existants
  • Définition des champs sur les contacts
  • Marquage des contacts
  • Ajout de contacts aux listes

Note

Le Bulk Contact Importer n'est pas conçu pour supporter des opérations fréquentes impliquant un petit nombre de contacts ou pour synchroniser des mises à jour en temps réel à partir d'une base de données externe. Les mises à jour des contacts devraient plutôt être rassemblées en lots plus importants et importées en tant que groupe. Les contacts peuvent être importés par lots de 250 pièces maximum.

Si vous devez télécharger 10 contacts ou moins à la fois, veuillez utiliser la fonction Contacts de notre ActiveCampaign API V3

Limitation des taux

Le processus d'importation en vrac est optimisé pour le téléchargement de listes de contacts plus importantes. L'exécution de demandes fréquentes qui impliquent un petit nombre de contacts nécessite des frais généraux importants et peut affecter les performances de l'importateur’. Par conséquent, nous appliquons les limites de taux suivantes à l'API des importateurs de contact en vrac :

  • Pour les demandes contenant un seul contact, il y a une limite de 20 demandes par minute
  • Pour les demandes contenant des contacts multiples, il y a une limite de 100 demandes par minute

Nous recommandons à tous les utilisateurs d'essayer de regrouper les mises à jour en groupes aussi importants que possible avant de commencer une importation.

Limitation de la taille de la charge utile

La taille maximale de la charge utile d'une seule demande d'importation en vrac est de 400 000 octets.

Contacts manqués

Les contacts doivent répondre à tous les critères suivants pour pouvoir être créés ou mis à jour avec cette API :

  • Les contacts importés ne peuvent pas dépasser la limite de votre compte
  • Le contact doit avoir une adresse électronique
  • L'adresse électronique du contact’ne doit pas figurer sur une liste d'exclusion
  • L'adresse électronique du contact’ne doit pas figurer sur une liste d'adresses électroniques rejetées
  • Le contact ne doit pas s'être désinscrit d'une liste à laquelle l'importation l'ajouterait

Si les contacts ne répondent pas à toutes ces exigences, ils seront ignorés par l'importateur.

Documentation de l’API

POSTE https://youraccountname.api-us1.com/api/3/import/bulk_import

Structure de la demande

JSON
{
"contacts" : [
    {
        "email" : "someone@somewhere.com",
        "first_name": "Jane",
        "last_name": "Doe",
        "phone": “123-456-7890”,
		"customer_acct_name": "ActiveCampaign",
        "tags" : [
            		"dictumst aliquam augue quam sollicitudin rutrum",
        		],
        "fields": [
{"id": 1, "value": "foo"},
{"id": 2,"value": "foo||bar||baz"}
        ],
        "subscribe": [{"listid": 1}, {"listid": 2}],
        "unsubscribe": [{"listid": 3}],
    }
],
"callback" : <facultatif, voir ci-dessous >
}

Réponse
200 OK
{
"Succès" : 1,
"queued_contacts":1,
"batchId" :"0641fbdd-f62f-4c2c-ba02-3a83d5d11ac9",
"message" : "Contact import en file d'attente
}
 
400 Mauvaise demande
{
"Succès" : 0,
"message" : "La charge utile de JSON n'a pas passé la validation. Veuillez réparer l'échecRaisonnements et réessayer. L'importation n'a pas été mise en file d'attente pour être traitée",
"failureReasons" : ["Payload must contain a 'contacts' field"]
}

 

Parures corporelles

tableau des contacts* (objet)

Un ensemble d'objets contenant des informations sur un seul contact. Jusqu'à 250 contacts peuvent être inclus dans une seule demande. Chaque contact peut contenir les champs suivants :

  • e-mail* (chaîne de caractères)
    L’email du contact.
  • prénom (chaîne de caractères)
    Le prénom du contact.
  • nom_famille (chaîne de caractères)
    Le nom de famille du contact.
  • téléphone (chaîne de caractères)
    Le numéro de téléphone du contact.
  • nom_acct_client (chaîne de caractères)
    Le nom du compte du contact.
  • tableau de balises (chaîne de caractères)
    Chaque chaîne du tableau sera ajoutée au contact sous la forme d'une étiquette unique. De nouvelles balises seront créées si elles n'existent pas encore.
  • tableau de champs (objet)
    Une liste de champs personnalisés à appliquer au contact. Chaque champ doit contenir deux champs : Chaque contact peut avoir jusqu'à N champs personnalisés.
  • id* (numéro)
    L'ID du champ personnalisé. Les champs personnalisés doivent être référencés par l'ID que ActiveCampaign leur attribue. Vous pouvez récupérer le numéro d'identification d'un champ personnalisé en utilisant l'appel API "Liste de tous les champs personnalisés".
  • valeur* (chaîne de caractères)
    La valeur du champ personnalisé. Les champs à valeurs multiples peuvent être remplis en séparant les différentes valeurs par le délimiteur à double tube (“||”).
  • tableau d’abonnement(objet)
    Un ensemble de listes auxquelles le contact peut s'inscrire. Les contacts ne peuvent pas être inscrits à des listes dont ils se sont précédemment désabonnés. Chaque objet de liste contient un seul champ.
  • listid* (nombre)
    L'identifiant de la liste à laquelle le contact doit s'inscrire. Les listes doivent être référencées par l'identifiant que ActiveCampaign leur attribue.

    Vous pouvez trouver l'identifiant de la liste en cliquant sur la liste dans votre compte ActiveCampaign puis en affichant la barre d'URL. Il ressemblera à quelque chose comme ça : /app/contacts/ ?listid=19&status=1

    Vous pouvez également récupérer le numéro d'identification d'une liste en utilisant l'appel API "Récupérer toutes les listes".
  • tableau de désabonnement (objet)
    Une série de listes pour désabonner le contact. Chaque objet de liste contient un seul champ.
  • listid* (numéro)
    L'identifiant de la liste pour désabonner le contact. Les listes doivent être référencées par l'identifiant que ActiveCampaign leur attribue.

    Vous pouvez trouver l'identifiant de la liste en cliquant sur la liste dans votre ActiveCampaign puis en visualisant la barre d'URL. Il ressemblera à quelque chose comme ça : /app/contacts/ ?listid=19&status=1

    Vous pouvez également récupérer le numéro d'identification d'une liste en utilisant l'appel API "Récupérer toutes les listes".

Rappels

Le point de contact de masse dispose d'une fonction de rappel pour informer les utilisateurs lorsqu'une importation est terminée. Veuillez inclure les informations suivantes dans une demande d'importation de contact pour utiliser cette fonction :

JSON
{
“url”: “www.your_web_server.com”,
"contacts" : [ ... inclure les contacts ici ... ],
“callback”: {
	“requestType”: “POSTE”,
	“detailed_results”: “true”,
	“params”: [
		{“key”:””,”valeur”:””}
    ]
	“headers”: [
		{“key”:””,”valeur”:””}
    ]
}
}
  • url (chaîne de caractères)
    Le point final de l'URL auquel l'importateur fera une demande une fois l'importation terminée.
  • requestType (chaîne de caractères)
    Peut être réglé sur “GET” ou “POST”. Détermine le type de requête HTTP qui sera envoyée au point de terminaison spécifié.
  • detailed_results (chaîne de caractères)
    Lorsque le paramètre “true” et le paramètre requestType sont réglés sur “POST”, le rappel comprendra le nombre de succès et d'échecs de la demande d'origine, ainsi qu'un tableau de messages d'erreur pour chaque contact échoué.
  • params (array)
    Une liste de paramètres à inclure dans la demande de rappel. Ajoutez chaque paramètre sous la forme d'une paire clé-valeur. Pour une requête GET, chaque paramètre sera ajouté à la fin de l'URL dans une chaîne de requête. Pour une demande POST, les paramètres seront inclus dans le corps de la demande. 
  • en-têtes (tableau)
    Une liste d'en-têtes à inclure dans la demande de rappel. Ajoutez chaque en-tête sous la forme d'une paire clé-valeur.

Exemples

Réception d'une notification

{
"contacts" : [ ... inclure les contacts ici ... ],
“callback”: {
	“url”: “www.yourwebsite.com/the/api/to/hit”,
    “requestType”: “GET”,
	“params”: [
		{“key”:”msg”,”value”:”hello”}
    ]
	“headers”: [
		{“key”:””,”valeur”:””}
    ]
}
}

 

Les params seront ajoutés à l'URL comme paramètres de requête dans le cas d'une requête “GET”. Les en-têtes seront appliqués à la demande avant qu'elle ne soit envoyée. Ce terminal accepte toute valeur de chaîne pour les clés et les valeurs pour les paramètres et les en-têtes.

Résultat :

GET www.yourwebsite.com/the/api/to/hit?msg=hello

Poster un message

{
"contacts" : [ ... inclure les contacts ici ... ],
“callback”: {
	“requestType”: “POSTE”,
	“params”: [
		{“key”:”msg”,”value”:”Importation terminée”}
    ]
	“headers”: [
		{“key”:”autorisation”,”value”:”porteur 4u1h_t0k3N”}
    ]
}
}

 

Résultat :

GET www.yourwebsite.com/the/api/to/hit

JSON
[
{“key”:”msg”,”value”:”Importation terminée”}
]

 

Importer des résultats avec des messages d'erreur

{
"contacts" : [ ... inclure les contacts ici ... ],
“callback”: {
	“requestType”: “POSTE”,
	“detailed_results”: “true”,
	“headers”: [
		{“key”:””,”valeur”:””}
    ]
}
}

 

Lorsque le paramètre “detailed_results” est réglé sur "True", le rappel comprendra :

  • Un objet JSON contenant les paramètres spécifiés
  • Trois autres domaines de la réponse qui peuvent aider au suivi et au débogage

Résultat :

GET www.yourwebsite.com/the/api/to/hit

JSON
{
"Succès" : 1,
"Échecs":0,
"failure_reasons":[]
}
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0
Vous avez d’autres questions ? Envoyer une demande