ربط رقم واتساب
الجلسة هي رقم واتساب واحد يبقيه YASend متصلاً على مدار الساعة، كجهاز مرتبط بذلك الرقم (مثل واتساب ويب).
الإنشاء والاتصال
curl -X POST https://api.yasend.dev/v1/sessions -H "Authorization: Bearer $YASEND_KEY" \
-H "Content-Type: application/json" -d '{"name": "Support line"}'
curl -X POST https://api.yasend.dev/v1/sessions/$SESSION_ID/connect -H "Authorization: Bearer $YASEND_KEY"
ثم اربط الهاتف بإحدى طريقتين.
برمز QR
يدعم GET /v1/sessions/{id}/qr ثلاث صيغ:
format |
يُعيد |
|---|---|
json (الافتراضي) |
{"qrCode": "<صورة PNG بترميز base64>"} |
png |
الصورة نفسها |
string |
{"qrString": "..."} لترسم رمز QR بنفسك |
للمسح: واتساب ← الإعدادات ← الأجهزة المرتبطة ← ربط جهاز.
يتغير الرمز كل 20 ثانية تقريباً، فاستعلم عنه دورياً أثناء عرضه.
| الاستجابة | المعنى |
|---|---|
202 QR_PENDING |
ما زال الرمز قيد الإنشاء |
409 ALREADY_AUTHENTICATED |
الرقم مرتبط بالفعل |
برمز الاقتران (بدون كاميرا)
curl -X POST https://api.yasend.dev/v1/sessions/$SESSION_ID/pairing-code \
-H "Authorization: Bearer $YASEND_KEY" -H "Content-Type: application/json" \
-d '{"phoneNumber": "963912345678"}'
# → {"status": "connecting", "pairingCode": "ABCD-EFGH"}
على الهاتف: الأجهزة المرتبطة ← ربط جهاز ← الربط برقم الهاتف بدلاً من ذلك، ثم اكتب الرمز.
الحالة
يعيد GET /v1/sessions/{id} الجلسة، ويعيد GET /v1/sessions/{id}/status حالتها الحية.
status |
المعنى |
|---|---|
pending |
أُنشئت ولم تتصل بعد |
connecting |
بانتظار مسح رمز QR أو رمز الاقتران |
connected |
مرتبطة ومتصلة: يمكنك الإرسال |
reconnecting |
منقطعة مؤقتاً، ويعيد YASend الاتصال تلقائياً |
disconnected |
متوقفة (أوقفتها أنت أو أوقفتها باقتك)، وما زالت مرتبطة |
logged_out |
أُلغي ربطها من الهاتف. اتصل من جديد وامسح رمز QR جديداً |
conflict |
فُتح الرقم كواتساب ويب في مكان آخر |
banned_suspected |
يبدو أن واتساب قيّد الرقم |
crashed |
فشل التشغيل مراراً. راجع سجل الأحداث ثم اتصل من جديد |
يوضح statusReason سبب آخر تغيير، ويعيد GET /v1/sessions/{id}/events السجل الكامل. اشترك في
الويب هوك session.alert لتعرف بالمشكلات فور حدوثها.
البقاء متصلاً
- إعادة تشغيل الخوادم: يبقى رقمك مرتبطاً. يخزّن YASend تسجيل الدخول بأمان، ويعيد الاتصال تلقائياً بعد إعادة التشغيل وانقطاع الشبكة، دون مسح رمز QR جديد.
- تسجيل الخروج: لا يسجّل YASend خروج أي رقم من تلقاء نفسه. حذف الجلسة وحده يفعل ذلك.
| الطلب | أثره |
|---|---|
POST /v1/sessions/{id}/pause |
يرفض الإرسال فوراً (SESSION_PAUSED)، وتستمر الرسائل الواردة والويب هوك |
POST /v1/sessions/{id}/resume |
يسمح بالإرسال من جديد |
POST /v1/sessions/{id}/disconnect |
يغلق الاتصال مع بقاء الربط. اتصل من جديد متى شئت دون مسح |
DELETE /v1/sessions/{id} |
يسجّل خروج الرقم من واتساب ويحذف الجلسة ومفتاحها |
الباقات والإيقاف
| الحالة | ما يحدث |
|---|---|
| انتهاء التجربة أو الباقة | تنقطع الجلسات فوراً (وتبقى مرتبطة)، ويُرفض الإرسال بـ 402 SUBSCRIPTION_EXPIRED خلال فترة سماح قصيرة |
| انتهاء فترة السماح | يُرفض الإرسال والاتصال بـ 402 SUBSCRIPTION_SUSPENDED حتى التجديد |
| التجديد | تعود الجلسات للاتصال تلقائياً، بلا مسح رمز QR |
| الانتقال إلى باقة بجلسات أقل | تُوقف الجلسات الأحدث الزائدة عن الحد بالطريقة نفسها |
صحة الرقم
يعيد GET /v1/sessions/{id}/health:
- درجة صحة الرقم؛
- يوم الإحماء وحد اليوم؛
- ما يمنع الإرسال حالياً، إن وُجد.
راجع الأمان والإحماء.