أجرِ مكالمة واحدة من أحد أرقام الهاتف في مساحة عملك. يحتاج كل طلب إلى Idempotency-Key فريد؛ وإرسال المفتاح نفسه مرة أخرى يُرجع المكالمة نفسها بدل الاتصال مرتين.
curl https://evasay.com/api/v1/voice/calls \
-X POST \
-H "Authorization: Bearer sk-your-key" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "AGENT_ID",
"to": "+14155550100",
"variables": { "customer_name": "Alex", "order_id": "1234" }
}'
الحقل from مطلوب عندما يكون في مساحة العمل أكثر من رقم هاتف واحد. وتملأ variables العناصر النائبة من نوع {{customer_name}} في الرسالة الأولى للوكيل وفي تعليماته.
مع تفعيل voicemail_detection (الافتراضي) تنتظر المكالمة الصادرة أن يتكلم الطرف الآخر قبل أن يُلقي الوكيل التحية؛ وإن ظلّوا صامتين ألقى الوكيل التحية بعد ثانيتين أو ثلاث. وعندما يسمع الوكيل بريدًا صوتيًا أو تسجيلًا من شركة الاتصالات ينتظر حتى تنتهي التحية وصافرتها، ثم يترك voicemail_message، أو يُغلق الخط إن لم توجد رسالة. تنتهي هذه المكالمات بقيمة ended_reason هي voicemail، وتُفوتَر عن المدة التي استغرقتها، ولا تُحلَّل ولا يُبلَّغ عنها.
في الحملة يُعاد الاتصال برقم وصل إلى بريد صوتي كما يُعاد برقم لم يردّ، ولا تُترك الرسالة إلا في المحاولة الأخيرة، حتى لا يتلقى أحد الرسالة نفسها مرتين.
تفحص كل مكالمة صادرة، من حملة أو من POST /api/v1/voice/calls، قائمة عدم الاتصال في مساحة العمل أولًا. الرقم المدرج فيها لا يُطلَب أبدًا: تردّ الواجهة بـ409 مع code هو do_not_call، وتوسم الحملة جهة الاتصال بـcanceled مع outcome هو do_not_call وتنتقل إلى التالية.
عندما يطلب الشخص في مكالمة أجراها الوكيل ألّا يُتصل به مجددًا، يُدرج الوكيل رقمه في القائمة بنفسه، ويخبره بذلك، ويُرسَل الـWebhook باسم call.do_not_call. ويمكن أيضًا إضافة الأرقام وإزالتها من الحملات ← قائمة عدم الاتصال أو عبر الواجهة البرمجية:
curl https://evasay.com/api/v1/voice/do-not-call \
-X POST \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{ "phones": ["+14155550100"], "note": "Asked by email" }'
الأرقام بالصيغة الدولية؛ وحتى 1000 رقم في المرة الواحدة. يعرضها GET /api/v1/voice/do-not-call الأحدث أولًا (search وlimit وpage)، ولكل رقم قيمة source (call أو dashboard أو api). ويُزيل DELETE /api/v1/voice/do-not-call/%2B14155550100 رقمًا من القائمة؛ لا تفعل ذلك إلا بعد أن يوافق الشخص على أن يُتصل به.