تست API به‌صورت محلی

نحوه دریافت callbackهای دستگاه روی رایانه توسعه و تست فرمان‌های REST با Postman پیش از استقرار.

تست محلی (بدون استقرار روی سرور)

برای تست یکپارچه‌سازی callback از رایانه توسعه محلی — بدون استقرار روی سرور تولید — باید رایانه محلی خود را از اینترنت در دسترس قرار دهید تا Cams Protocol Engine بتواند داده callback را با POST به آن بفرستد.

گزینه A: IP عمومی + Port Forwarding

اگر اتصال اینترنت شما آدرس IP عمومی (ثابت) دارد، می‌توانید یک پورت خارجی را به برنامه محلی خود هدایت کنید.

1

IP عمومی خود را پیدا کنید

به whatismyip.com مراجعه کنید یا در ترمینال curl ifconfig.me را اجرا کنید. آدرس IP عمومی خود را یادداشت کنید.

2

port forwarding را روی روتر تنظیم کنید

وارد پنل مدیریت روتر شوید. یک پورت خارجی (مثلاً 8080) را به IP داخلی رایانه محلی خود و پورتی که برنامه‌تان روی آن اجرا می‌شود (مثلاً 3000، 5000، 8080) هدایت کنید.

3

Callback URL را پیکربندی کنید

در API Monitor، Callback URL را روی این مقدار تنظیم کنید:
http://YOUR_PUBLIC_IP:8080/callback

4

تست

روی دستگاه بیومتریک یک ثبت تردد انجام دهید. Cams Protocol Engine داده callback را با POST به IP عمومی شما می‌فرستد و روتر آن را به برنامه محلی شما هدایت می‌کند.

گزینه B: ابزارهای تونل (بدون نیاز به IP عمومی)

اگر IP عمومی ندارید یا نمی‌توانید port forwarding را پیکربندی کنید، از یک سرویس تونل برای در دسترس قرار دادن سرور محلی از اینترنت استفاده کنید.

ابزاردستورتوضیحات
ngrokngrok http 3000نسخه رایگان موجود است. بلافاصله یک URL عمومی HTTPS می‌دهد.
Cloudflare Tunnelcloudflared tunnel --url localhost:3000رایگان. برای تونل‌های سریع به حساب کاربری نیاز نیست.
localhost.runssh -R 80:localhost:3000 ssh.localhost.runبدون نیاز به نصب. از طریق SSH کار می‌کند.
1

برنامه محلی خود را اجرا کنید

callback server خود را به‌صورت محلی اجرا کنید (مثلاً php -S localhost:8080 یا node server.js یا python app.py).

2

تونل را راه‌اندازی کنید

ابزار تونل را اجرا کنید. یک URL عمومی مانند https://abc123.ngrok-free.app نمایش می‌دهد.

3

Callback URL را پیکربندی کنید

در API Monitor، Callback URL را روی URL تونل تنظیم کنید:
https://abc123.ngrok-free.app/callback

4

تست

یک ثبت تردد انجام دهید. callbackها به‌صورت بلادرنگ از طریق تونل به رایانه محلی شما می‌رسند.

مهم: URLهای تونل موقتی هستند و با هر بار راه‌اندازی مجدد ابزار تغییر می‌کنند (مگر اینکه از طرح پولی با دامنه‌های رزروشده استفاده کنید). هر بار که URL تونل جدید گرفتید، Callback URL را در API Monitor به‌روزرسانی کنید.
تست RESTful API به این پیکربندی نیاز ندارد. می‌توانید endpoint در RESTful را مستقیماً از رایانه محلی خود با Postman یا کد خودتان فراخوانی کنید — بدون port forwarding یا تونل. فقط API نوع Callback (ورودی از Cams به سرور شما) نیاز دارد که رایانه شما از اینترنت در دسترس باشد.

تست URL

پیش از راه‌اندازی نهایی، endpointهای خود را با Postman بررسی کنید. یک collection آماده با تمام 27 عملیات RESTful از پیش پیکربندی‌شده ارائه می‌دهیم.

Postman Collection

دانلود و در Postman وارد (import) کنید. متغیرهای base_url، stgid و auth_token را تنظیم کنید — سپس فوراً تست را شروع کنید.

📥 دانلود Postman Collection
1

collection را import کنید

Postman را باز کنید → Import → فایل .json دانلودشده را بکشید و رها کنید. هر 27 عملیات RESTful به‌صورت دسته‌بندی‌شده نمایش داده می‌شوند.

2

متغیرها را تنظیم کنید

به تب Variables در collection بروید و تنظیم کنید:
base_url = URL مربوط به endpoint در RESTful شما (از API Monitor)
stgid = Service Tag ID دستگاه شما
auth_token = AuthToken دستگاه شما

3

درخواست‌ها را ارسال کنید

هر عملیاتی را انتخاب کنید، بدنه JSON را با مقادیر خود ویرایش کنید و روی Send بزنید. بررسی کنید پاسخ با قالب مورد انتظار که در بالا مستند شده مطابقت دارد.

نمونه Postman

در ادامه تصویری از یک درخواست API نمونه که در Postman پیکربندی شده آمده است. متد را روی POST بگذارید، URL مربوط به endpoint در RESTful را با ?stgid= جای‌گذاری کنید و از بدنه raw JSON استفاده کنید.

تصویر Postman که پیکربندی درخواست Cams API را نشان می‌دهد
endpoint مربوط به Callback را هم تست کنید. یک JSON نمونه RealTimePunchLog (به عملیات شماره 11 مراجعه کنید) را با POST به Callback URL خود بفرستید و بررسی کنید سرور شما {"status":"done"} را با HTTP 200 برمی‌گرداند.