دریافت فهرست سرویس‌ها

معرفی

با این وب‌سرویس می‌توانید فهرست سرویس‌های در دسترس، خطوط فعال هر سرویس و داخلی‌های متصل به خطوط را دریافت کنید. این داده‌ها مبنای مناسبی برای همگام‌سازی اطلاعات پایه با دیتابیس محلی و استفادهٔ سریع‌تر در مسیرهای آیندهٔ سیستم هستند.

نکته: اطلاعات پایهٔ سرویس‌ها را در دیتابیس محلی ذخیره کنید تا نیاز به دریافت و پردازش مجدد اطلاعات تکراری در فراخوانی‌های بعدی کاهش یابد.

نشانی و روش درخواست

GET https://panel.telefonchy.com/webservice/v1/services

این مسیر از روش GET استفاده می‌کند و اطلاعات سرویس‌های مجاز برای توکن وب‌سرویس را برمی‌گرداند.

هدرهای درخواست

نام

اجباری

نوع داده

توضیحات

webservice-token

بله

String

توکن وب‌سرویس را از پنل کاربری دریافت کنید.

نمونهٔ درخواست

نمونهٔ cURL

curl -i -H "webservice-token: {YOUR_TOKEN}" \
  https://panel.telefonchy.com/webservice/v1/services

نمونهٔ PHP

<?php
$ch = curl_init();

curl_setopt(
    $ch,
    CURLOPT_URL,
    "https://panel.telefonchy.com/webservice/v1/services"
);

curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'webservice-token: {YOUR_TOKEN}',
]);

$server_output = curl_exec($ch);
curl_close($ch);

$data = json_decode($server_output);
var_dump($data);

نمونهٔ پاسخ موفق

{
  "status": "Ok",
  "code": 200,
  "message": null,
  "data": [
    {
      "service_id": "{ANY_STRING}",
      "trunks": [
        {
          "id": "{TRUNK_ID}",
          "number": "021XXXXXXXXXXX"
        }
      ],
      "extens": [
        {
          "number": "1510",
          "name": "کارشناس۱"
        }
      ]
    }
  ]
}

نکته: ساختار trunks به‌صورت آرایه‌ای از اطلاعات خطوط نمایش داده شده است تا شناسه و شمارهٔ هر خط به‌طور کامل در دسترس باشد.

ساختار پاسخ

فیلد

توضیحات

status

وضعیت پردازش درخواست است. مقدار Ok نشان‌دهندهٔ موفقیت درخواست است.

code

کد وضعیت پاسخ است. مقدار 200 نشان‌دهندهٔ موفقیت درخواست است.

message

پیام تکمیلی سرور است. مقدار null یعنی پیام اضافه‌ای وجود ندارد.

data

آرایهٔ سرویس‌ها است. هر شیء شامل اطلاعات یک سرویس و اجزای مرتبط با آن است.

فیلدهای اطلاعات سرویس

فیلد

توضیحات

service_id

شناسهٔ سرویس است و برای ارتباط داده‌های محلی با سرویس مربوطه اهمیت زیادی دارد.

trunks

آرایهٔ اطلاعات خطوط فعال مرتبط با سرویس است.

trunks[].id

شناسهٔ خط فعال است.

trunks[].number

شمارهٔ خط فعال است.

extens

آرایهٔ داخلی‌های سرویس است.

extens[].number

شمارهٔ داخلی خط است.

extens[].name

نام اپراتور یا کاربر متصل به داخلی است.

بهترین روش برای ذخیره‌سازی محلی

  • service_id را به‌عنوان شناسهٔ پایدار سرویس در نظر بگیرید.

  • خطوط و داخلی‌ها را در جدول‌های جداگانه ذخیره و با شناسهٔ سرویس به هم مرتبط کنید.

  • پیش از استفاده از داده، مقدارهای status و code را بررسی کنید.

  • برای به‌روزرسانی اطلاعات، همگام‌سازی زمان‌بندی‌شده یا مبتنی بر نیاز در نظر بگیرید.

  • توکن وب‌سرویس را فقط در محیط امن سمت سرور نگه دارید و هرگز در مرورگر یا مخزن عمومی قرار ندهید.

جمع‌بندی

مسیر /webservice/v1/services نقطهٔ شروع مناسبی برای دریافت و همگام‌سازی اطلاعات پایهٔ سرویس‌ها است. با ذخیره‌سازی ساخت‌یافتهٔ سرویس‌ها، خطوط و داخلی‌ها در دیتابیس محلی، می‌توانید توسعهٔ مسیرهای آینده را سریع‌تر و قابل‌اعتمادتر انجام دهید.

دانلود فایل آموزشی این پست به صورت PDF