فهرستی از مخاطبان را بهصورت JSON دریافت میکند، یک سگمنت (لیست مخاطب) جدید با نامی خودکار میسازد و مخاطبان را برای پردازش در آن بارگذاری میکند. بدنهٔ درخواست باید یک آرایه از آبجکتهای تخت باشد که همهٔ مقادیر آنها رشتهاند. کلید phone_number اجباری است و هر ستون اضافهٔ دیگر باید با حروف بزرگ نوشته شود (مثلاً FIRSTNAME). همهٔ آبجکتها باید دقیقاً مجموعه کلیدهای یکسانی داشته باشند. حداکثر ۱۰۰٬۰۰۰ مخاطب در هر درخواست پذیرفته میشود. پردازش بهصورت غیرهمزمان انجام میگیرد؛ برای پیگیری وضعیت از GET /v2/sms/campaigns/contacts/{upload_data_id} استفاده کنید و segment_id را در inclusion_segments هنگام ساخت کمپین به کار ببرید.
احراز هویت
bearerAuthکلید API را در هدر Authorization با پیشوند Bearer بفرستید:
``` Authorization: Bearer YOURAPIKEY ```
این روش برای سرویسهای نسخهٔ ۲، نسخهٔ ۳ و بارگذاری فایل به کار میرود. سرویسهای نسخهٔ ۱ کلید را از مسیر URL میگیرند و هدری نمیخواهند.
Authorization: Bearer YOUR_ACCESS_TOKENکلید خود را کجا پیدا کنم؟
اطلاعات ورود را از پنل کاربری خود بگیرید و توکن را فقط روی سرور و در یک متغیر محیطی نگه دارید؛ هرگز آن را در کد سمت کاربر قرار ندهید.
بدنهٔ درخواست
application/jsonالزامیآرایهای از آبجکتهای تخت با مقادیر رشتهای (`[]map[string]string`). کلیدهای هر آبجکت به ستونهای فایل CSV تولیدشده تبدیل میشوند و `phone_number` همیشه اولین ستون است. مقادیر شمارهها در این سرویس نرمالسازی یا اعتبارسنجی نمیشوند و عیناً ارسال میشوند.
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
phone_number* | string | الزامی | شمارهٔ موبایل مخاطب. وجود این کلید در اولین آبجکت آرایه بررسی میشود و در نبود آن خطای ۴۰۰ برمیگردد. اعتبارسنجی یا نرمالسازی شماره در این سرویس انجام نمیشود؛ شمارههای نامعتبر بعداً در گزارش وضعیت بارگذاری بهعنوان نمونه 09121234567 |
<COLUMN_NAME> | string | اختیاری | هر ستون اضافی دلخواه (مثلاً محدودیت: نام کلید باید کاملاً با حروف بزرگ باشد (key == strings.ToUpper(key)) نمونه FIRSTNAME |
نمونهٔ درخواست
[ { "phone_number": "09121234567", "FIRSTNAME": "علی", "LASTNAME": "رضایی" }, { "phone_number": "09351234567", "FIRSTNAME": "مریم", "LASTNAME": "احمدی" }]پاسخها
ساختار پاسخ
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
return | ApiStatus | اختیاری | وضعیت پاسخ. مقدار |
status* | integer | الزامی | کد وضعیت — همان کد وضعیت HTTP پاسخ. نمونه 200 |
message* | string | الزامی | پیام فارسی قابل نمایش به کاربر. نمونه درخواست تایید شد. |
entries | UploadContactsResponse | اختیاری | |
segment_id | integer | اختیاری | شناسهٔ سگمنت ساختهشده. آن را در نمونه 10 |
upload_data_id | integer | اختیاری | شناسهٔ بارگذاری، برای پیگیری وضعیت پردازش. نمونه 20 |
نمونهٔ پاسخ
{ "return": { "status": 200, "message": "درخواست تایید شد." }, "entries": { "segment_id": 10, "upload_data_id": 20 }}