انتقل للمحتوى

    عربي أو إنجليزي · ↑↓ للتنقل · Enter للفتح · Esc للقفل

    English
    في الصفحة دي

    الأرقام

    ضبط ويب هوك الرقم

    PUT/v2/numbers/{numberId}/webhook
    • الصلاحية:webhooks:write
    • Idempotency-Key:اختياري
    • بيغيّر إعدادات

    رابط https عام بس (العناوين الداخلية مرفوضة). مفتاح التوقيع بيرجع مرة واحدة.

    البارامترات

    المسار

    الاسمالنوعالقيودالوصف
    numberIdإجباريالنوعstringالقيود—الوصفرقم الـ id بتاع الرقم (من GET /v2/numbers).

    الهيدرز

    الاسمالنوعالقيودالوصف
    Idempotency-Keyاختياريالنوعstringالقيود≤ 191 حرفالوصفid فريد من عندك للعملية دي (حد أقصى 191 حرف ASCII). لو كررت بنفس المفتاح ونفس الـ body بيرجعلك أول رد ومعاه Idempotent-Replayed: true — عمرها ما تتنفذ مرتين. بيتحفظ 24 ساعة.
    X-Request-Idاختياريالنوعstringالقيود—الوصفاختياري: id الطلب بتاعك وبيرجعلك (غير كده بنعمل req_…). اديه للدعم لو احتجت.

    الـ Body

    الاسمالنوعالقيودالوصف
    urlإجباريالنوعstringالقيود—الوصفرابط https:// عام على بورت 443 (أو 80). العناوين الخاصة/الداخلية مرفوضة والـ redirects مش بتتتبع.
    eventsاختياريالنوعstring[]القيود—الوصفأنواع الأحداث اللي عايز توصلك. سيبها فاضية (أو null) لكل الأحداث — والأنواع الجديدة هتوصلك تلقائي.
    versionاختياريالنوعintegerالقيودواحد من: 2الافتراضي 2الوصفنسخة شكل الويب هوك. v2 بيقبل 2 بس.

    الطلب

    curl -X PUT "https://mursilat.com/api/v2/numbers/cm1abcd2345efgh6789ijkl/webhook" \
      -H "Authorization: Bearer $WASLA_API_KEY" \
      -H "Idempotency-Key: order-1042-confirm" \
      -H "Content-Type: application/json" \
      -d '{
      "url": "https://example.com/mursilat",
      "events": [
        "message.received",
        "message.status",
        "interactive.reply"
      ]
    }'
    الطلب — JSON
    {
      "url": "https://example.com/mursilat",
      "events": [
        "message.received",
        "message.status",
        "interactive.reply"
      ]
    }

    الرد

    200مثال

    200 — application/json
    {
      "url": "https://example.com/mursilat",
      "version": 2,
      "events": [
        "message.received",
        "message.status",
        "interactive.reply"
      ],
      "availableEvents": [
        "message.received",
        "message.status",
        "interactive.reply",
        "poll.vote",
        "contact.opted_out",
        "contact.opted_in",
        "session.status",
        "number.status",
        "number.restricted",
        "campaign.status",
        "otp.verified",
        "conversation.attributed"
      ],
      "secretConfigured": true,
      "disabledAt": null,
      "disabledReason": null,
      "secret": "whsec_…(shown once)"
    }

    شكل الرد

    حقول الرد في المثال. افتح الكائنات والقوايم.

    • responseobject8 حقل
      • urlstring "https://example.com/mursilat"
      • versioninteger 2
      • eventsarray3 عنصر
        • [0]string "message.received"
      • availableEventsarray12 عنصر
        • [0]string "message.received"
      • secretConfiguredboolean true
      • disabledAtnull null
      • disabledReasonnull null
      • secretstring "whsec_…(shown once)"

    الأخطاء

    غير أخطاء المصادقة وحدود الطلبات والتحقق اللي ممكن ترجع من أي endpoint:

    الأخطاء →

    جرّب

    ابعت الطلب ده من متصفحك لـ API مرسلات.

    مثال موثّق

    معاينة — النسخة دي من التوثيق مش على mursilat.com، فالكونسول بيعرض المثال الموثّق بدل ما يكلم الـ API.

    الطلبات الحقيقية بتستخدم رقمك وباقتك الحقيقيين: ممكن تبعت رسايل واتساب وتصرف من رصيدك وتمسح بيانات. (بيغيّر إعدادات)

    متخزن في ذاكرة التبويب ده بس: عمره ما بيتحفظ ولا بيتحط في الرابط، وبيتبعت لـ mursilat.com بس. لو عملت reload بيتنسي.

    بارامترات المسار

    تبعت الطلب ده بجد؟

    ده بيغيّر إعدادات حسابك.

    PUT /v2/numbers/{numberId}/webhook