SDK
示例代码仓库
覆盖 Java、Python、Node.js 三种语言的完整集成示例,快速上手翠鸟 SDK
Java 示例
Java SDK 支持 JDK 8+,通过 Maven 或 Gradle 引入依赖。
Maven 依赖
XML
<dependency>
<groupId>com.cuiniao</groupId>
<artifactId>cuiniao-java-sdk</artifactId>
<version>3.2.0</version>
</dependency>
初始化客户端并上传内容
JAVA
import com.cuiniao.sdk.CuiniaoClient;
import com.cuiniao.sdk.model.Resource;
import com.cuiniao.sdk.request.UploadRequest;
public class UploadExample {
public static void main(String[] args) {
// 初始化客户端
CuiniaoClient client = new CuiniaoClient.Builder()
.apiKey(System.getenv("CUINIAO_API_KEY"))
.build();
// 上传 PDF 内容资源
Resource resource = client.resources().upload(
UploadRequest.builder()
.file(new java.io.File("whitepaper.pdf"))
.title("B2B内容营销白皮书2024")
.type("pdf")
.trackVisitors(true)
.onProgress(pct -> System.out.printf("上传进度: %d%%\n", pct))
.build()
);
System.out.println("上传成功,资源ID: " + resource.getId());
System.out.println("访问链接: " + resource.getUrl());
}
}
查询并处理线索
JAVA
import com.cuiniao.sdk.model.Lead;
import com.cuiniao.sdk.request.LeadListRequest;
import java.util.List;
// 获取最近7天高分线索
List<Lead> leads = client.leads().list(
LeadListRequest.builder()
.days(7)
.minScore(60)
.sortBy("score")
.order("desc")
.limit(20)
.build()
);
for (Lead lead : leads) {
System.out.printf("[%d分] %s (%s) - %s\n",
lead.getEngagementScore(),
lead.getName(),
lead.getCompany(),
lead.getEmail()
);
}
Python 示例
Python SDK 支持 Python 3.8+,通过 pip 安装。
BASH
pip install cuiniao-sdk
初始化并查询分析数据
PYTHON
import os
from cuiniao import CuiniaoClient
# 初始化
client = CuiniaoClient(api_key=os.environ["CUINIAO_API_KEY"])
# 查询最近30天总览数据
overview = client.analytics.overview(days=30)
print(f"总浏览量: {overview['summary']['total_page_views']}")
print(f"线索数: {overview['summary']['total_leads']}")
print(f"转化率: {overview['summary']['lead_conversion_rate']}")
自动同步线索到 CRM
PYTHON
from cuiniao import CuiniaoClient
from cuiniao.models import LeadStatus
client = CuiniaoClient(api_key=os.environ["CUINIAO_API_KEY"])
# 拉取所有新建线索
new_leads = client.leads.list(status="new", days=1)
for lead in new_leads["data"]:
# 同步到 CRM
result = client.leads.sync_crm(lead["id"])
if result["synced"]:
print(f"线索 {lead['name']} 已同步至 Salesforce: {result['crm_record_id']}")
# 更新状态为已联系
client.leads.update(lead["id"], status=LeadStatus.CONTACTED)
Node.js 示例
Node.js SDK 支持 Node.js 16+,提供 CommonJS 和 ESM 两种模块格式。
BASH
npm install @cuiniao/sdk
创建 CTA 并挂载到内容
JAVASCRIPT
const { CuiniaoClient } = require('@cuiniao/sdk');
const client = new CuiniaoClient({
apiKey: process.env.CUINIAO_API_KEY
});
async function setupCTA() {
// 创建留资表单 CTA
const cta = await client.cta.create({
name: 'Q2产品演示申请',
type: 'form',
fields: [
{ name: 'name', label: '姓名', type: 'text', required: true },
{ name: 'email', label: '工作邮箱', type: 'email', required: true },
{ name: 'company', label: '公司', type: 'text', required: true }
],
submitLabel: '申请演示'
});
console.log('CTA 创建成功:', cta.id);
// 挂载到内容资源
await client.resources.attachCta('res_7fK2mPqLxNz', {
ctaId: cta.id,
displayTrigger: 'scroll_50',
position: 'inline'
});
console.log('CTA 挂载完成');
}
setupCTA().catch(console.error);
监听 Webhook 事件(Express.js)
JAVASCRIPT
const express = require('express');
const { WebhookVerifier } = require('@cuiniao/sdk');
const app = express();
const verifier = new WebhookVerifier(process.env.CUINIAO_WEBHOOK_SECRET);
app.post('/webhooks/cuiniao', express.raw({ type: 'application/json' }), (req, res) => {
const signature = req.headers['x-cuiniao-signature'];
if (!verifier.verify(req.body, signature)) {
return res.status(400).send('Invalid signature');
}
const event = JSON.parse(req.body);
if (event.type === 'lead.created') {
const lead = event.data;
console.log(`新线索: () 评分: `);
// 触发内部通知或 CRM 同步逻辑...
}
res.status(200).json({ received: true });
});
app.listen(3000);