راهنما و نمونه کدهای پیاچپی PHP وبسرویس اینباکسینو
برای استفاده از وبسرویس اینباکسینو در زبان php خود مطابق راهنمای زیر عمل کنید توجه فرمایید که در این نمونه کد از کتابخانه Guzzle استفاده شده است. درصورتیکه این کتابخانه روی سرور شما نصب نشده است میتوانید از سایر کتابخانهها نیز استفاده کنید.

فهرست راهنما
آپلود فایل POST
در صورتی که میخواهید یک فایل را برای مخاطبین خود ارسال کنید ابتدا فایل را باید با استفاده از وبسرویس upload روی سرورهای اینباکسینو آپلود کنید. توجه فرمایید که مدت اعتبار هر فایل ارسالی ۳۰ روز میباشد و ۳۰ روز پس از آپلود به صورت اتوماتیک از سیستم حذف خواهد شد.
پس از فراخوانی این وبسرویس در صورت موفقیت آمیز بودن فرایند فیلد path را در یک متغیر ذخیره کنید و ازین فیلد در وبسرویس ارسال پیام استفاده کنید.
فیلد | توضیح |
type | نوع فایل ارسالی میباشد. مقادیر مجاز : file image video excel audio |
token | توکن دریافتی از اینباکسینو |
'application/json',
'Content-Type' => 'application/json',
'api-token' => '{token}'
];
$options = [
'multipart' => [
[
'name' => 'file',
'contents' => Utils::tryFopen('/path/to/file', 'r'),
'filename' => '/path/to/file',
'headers' => [
'Content-Type' => ''
]
]
]];
$request = new Request('POST', 'https://dl1.inboxino.com/api/upload/file', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();
ارسال پیام POST
جهت ارسال پیام در اینباکسینو باید از نمونه کد زیر استفاده کنید پس از فراخوانی این وبسرویس پیام شما در صف قرار خواهد گرفت و به ترتیب (بسته به تعداد پیامهای دیگر موجود در صف ارسالی شما) ارسال خواهد شد.فیلد | توضیح |
---|---|
token | توکن دریافتی از اینباکسینو |
messages | یک لیست از آبجکت های ارسالی در این پارامتر ارسال میشود. |
messages.*.message_type | نوع پیام . مقادیر مجاز : message, video, image, audio, file |
messages.*.attachment_file | فایل ارسالی (فیلد path وبسرویس آپلود) .
در صورتی که نوع فایل video باید پسوند این فایل باید mp4 باشد.
در صورتی که نوع فایل image باشد پسوند باید یکی از پسوند های .jpg .gif و .png باشد.
در صورتی که نوع فایل file باشد پسوند باید یکی از پسوند های .jpg .gif .png .mp4 .3gpp .pdf .zip .mpeg و .ogg باشد.
در صورتی که نوع فایل audio باشد پسوند باید .ogg یا .mp3 باشد.
برای ارسال پیام از نمونه کد زیر استفاده فرمایید. |
platforms | یک یا چند پلتفرم پشتیبانی شده اینباکسینو در این فیلد باید ارسال شود. لیست پلتفرم ها : whatsapp eitaa |
with_country_code | در صورتی که شماره های شما دارای کد کشور باشد این فیلد را ۰ و در غیر این صورت ۱ ارسال کنید. |
type | این فیلد باید برابر با مقدار notification ارسال شود. |
recipients | لیست شماره ها را در این فیلد به صورت لیست ارسال فرمایید. توجه فرمایید که حداکثر تعداد شماره ارسالی در هر بار فراخوانی وبسرویس ۵۰ شماره میباشد. |
setting.expire_minutes | در صورتی که میخواهید برای این پیام مدت اعتبار مشخص کنید ازین فیلد استفاده کنید. در صورتی که پس از گذشت این مدت (به دقیقه) پیام ارسال نشد به صورت اتوماتیک از صف ارسال خارج خواهد شد . ازین فیلد برای ارسال پیام های otp یا اعلاناتی که باید حداکثر در مدت زمان مشخصی ارسال شوند استفاده کنید. |
'application/json',
'Content-Type' => 'application/json',
'api-token' => '{token}'
];
$options = [
'multipart' => [
[
'name' => 'messages[0][message_type]',
'contents' => 'message'
],
[
'name' => 'messages[0][attachment_file]',
'contents' => ''
],
[
'name' => 'messages[0][origin_file_name]',
'contents' => ''
],
[
'name' => 'messages[0][message]',
'contents' => 'این پیام با اینباکسینو ارسال شده است'
],
[
'name' => 'with_country_code',
'contents' => '۰'
],
[
'name' => 'type',
'contents' => 'notification'
],
[
'name' => 'recipients[1]',
'contents' => '۹۸۹۳۹۶۶۷۲۴۴۰'
],
[
'name' => 'setting[expire_minutes]',
'contents' => '۵'
],
[
'name' => 'platforms[0]',
'contents' => 'whatsapp'
]
]];
$request = new Request('POST', 'https://back.inboxino.com/api/access-api/message/send', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();
وبسرویس لیست پیامهای ارسالی GET
برای دریافت لیست پیام هایی که با وبسرویس ارسال پیام اینباکسینو ارسال کرده اید از این وبسرویس استفاده کنید.فیلد | توضیح |
---|---|
token | توکن دریافتی از اینباکسینو |
page | شماره صفحه |
sort | ترتیب مرتب سازی لیست را مشخص میکند |
مقادیر sort |
latest_sends : مرتب سازی بر اساس آخرین ارسالی ها
newest : مرتب سازی بر اساس آخرین قرارگیری در صف
status: مرتب سازی بر اساس وضعیت پیام |
'application/json',
'Content-Type' => 'application/json',
'api-token' => '{token}'
];
$request = new Request('GET', 'https://back.inboxino.com/api/access-api/message/notifications-log?sort=latest_sends&page=1', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
دریافت لیست شمارههای هر پیام (گزارش ارسالی) GET
درصورتیکه میخواهید لیست شمارههایی که در هر پیام ارسال کردهاید را با وضعیت ارسالی دریافت کنید از این وبسرویس استفاده کنید.فیلد | توضیح |
---|---|
token | توکن دریافتی از اینباکسینو |
page | شماره صفحه |
message_id | شناسه پیام (فیلد id در وبسرویس لیست پیام های ارسالی) |
'application/json',
'Content-Type' => 'application/json',
'api-token' => '{token}'
];
$request = new Request('GET', 'https://back.inboxino.com/api/access-api/message/{message_id}/recipients?page=1', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();