إرسال الأحداث
POST /v1/workspaces/{workspaceId}/events يسجل حدثاً من نظامك، مثل دفع طلب أو تسجيل عميل.
- name (مطلوب): معرّف بأحرف إنجليزية صغيرة، مثل order_paid.
- occurredAt (مطلوب): وقت وقوع الحدث بصيغة ISO-8601، ولا يقبل وقتاً مستقبلياً.
- contactId وcampaignId: لازمان لنسب التحويل إلى حملة (آخر لمسة ضمن نافذة الإسناد).
- valueMinor وcurrency: القيمة بأصغر وحدة للعملة (هللة)، ورمز العملة من ثلاثة أحرف.
- externalId: معرّف الحدث في نظامك؛ إعادة الإرسال بالمعرّف نفسه لا تُنشئ نسخة ثانية.
- utmSource/utmMedium/utmCampaign/utmTerm/utmContent وmetadata (حتى 4KB): اختيارية.
const res = await fetch(`https://campify.ai/v1/workspaces/${workspaceId}/events`, {
method: 'POST',
headers: {
authorization: `Bearer ${process.env.CAMPIFY_API_KEY}`,
'content-type': 'application/json',
},
body: JSON.stringify({
name: 'order_paid',
occurredAt: new Date().toISOString(),
contactId,
campaignId,
valueMinor: 25000,
currency: 'SAR',
externalId: order.id,
}),
});
// 201 recorded · 200 already recorded (same externalId) · 400 invalid bodyحد المعدل: 600 طلب في الدقيقة لكل مفتاح.