• Learn how AI and automation actually work in your Help Desk. Ask our experts how to improve team speed and customer happiness! AMA Nov 17-21.

    Ask us anything

RevOps & Data Hub

MDUPIN
Member

HubSpotAPI

SOLVE

Bonjour à tous,

Je travaille actuellement sur une intégration avec HubSpot, et je rencontre un blocage que je n'arrive pas à résoudre.

Je récupère bien les données suivantes :

  • les leads,

  • les deals,

  • les pipelines,

  • les entreprises,

  • ainsi que les contacts.

Cependant, lorsque j'extrais ces données, je ne vois aucun identifiant clair (ID ou champ de liaison) qui me permettrait de faire le lien entre ces différents objets pour reconstruire les relations entre eux (par exemple : quel contact est rattaché à quel deal ou entreprise ?).

Je me demande donc :

  • Est-ce que ces relations sont visibles directement dans l’interface HubSpot (et donc exploitables via les workflows) ?

  • Ou faut-il forcément passer par l’API HubSpot pour faire ces liaisons entre objets via les IDs associés ?

Si quelqu’un a déjà été confronté à ce cas de figure ou peut m’aiguiller sur la bonne approche, je suis preneur !

Merci d’avance pour vos retours. 🙏

0 Upvotes
2 Accepted solutions
sylvain_tirreau
Solution
Top Contributor

HubSpotAPI

SOLVE

Bonjour @MDUPIN ,

 

En fait il faut comprendre comment marchent les associations. Je vous conseille ce lien : https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v3

 

Mais en regle générale, les objects classiques sont reliés entre eux, on le voit dans le front de notre portail Hubspot : les deals sont liés à des entreprises, les contacts sont liés aux entreprises, etc. On peut aussi créér nos propres associations, surtout si l'on crée nos objets personnalisés...

 

Dans votre cas (récupérer tous les deals liés à une entreprise), la requête est assez simple :

https://api.hubapi.com/crm/v3/objects/companies/{companyId}/associations/deals?limit=100&archived=fa...

 

On peut aussi utiliser l'API search de l'objet deals (ou autre) :

curl --request POST \
  --url "https://api.hubapi.com/crm/v3/objects/deals/search" \
  --header "Authorization: Bearer {ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data '{
    "filterGroups": [
      {
        "filters": [
          {
            "propertyName": "associations.company",
            "operator": "EQ",
            "value": "{companyId}"
          }
        ]
      }
    ],
    "properties": ["dealname","amount","dealstage","closedate"],
    "limit": 100
  }'

 

Pour la dernière question, il faut en fait récupérer les bonnes propriétés de chaque objet en ajoutant par exemple, dans le cas de l'url pour les deals liés à une entreprise, ceci : "&properties=dealname,amount,hs_analytics_source,hs_analytics_source_data_1,hs_analytics_source_data_2,hs_analytics_source_data_3"

Ces propriétés (hs_analytics_source,hs_analytics_source_data_1,hs_analytics_source_data_2,hs_analytics_source_data_3) permettent de récupérer les sources des objets quand elles sont disponibles.

Sylvain Tirreau avatar

Sylvain Tirreau

FREELANCE HUBSPOT DEVELOPER SPECIALIZING IN ADVANCED HUBSPOT CUSTOMIZATION.

I am not a HubSpot member. Just a HubSpot community member.

FRANCE - European Union

HubSpot CommunityLinkedInMap
hubspot-addict.comOpen in new tab

View solution in original post

GDiMaiolo
Solution
Top Contributor

HubSpotAPI

SOLVE

Bonjour,

 

En fait chaque objet a un ID "primaire". Par exemple sur l'objet entreprise c'est celui ci :

GDiMaiolo_0-1750837493373.png

Les associations entre objets se font via ces Ids. Si vous souhaitez les gérer via API, il faut utiliser les endpoint d'associations :

https://developers.hubspot.com/docs/reference/api/crm/associations/association-details

 

Vous pouvez ainsi rechercher ou même creer des associations entre objets :

 

