Watsy
التحقق والرسائلحالة عملية التحقق

التحقق والرسائل

حالة عملية التحقق

اقرأ حالة العملية وكل محاولات الإرسال وتكلفتها.

GEThttps://watsy.me/v1/verify/{id}
curl https://watsy.me/v1/verify/5d3c1f0e-7a1b-4c55-9a7e-2f1d6b0c9e11 \
  -H "Authorization: Bearer $WATSY_KEY"
{
  "id": "5d3c1f0e-7a1b-4c55-9a7e-2f1d6b0c9e11",
  "object": "verification",
  "mode": "live",
  "phone": "+9647701234567",
  "status": "verified",
  "channel": "telegram",
  "channels": [
    "whatsapp",
    "telegram",
    "sms"
  ],
  "attempts": 1,
  "max_attempts": 5,
  "attempts_remaining": 4,
  "locale": "ar",
  "metadata": {
    "user_id": 8841
  },
  "expires_at": "2026-10-28T10:05:00.000Z",
  "verified_at": "2026-10-28T10:01:12.000Z",
  "created_at": "2026-10-28T10:00:00.000Z",
  "price_milli": 18000,
  "messages": [
    {
      "id": "0b6f6a3e-1c2d-4e5f-8a9b-1c2d3e4f5a6b",
      "object": "message",
      "verification_id": "5d3c1f0e-7a1b-4c55-9a7e-2f1d6b0c9e11",
      "channel": "whatsapp",
      "provider": "meta_cloud",
      "status": "failed",
      "error_code": "whatsapp_131026",
      "price_milli": 0,
      "created_at": "2026-10-28T10:00:00.000Z",
      "updated_at": "2026-10-28T10:00:01.000Z"
    },
    {
      "id": "7e1d2c3b-4a59-4687-9a0b-c1d2e3f4a5b6",
      "object": "message",
      "verification_id": "5d3c1f0e-7a1b-4c55-9a7e-2f1d6b0c9e11",
      "channel": "telegram",
      "provider": "telegram_gateway",
      "status": "sent",
      "error_code": null,
      "price_milli": 18000,
      "created_at": "2026-10-28T10:00:01.000Z",
      "updated_at": "2026-10-28T10:00:02.000Z"
    }
  ]
}

المصادقة

  • Authorizationstring (header)إلزامي

    Bearer ثم مفتاح المشروع: wsy_live_… أو wsy_test_….

الترويسات

  • X-Request-Idstring

    اختياري، 8 إلى 64 حرفاً. نعيده في الرد، وإلا نولّد واحداً.

معطيات المسار

  • idstring (uuid)إلزامي

    معرّف عملية التحقق كما رجع من POST /v1/verify.

الرد (200)

application/json
  • idstringإلزامي

    معرّف عملية التحقق (UUID).

  • objectstringإلزامي

    دائماً verification.

  • modestringإلزامي

    نوع المفتاح الذي أنشأ العملية.

    القيم:livetest

  • phonestringإلزامي

    الرقم بصيغة E.164 بعد التوحيد.

  • statusstringإلزامي

    حالة العملية. انظر جدول الحالات.

    القيم:pendingsentverifiedfailedexpiredcanceled

  • channelstring | nullإلزامي

    آخر قناة جُرّبت، أو التي وصل منها الرمز.

  • channelsstring[]إلزامي

    سلسلة القنوات المطلوبة بالترتيب.

  • attemptsintegerإلزامي

    عدد الفحوصات حتى الآن.

  • max_attemptsintegerإلزامي

    حد الفحوصات من إعدادات المشروع (الافتراضي 5).

  • attempts_remainingintegerإلزامي

    الفحوصات المتبقية.

  • localestringإلزامي

    لغة الرسالة.

    القيم:aren

  • metadataobjectإلزامي

    بياناتك كما أرسلتها، أو {}.

  • expires_atstringإلزامي

    نهاية صلاحية الرمز.

  • verified_atstring | nullإلزامي

    وقت التحقق الناجح.

  • created_atstringإلزامي

    وقت الإنشاء.

  • price_milliintegerإلزامي

    صافي ما خُصم لكل المحاولات بالـ milli-IQD (1 دينار = 1000).

  • messagesmessage[]إلزامي

    محاولة لكل قناة جُرّبت، بالترتيب.

    عرض الحقول الفرعية
    • idstring

      معرّف محاولة الإرسال.

    • objectstring

      دائماً message.

    • verification_idstring

      عملية التحقق التي تتبعها المحاولة.

    • channelstring

      القناة.

      القيم:whatsapptelegramsms

    • providerstring

      المزوّد الذي نفّذ المحاولة: meta_cloud (رقم Watsy على واتساب)، whatsapp_own (رقمك الخاص)، telegram_gateway، أو test في وضع الاختبار.

    • statusstring

      delivered يظهر عندما يرسل المزوّد تقرير تسليم (واتساب حالياً).

      القيم:pendingsentdeliveredfailed

    • error_codestring | null

      سبب الفشل من المزوّد، مثل whatsapp_131026 أو telegram_PHONE_NUMBER_INVALID أو timeout.

    • price_milliinteger

      صافي ما خُصم لهذه المحاولة بالـ milli-IQD. المحاولة المُستردّة تظهر 0.

    • created_atstring

      وقت الإنشاء (ISO 8601، UTC).

    • updated_atstring

      آخر تحديث.

الحالات

الحالةالمعنى
pendingقيد الإرسال
sentوصل الرمز لقناة وينتظر الفحص
verifiedتم التحقق بنجاح
failedفشلت كل القنوات، أو استُنفدت المحاولات
expiredانتهت الصلاحية قبل التحقق
canceledألغيتها أنت

العمليات التي انتهت صلاحيتها تتحول إلى expired عند قراءتها أو بمهمة دورية، ويصلك الحدث verification.expired. مفتاح الاختبار لا يرى عمليات حقيقية والعكس (404).