Dernière modification : 22 août 2025
Run in Postman
Créer des contacts
Pour créer de nouveaux contacts, effectuez une requêtePOST
à /crm/v3/objects/contacts
.
Dans votre requête, incluez les données de votre contact dans un objet de propriétés. Vous pouvez également ajouter un objet d’association pour associer votre nouveau contact à des fiches d’informations existantes (par exemple : des entreprises ou des transactions) ou à des activités (par exemple : des réunions ou des notes).
Propriétés
Les détails du contact sont stockés dans des propriétés de contact. Il existe des propriétés de contact HubSpot par défaut, mais vous pouvez également créer des propriétés personnalisées. Lorsque vous créez un nouveau contact, vous devez inclure au moins une des propriétés suivantes dans votre requête :email
, firstname
ou lastname
. Il est recommandé de toujours inclure email
, car les adresses e-mail constituent le principal identifiant unique pour éviter les contacts en double dans HubSpot.
Pour afficher toutes les propriétés disponibles, vous pouvez récupérer une liste des contacts de votre compte en effectuant une requête GET
à /crm/v3/properties/contacts
. Découvrez-en davantage sur l’API des propriétés.
Remarque :
Si vous avez incluslifecyclestage
dans votre requête, les valeurs doivent faire référence au nom interne de la phase du cycle de vie. Les noms internes des phases par défaut sont des valeurs textes et ne changent pas, même si vous modifiez le libellé de la phase (par exemple : subscriber
ou marketingqualifiedlead
). Les noms internes des phases personnalisées sont des valeurs numériques. Vous pouvez trouver l’ID interne d’une phase dans vos paramètres de phase du cycle de vieou en récupérant la propriété de phase du cycle de vie via l’API.Associations
Lorsque vous créez un nouveau contact, vous pouvez également associer le contact à des fiches d’informations ou activités existantes en incluant un objet d’associations. Par exemple, pour associer un nouveau contact à une entreprise et une adresse e-mail existantes, votre requête ressemblerait à ce qui suit :Paramètre | Description |
---|---|
to | La fiche d’informations ou l’activité à laquelle vous souhaitez associer le contact, en fonction de sa valeur id unique. |
types | Le type d’association entre le contact et la fiche d’informations/l’activité. Inclut associationCategory et associationTypeId . Les ID de types d’association par défaut sont répertoriés ici, ou vous pouvez récupérer la valeur des types d’associations personnalisés (c’est-à-dire les libellés) via l’API des associations. |
Récupérer des contacts par ID de fiche d’informations, e-mail ou propriété de valeur unique personnalisée
Vous pouvez récupérer des contacts individuellement ou par lots.- Pour récupérer un contact individuel, effectuez une requête
GET
à/crm/v3/objects/contacts/{contactId} or
/crm/v3/objects/contacts/{email}?idProperty=email
. - Pour demander une liste de tous les contacts, effectuez une requête
GET
à/crm/v3/objects/contacts
.
Paramètre | Description |
---|---|
properties | Une liste séparée par des virgules des propriétés à renvoyer dans la réponse. Si le contact demandé n’a pas de valeur pour une propriété, il n’apparaîtra pas dans la réponse. |
propertiesWithHistory | Une liste séparée par des virgules des propriétés actuelles et historiques à renvoyer dans la réponse. Si le contact demandé n’a pas de valeur pour une propriété, il n’apparaîtra pas dans la réponse. |
associations | Une liste séparée par des virgules des objets pour lesquels récupérer les ID associés. Les associations spécifiées qui n’existent pas ne seront pas renvoyées dans la réponse. Découvrez-en davantage sur l’API des associations. |
- Pour récupérer un lot de contacts spécifiques par ID de fiche d’informations, adresse e-mail ou selon une propriété d’identifiant unique personnalisée, effectuez une requête
POST
àcrm/v3/objects/contacts/batch/read
. Le point de terminaison du lot ne peut pas récupérer les associations. Découvrez comment lire par lots les associations avec l’API des associations.
idProperty
facultatif pour récupérer les contacts par email
ou en fonction d’une propriété d’identifiant unique personnalisée. Par défaut, les valeurs d’id
dans la requête font référence à l’ID de fiche d’informations (hs_object_id
), de sorte que le paramètre idProperty
n’est pas requis lors de la récupération par ID de fiche d’informations. Si vous utilisez email
ou une propriété de valeur unique personnalisée pour récupérer des contacts, vous devez inclure le paramètre idProperty
.
Par exemple, pour récupérer un lot de contacts en fonction de valeurs d’ID de fiche d’informations, votre requête peut ressembler à ce qui suit (valeurs actuelles uniquement, ou valeurs actuelles et historiques) :
Pour récupérer des contacts en fonction d’une adresse e-mail ou d’un identifiant unique personnalisé (par exemple, un numéro d’identification client unique pour votre entreprise), votre requête ressemblerait à ce qui suit :
Mettre à jour des contacts
Vous pouvez mettre à jour des contacts individuellement ou par lots. Pour mettre à jour des contacts individuels, vous pouvez utiliser l’ID de fiche d’informations (id
) ou l’adresse e-mail du contact (email
).
- Pour mettre à jour un contact individuel avec son ID de fiche d’informations, effectuez une requête
PATCH
à/crm/v3/objects/contacts/{contactId}
et incluez les données que vous souhaitez mettre à jour. - Pour mettre à jour un contact individuel avec son ID de fiche d’informations, effectuez une requête
PATCH
à/crm/v3/objects/contacts/{email}?idProperty=email
et incluez les données que vous souhaitez mettre à jour.
Remarque :
Si vous mettez à jour la propriétélifecyclestage
, vous ne pouvez qu’avancer la valeur dans l’ordre des étapes. Pour rétrograder la phase du cycle de vie, vous devrez d’abord effacer la valeur de phase du cycle de vie existante de la fiche d’informations. La valeur peut être effacée manuellement, ou automatiquement via un workflow ou une intégration qui synchronise les données de contact.id
). Pour mettre à jour plusieurs contacts, effectuez une requête POST
à /crm/v3/objects/contacts/batch/update
. Dans le corps de votre requête, incluez l’ID de fiche d’informations de chaque contact comme id
et incluez les propriétés que vous souhaitez mettre à jour.
Par exemple :
Insérer des contacts
Vous pouvez également créer et mettre à jour des contacts par lots en même temps en utilisant le point de terminaison upsert. Pour ce point de terminaison, vous pouvez utiliseremail
ou une propriété d’identifiant unique personnalisée. À la suite de la requête, si les contacts existent déjà, ils seront mis à jour. S’ils n’existent pas, ils seront créés.
Pour insérer des contacts, effectuez une requête POST
à /crm/v3/objects/contacts/batch/upsert
. Dans le corps de votre requête, incluez le paramètre idProperty
pour déterminer si vous utilisez email
ou une propriété d’identifiant unique personnalisée. Incluez la valeur de cette propriété en tant qu’id
et ajoutez les autres propriétés que vous souhaitez définir ou mettre à jour.
Remarque :
Les mises à jour partielles ne sont pas prises en charge lors de l’utilisation deemail
comme idProperty
pour les contacts. Pour réaliser un upsert partiel, utilisez plutôt une propriété d’identifiant unique personnalisé comme idProperty
.Associer des contacts existants à des fiches d’informations ou activités
Pour associer un contact à d’autres fiches d’informations de CRM ou à une activité, effectuez une requêtePUT
à /crm/v3/objects/contacts/{contactId}/associations/{toObjectType}/{toObjectId}/{associationTypeId}
.
Pour récupérer la valeur
associationTypeId
, reportez-vous à cette liste de valeurs par défaut ou effectuez une requête GET
à /crm/v4/associations/{fromObjectType}/{toObjectType}/labels
.Supprimer une association
Pour supprimer une association entre un contact et une fiche d’informations ou une activité, effectuez une requêteDELETE
à l’URL suivante : /crm/v3/objects/contacts/{contactID}/associations/{toObjectType}/{toObjectId}/{associationTypeId}
Épingler une activité à une fiche d’informations d’un contact
Vous pouvez épingler une activité à une fiche d’informations de contact en incluant le champhs_pinned_engagement_id
dans votre requête. Dans le champ, incluez l’id
de l’activité à épingler, qui peut être récupéré via les API d’engagement. Vous pouvez épingler une activité par fiche d’informations, et l’activité doit déjà être associée au contact avant l’épinglage.
Pour définir ou mettre à jour l’activité épinglée d’un contact, votre requête peut ressembler à :
Supprimer des contacts
Vous pouvez supprimer des contacts individuellement ou par lots, ce qui placera le contact dans la corbeille dans HubSpot. Vous pourrez ensuite restaurer la transaction dans HubSpot. Pour supprimer un contact individuel avec son ID, effectuez une requêteDELETE
à /crm/v3/objects/contacts/{contactId}
.
Pour en savoir plus sur la suppression de contacts par lots, consultez la documentation de référence.
E-mails supplémentaires
Les adresses e-mail additionnelles sont utilisées lorsqu’un contact a plus d’une adresse e-mail. Elles peuvent être ajoutées manuellement sur une fiche d’informations de contact dans HubSpot ou automatiquement après une fusion de contact. Les e-mails supplémentaires sont toujours des identifiants uniques pour les contacts, de sorte que plusieurs contacts ne peuvent pas avoir les mêmes adresses e-mail additionnelles. Pour afficher les e-mails additionnelles pour les contacts, lorsque vous récupérez tous les contacts ou des contacts individuels, incluez le paramètreproperties
avec les propriétés email
et hs_additional_emails
. L’adresse e-mail principale d’un contact sera affichée dans le champ email
et les adresses e-mail supplémentaires seront affichées dans le champ hs_additional_emails
.