--url https://api.hubapi.com/crm/v4/associations/fromObjectType/toObjectType/batch/associate/default \
--header 'authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--data '{
"inputs": [
{
"from": {
"id": "string"
},
"to": {
"id": "string"
}
}
]

View solution in original post

5 Replies 5
sylvain_tirreau
Top Contributor

HubSpotAPI

SOLVE

Bonjour @MDUPIN ,

 

Il faut utiliser l'API. En fait c'est votre besoin qui va déterminer ce que vous allez demander à l'API :

 

- si vous souhaitez les contacts liés à un deal, vous interrogez l'API des leads en lui demandant les contacts associés (associations=contacts) au deal 123456;

- si vous souhaitez récupérez toutes les transactions liées à une entreprise, vous interrogez l'API des entreprises en lui demandant les transactions associées (associations=deals) à l'entreprise 123456;

- etc.

 

Vous voulez faire quoi exactement et précisément ?

Sylvain Tirreau avatar

Sylvain Tirreau

FREELANCE HUBSPOT DEVELOPER SPECIALIZING IN ADVANCED HUBSPOT CUSTOMIZATION.

I am not a HubSpot member. Just a HubSpot community member.

FRANCE - European Union

HubSpot CommunityLinkedInMap
hubspot-addict.comOpen in new tab
MDUPIN
Member

HubSpotAPI

SOLVE

Bonjour Sylvain @sylvain_tirreau  c'est justement le type de relation que j'aimerai faire à titre d'exemple  voici le model d'un deal que je reçois :

via le endpoint  /crm/v3/objects/deals

  ```
{
    "amount": null,
    "closedate": "2025-05-26T08:02:47.968Z",
    "createdate": "2025-05-26T05:12:11.590Z",
    "dealname": "Formulaire ",
    "dealstage": "65967792",
    "hs_lastmodifieddate": "2025-05-26T08:02:52.406Z",
    "hs_object_id": "37962677368",
    "pipeline": "14360386",
    "id": "37962677368"
  }
``` et l'exemple d'une compagnie que voici : 
via le endpoint /crm/v3/objects/companies
  {
    "createdate": "2021-04-01T09:01:13.685Z",
    "domain": "xxxx.fr",
    "hs_lastmodifieddate": "2024-11-22T05:19:34.521Z",
    "hs_object_id": "5763673437",
    "name": "xxx",
    "id": "5763673437"
  },
 

Cependant, je constate qu'il n'y a aucune association explicite dans les schémas qui me permettrait de retrouver les transactions (deals) associées à une entreprise (company).

Doit-on définir quelque part les relations que l'on souhaite établir entre les différents objets du CRM afin de pouvoir travailler avec ces données ?

 

La seule relation que je trouve actuellement est celle entre les deals et les pipelines. Les autres objets ne semblent pas posséder d'associations qui les lient à d'autres entités. Peut-être y a-t-il un travail d'association à définir au préalable ?

 

Par ailleurs, l'un de mes objectifs est de récupérer les sources des transactions dans HubSpot, notamment pour savoir si elles proviennent du référencement naturel (organic search). Apparemment, cette information devrait se trouver dans les propriétés associées à l'objet "Deals" ou à des objets liés, comme les "Contacts" ou les "Entreprises". Mais pour l'instant, je ne parviens pas à récupérer ces propriétés via l'API.

0 Upvotes
GDiMaiolo
Solution
Top Contributor

HubSpotAPI

SOLVE

Bonjour,

 

En fait chaque objet a un ID "primaire". Par exemple sur l'objet entreprise c'est celui ci :

GDiMaiolo_0-1750837493373.png

Les associations entre objets se font via ces Ids. Si vous souhaitez les gérer via API, il faut utiliser les endpoint d'associations :

https://developers.hubspot.com/docs/reference/api/crm/associations/association-details

 

Vous pouvez ainsi rechercher ou même creer des associations entre objets :

 

--url https://api.hubapi.com/crm/v4/associations/fromObjectType/toObjectType/batch/associate/default \
--header 'authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--data '{
"inputs": [
{
"from": {
"id": "string"
},
"to": {
"id": "string"
}
}
]

sylvain_tirreau
Solution
Top Contributor

HubSpotAPI

SOLVE

Bonjour @MDUPIN ,

 

En fait il faut comprendre comment marchent les associations. Je vous conseille ce lien : https://developers.hubspot.com/docs/guides/api/crm/associations/associations-v3

 

Mais en regle générale, les objects classiques sont reliés entre eux, on le voit dans le front de notre portail Hubspot : les deals sont liés à des entreprises, les contacts sont liés aux entreprises, etc. On peut aussi créér nos propres associations, surtout si l'on crée nos objets personnalisés...

 

Dans votre cas (récupérer tous les deals liés à une entreprise), la requête est assez simple :

https://api.hubapi.com/crm/v3/objects/companies/{companyId}/associations/deals?limit=100&archived=fa...

 

On peut aussi utiliser l'API search de l'objet deals (ou autre) :

curl --request POST \
  --url "https://api.hubapi.com/crm/v3/objects/deals/search" \
  --header "Authorization: Bearer {ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data '{
    "filterGroups": [
      {
        "filters": [
          {
            "propertyName": "associations.company",
            "operator": "EQ",
            "value": "{companyId}"
          }
        ]
      }
    ],
    "properties": ["dealname","amount","dealstage","closedate"],
    "limit": 100
  }'

 

Pour la dernière question, il faut en fait récupérer les bonnes propriétés de chaque objet en ajoutant par exemple, dans le cas de l'url pour les deals liés à une entreprise, ceci : "&properties=dealname,amount,hs_analytics_source,hs_analytics_source_data_1,hs_analytics_source_data_2,hs_analytics_source_data_3"

Ces propriétés (hs_analytics_source,hs_analytics_source_data_1,hs_analytics_source_data_2,hs_analytics_source_data_3) permettent de récupérer les sources des objets quand elles sont disponibles.

Sylvain Tirreau avatar

Sylvain Tirreau

FREELANCE HUBSPOT DEVELOPER SPECIALIZING IN ADVANCED HUBSPOT CUSTOMIZATION.

I am not a HubSpot member. Just a HubSpot community member.

FRANCE - European Union

HubSpot CommunityLinkedInMap
hubspot-addict.comOpen in new tab
BérangèreL
Community Manager
Community Manager

HubSpotAPI

SOLVE

Bonjour @MDUPIN et bienvenue, c'est un vrai plaisir de vous avoir ici !

Merci de demander à la Communauté HubSpot !

De quelle intégration s'agit-il s'il vous plaît ?

Comment essayez-vous d'extraire les données ? Est-ce via API ?
Si oui, quelle API utilisez-vous ?

Vous essayez de voir les associations entre contacts et transactions (ou autres objets), donc vous avez-besoin du "Record ID". Dites-moi si ce n'est pas le cas.

Voici une documentation (en Anglais) qui peut vous intéresser : "Associations v4".

Je voudrais aussi faire appel à quelques-uns de nos Experts : Bonjour @sylvain_tirreau et @MBERARD, avez-vous des suggestions pour aider @MDUPIN s'il vous plaît ?

Merci beaucoup et belle journée !
Bérangère.





loop


Loop Marketing is a new four-stage approach that combines AI efficiency and human authenticity to drive growth.

Learn More