notifications

POST /v1/notification-connections

Connect a destination.

جميع نقاط نهاية notifications

المصادقة

أرسل مفتاح واجهة برمجة التطبيقات (API) كرمز حامل (bearer token). لا يحدد نقطة النهاية هذه إذنًا محددًا في المواصفات، لذا امنح مفتاحك الحد الأدنى الذي محتاجه وتحقق من الاستجابة بدلاً من الافتراض.

حيث يتم إدخال معرف مؤسستك

تأخذ نقطة النهاية هذه org_id كمعلمة استعلام. اتركه فارغاً ليغطي الاستدعاء شجرة مستأجريك بالكامل، أو أرسله لتضييق نطاق الاستدعاء ليشمل منظمة واحدة.

معرف مؤسستك موجود على شاشة مفاتيح واجهة برمجة التطبيقات (API) في لوحة تحكمك، بجوار المفتاح نفسه. وهو نفس المعرف في كل طلب تجريه.

جربه الآن

استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.

curl -X POST https://api.zinndigital.com/v1/notification-connections \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "kind": <string<email, slack, telegram, webhook>>, "label": <string>, "target": <string> }'

هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API

التفاصيل

Adds a destination. Many of the same kind are supported and expected - two Telegram chats, three Slack channels, an accountant's e-mail that belongs to no platform user. A new connection is NOT usable until it has been verified: it must send a real test message first. A destination that has only been typed correctly has not been shown to work, and this whole surface exists because two channels sat configured and silent.

المعلمات

الاسمالنوعمطلوبما هو هذا
org_id (query)stringلاThe organization to act on. Omitted resolves to your own ONLY when you belong to exactly one organisation; a principal in more than one must name it, or the call is refused `422…

جسم الطلب

الاسمالنوعمطلوبما هو هذا
kindstring<email, slack, telegram, webhook>نعمSMS and push are deliberately absent - both were rejected. Offering a kind nobody can use is a placeholder with a dropdown.
labelstringنعم
targetstringنعمThe NON-secret half - an address, a channel name, a chat id.
credentialstringلاThe credential itself - a Slack incoming-webhook URL, or a Telegram bot token. Required for those two kinds and refused for the others: a webhook's signing secret is ours to min…
personalbooleanلاtrue = this is MY destination and only my own matrix addresses it. The owning user is the authenticated principal, never a value in this body.

الاستجابة

الاسمالنوعمطلوبما هو هذا
idstringلا
kindstring<email, slack, telegram, webhook>لا
labelstringلا
targetstringلا
personalbooleanلا
verifiedbooleanلاUntil this is true nothing is routed here. For a machine destination it becomes true when a real test message has been delivered; for an e-mail address it becomes true only when…
verified_atstringلا
checked_atstringلاWhen we last managed to LOOK, as against `verified_at` which is when we last PROVED it works. One field cannot answer both: without the pair, "we have not been able to reach you…
awaiting_confirmationbooleanلاAn e-mail destination that has been sent its confirmation link and is waiting for the recipient. Neither verified nor failed - a third state, and showing it as "not verified" ma…
verify_errorstringلا
verify_error_codestring<their_endpoint_refused, their_endpoint_unreachable, their_credential_rejected, their_recipient_refused, not_configured, our_fault, could_not_check, >لاThe TRANSLATABLE half of `verify_error`. That sentence is authored English and this payload is rendered in 57 other languages, so a German customer was shown a translated wrappe…
healthstring<healthy, idle, failing, unverified>لا⚖️ Owner, 2026-09-03 - *"can you get something to check that is set up and working properly please"*. `verified` answers *did this EVER work*; this answers *is it working NOW*,…
last_delivery_atstringلاWhen a real notification was last DELIVERED here, as against verified.
last_failure_atstringلا
last_delivery_errorstringلاWhy the last delivery failed, in copy WE authored, chosen from a closed table by what failed and where it was going (`engine.notifications.failure_copy`). It is never the provid…
last_delivery_error_codestring<their_endpoint_refused, their_endpoint_unreachable, their_credential_rejected, their_recipient_refused, not_configured, our_fault, could_not_check, >لاThe translatable half of `last_delivery_error`, on the same contract as `verify_error_code`. Classified by the adapter at the seam that knew what happened, never re-derived down…
consecutive_failuresintegerلاReset to 0 by any success, so a destination that recovers stops reporting itself broken with nobody pressing anything. `failing` is three in a row - one `502` from somebody's ow…
signing_secretstringلاWebhook destinations only, and returned ONCE on create. Use it to verify the `X-Zinn-Signature` header. There is no endpoint that will show it again - one would turn a read of t…
signing_secret_noticestringلا
routesobjectلاThe FULL grid for this connection, one boolean per notification topic.