You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中通过HubSpot的sourceId获取联系人来源及创建详情?

在Node.js中获取HubSpot contact.creation webhook的sourceId及来源信息

一、直接从Webhook Payload读取sourceId

当你的Node.js服务收到HubSpot的contact.creation事件webhook请求时,只需要解析请求体,就能直接拿到sourceId字段——它就在你定义的HubSpotWebhookPayload结构里。

比如用Express框架接收请求的示例代码:

const express = require('express');
const app = express();

// 解析JSON格式的请求体
app.use(express.json());

app.post('/hubspot-webhook', (req, res) => {
  const payload = req.body;
  // 只处理contact.creation事件
  if (payload.subscriptionType === 'contact.creation') {
    const sourceId = payload.sourceId;
    console.log('联系人创建来源ID:', sourceId);
    // 这里可以根据sourceId做后续逻辑,比如匹配对应的创建方式
  }
  res.status(200).send('Success');
});

app.listen(3000, () => console.log('Webhook服务启动在3000端口'));

sourceId对应的常见创建方式参考:

  • FORM:通过HubSpot表单创建
  • API:通过HubSpot API创建
  • IMPORT:通过联系人导入创建
  • MANUAL:手动在后台创建
  • INTEGRATION:通过第三方集成创建

二、用@hubspot/api-client获取更详细的来源属性

如果需要更具体的来源名称(比如具体是哪个表单),可以用payload里的objectId(即联系人ID)调用HubSpot Contacts API,获取联系人的扩展属性:

  1. 先初始化@hubspot/api-client:
const { Client } = require('@hubspot/api-client');

const hubspotClient = new Client({
  accessToken: '你的HubSpot私有应用访问令牌'
});
  1. 调用API获取联系人的来源相关属性:
async function getContactSourceInfo(contactId) {
  try {
    const contact = await hubspotClient.crm.contacts.basicApi.getById(
      contactId,
      ['hs_creation_source', 'hs_originating_lead_source', 'hs_lead_source_id']
    );
    console.log('联系人创建来源:', contact.properties.hs_creation_source);
    console.log('原始线索来源:', contact.properties.hs_originating_lead_source);
    console.log('来源ID:', contact.properties.hs_lead_source_id);
    return contact.properties;
  } catch (error) {
    console.error('获取联系人信息失败:', error);
  }
}

// 在webhook处理中调用
app.post('/hubspot-webhook', async (req, res) => {
  const payload = req.body;
  if (payload.subscriptionType === 'contact.creation') {
    await getContactSourceInfo(payload.objectId);
  }
  res.status(200).send('Success');
});

这些属性的含义:

  • hs_creation_source:联系人创建的渠道类型
  • hs_originating_lead_source:具体的来源名称(比如某个表单的名称)
  • hs_lead_source_id:对应的来源ID(和webhook里的sourceId可能对应)

内容的提问来源于stack exchange,提问作者Gulam Mustafa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 02:42:22