اربط Zapier وMake وn8n وPipedream
احجز الأعمال وتفاعل مع الأحداث من أدوات الأتمتة التي يستخدمها فريقك بالفعل — دون كتابة كود، أو بقليل منه.
تطبيقات Crisphive الرسمية لـ Zapier وMake وn8n وPipedream قيد الإعداد. تستخدم جميعها الواجهة العامة نفسها الموصوفة هنا، لذا يمكنك اليوم فعل كل ما تفعله باستخدام خطوات HTTP وwebhook العامة في كل منصّة.
ما تفعله التطبيقات
| النوع | الخطوة | Crisphive API |
|---|---|---|
| إجراء | احجز عملًا وأكّده | POST /v1/job-requests/book-and-confirm |
| بحث | ابحث عن عميل برقم الهاتف | GET /v1/customers?phone=+16135550142 |
| إجراء | أنشئ عميلًا | POST /v1/customers |
| إجراء | احصل على عمل | GET /v1/job-requests/{id} |
| مُشغِّل | حدث جديد (اكتمال عمل، إنشاء عميل، …) | POST /v1/webhooks عند التفعيل، وDELETE /v1/webhooks/{id} عند التعطيل |
احجز وأكّد في استدعاء واحد
لا تستطيع الأتمتة عادةً تنفيذ التدفق الكامل: إنشاء ← جدولة ← اختيار موعد ← تأكيد. ينفّذ book-and-confirm كل ذلك في طلب واحد: ينشئ العمل، ويحدّد حجمه من المدة الافتراضية لنوع العمل (أو من job_duration_minutes التي ترسلها)، ويؤكّده عند scheduled_at، بينما يختار Crisphive الفنّي.
curl -X POST "https://api.crisphive.com/v1/job-requests/book-and-confirm" \ -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \ -H "Idempotency-Key: form-submission-4815" \ -H "Content-Type: application/json" \ -d '{"customer":{"full_name":"Lamar Bakery","phone":"+16135550142"},"address":{"line":"120 Bank St","city":"Ottawa","state":"ON","postal_code":"K1P 5N1","country":"CA"},"scheduled_at":"2026-10-06T10:00:00"}'
scheduled_atهو توقيت الساعة المحلي للنشاط التجاري، دون إزاحة للمنطقة الزمنية.- أرسل
customer_id، أو كائنcustomer: المتصل الموجود مسبقًا (بالهاتف أو البريد الإلكتروني نفسه) يُطابَق ولا يُكرَّر أبدًا. job_type_idاختياري. بدونه يُستخدم نوع العمل الافتراضي للنشاط التجاري (“General”)؛ ويجب أن تكون لكل نوع عمل قد تحجزه الأتمتة مدة افتراضية.- تُرفض المدخلات غير الصالحة باستجابة
4xxعادية ولا يُنشأ أي شيء. - بمجرد إنشاء العمل لا يُتخلّص منه أبدًا. إن لم يتمكّن أي فنّي من تولّيه في ذلك الوقت، يظل الاستدعاء يجيب بـ
200معconfirmed: falseوrefusal(بقيمتيerror_codeوdataنفسيهما اللتين كانت خطوة التأكيد ستعيدهما)؛ وينتظر العمل في قائمة المنسّق.
Idempotency-Key مشتقًا من السجل المُشغِّل (معرّف إرسال نموذج، أو معرّف صف). إعادة المحاولة بالمفتاح نفسه تُعيد الإجابة الأولى؛ والمفتاح الجديد يحجز عملًا ثانيًا.المُشغِّلات: الاشتراك عبر webhook
المُشغِّل هو webhook تنشئه منصّة الأتمتة عند تفعيله وتحذفه عند تعطيله («REST hook»). تأتي قائمة الأحداث من GET /v1/webhooks/event-types، لذا تظهر أحداث Crisphive الجديدة دون تحديث التطبيق.
استدعِ POST /v1/webhooks مع عنوان الاستقبال الخاص بالمنصّة، وevent_types التي تريدها، وexpires_in_days: 365 حتى لا يتوقف المُشغِّل بعد الأيام الثلاثين الافتراضية. احفظ secret من الاستجابة — فهو يُعرض مرة واحدة.
يرسل Crisphive فورًا حدث ping موقّعًا. أجب بـ 2xx فيصبح الاشتراك نشطًا. لا تبدأ سير العمل أبدًا لحدث ping.
افحص ترويسة Crisphive-Signature مقابل السر قبل الوثوق بالحمولة — راجع Webhooks للاطلاع على الخوارزمية بدقة.
استدعِ DELETE /v1/webhooks/{id} عند تعطيل المُشغِّل. يُحرّر ذلك الخانة — إذ يمكن للنشاط التجاري امتلاك 25 نقطة نهاية نشطة كحد أقصى لكل بيئة.
من يمكنه ربط ماذا
- يتطلب تفعيل مُشغِّل صلاحية وصول المطوّر (
developer_manage_api_keys). افتراضيًا يملكها مالك النشاط التجاري وحده؛ ويمكن للمالك منح وحدة Developer لمجموعة أخرى في مصفوفة الأدوار. - لا يمكن للمُشغِّل الاشتراك إلا في الأحداث التي يستطيع الحساب المتصل قراءتها:
customer.*تتطلبcustomers_view، وtechnician.*تتطلبteam_view، وjob_request.*تتطلبjob_view. ويُرفض أي شيء آخر بـ403 WEBHOOK_EVENT_NOT_PERMITTED. - يتطلب الحجز
job_createوjob_manage. - يُرسَل بريد إلكتروني إلى المالك والمسؤولين في أول مرة يشترك فيها تطبيق أو مفتاح API في أحداث النشاط التجاري.
- يتوقف الاشتراك من تلقاء نفسه عند إبطال مفتاح API الذي أنشأه، أو عند فصل التطبيق، أو عند مغادرة العضو الذي ربط التطبيق أو تعليقه.
المصادقة
يتصل n8n وPipedream بمفتاح API (chsk_test_… لتجربته على بيانات sandbox، وchsk_live_… للعمل الفعلي). ويتصل Zapier وMake عبر OAuth: يسجّل الشخص الذي يربط الحساب دخوله إلى Crisphive ويوافق على التطبيق، ولا يمكن للاتصال بعد ذلك إلا فعل ما يُسمح لذلك الشخص بفعله في لوحة التحكم.
chsk_test_: أعمال sandbox لا تصل أبدًا إلى عميل حقيقي، ومُشغِّلات sandbox لا تستقبل إلا أحداث sandbox.