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.
Prenez note
- L'API pour les importateurs de contacts en vrac est disponible sur tous les plans d'ActiveCampaign
- Cette fonctionnalité 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 offres sur de grandes quantités de contacts en une seule fois. Ces offres 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
Remarque
Le Bulk Contact Importer n'est pas conçu pour supporter des offres 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 avez besoin de télécharger 10 ou moins de contacts à la fois, veuillez utiliser la fonctionnalité 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 de la charge utile d'une seule demande d'importation en masse doit être inférieure à 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 e-mail
- L'adresse e-mail du contact ne doit pas figurer sur une liste d'exclusion
- L'adresse e-mail du contact ne doit pas figurer sur une liste d'adresses e-mail 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
POST 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" :
}
Response
200 OK
{
"Success":1,
"queued_contacts":1,
"batchId" :"0641fbdd-f62f-4c2c-ba02-3a83d5d11ac9",
"message" : "Importation de contact en file d'attente"
}
400 Bad Request
{
"Success":0,
"message" : "Les données utiles JSON n'ont pas passé la validation. Veuillez réparer l'échecRaisonnements et réessayer. L'importation n'a pas été mise en file d'attente pour le traitement.",
"failureReasons" :["Les données utiles doivent contenir un champ 'contacts'"]
}
Parures corporelles
tableau de 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 :
-
email* (string)
L'e-mail du contact. -
first_name (string)
Le prénom du contact. -
last_name (string)
Le nom de famille du contact. -
phone (string)
Le numéro de téléphone du contact. -
customer_acct_name (string)
Le nom du compte du contact. -
tags array (string)
Chaque chaîne dans le tableau sera ajoutée comme un seul tag au contact. De nouvelles tags seront créées si elles n'existent pas encore. -
fields array (object)
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* (nombre)
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 "Lister tous les champs personnalisés". -
value* (string)
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 tableau de listes auxquelles le contact doit s'abonner. 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'ID de la liste à laquelle le contact doit être abonné. Les listes doivent être référencées par l'identifiant que ActiveCampaign leur attribue.
Vous pouvez trouver l'ID de la liste en cliquant sur la liste dans votre compte ActiveCampaign puis en regardant la barre URL. Il ressemblera à quelque chose comme ceci : /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)
Un tableau de listes pour désabonner le contact. Chaque objet liste contient un seul champ.
listid* (nombre)L'ID de la liste dont il faut désabonner le contact. Les listes doivent être référencées par l'identifiant que ActiveCampaign leur attribue.
Vous pouvez trouver l'ID de la liste en cliquant sur la liste dans votre ActiveCampaign puis en regardant la barre URL. Il ressemblera à quelque chose comme ceci : /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 fonctionnalité :
JSON
{
"contacts" : [ ... inclure les contacts ici ... ],
"callback" : {
"url" : "www.your_web_server.com",
"requestType" : "POST",
"detailed_results" : "true",
"params" : [
{"key" :"", "value" :""}
]
"headers" : [
{"key" :"", "value" :""}
]
}
}
-
url (string)
Le point de terminaison URL auquel l'importateur fera une demande une fois l'importation terminée. -
requestType (string)
Peut être défini comme "GET" ou "POST". Détermine le type de requête HTTP qui sera envoyée au point de terminaison spécifié. -
detailed_results (string)
Lorsqu'il a la valeur "true" et que le paramètre requestType a la valeur "POST", le rappel inclut 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. - headers (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" :"", "value" :""}
]
}
}
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" : "POST",
"params" : [
{"key" : "msg", "value" : "Import completed"}
]
"headers" : [
{"key" : "Authorization", "value" : "Bearer 4u1h_t0k3N"}
]
}
}
Résultat :
GET www.yourwebsite.com/the/api/to/hit
JSON
[
{"key" : "msg", "value" : "Import completed"}
]
Importer des résultats avec des messages d'erreur
{
"contacts" : [ ... inclure les contacts ici ... ],
"callback" : {
"requestType" : "POST",
"detailed_results" : "true",
"headers" : [
{"key" :"", "value" :""}
]
}
}
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
{
"Success":1,
"Failures":0,
"failure_reasons" :[]
}