Локальне тестування API

Як приймати callback від пристроїв на машині розробника та тестувати REST-команди в Postman до розгортання.

Локальне тестування (без розгортання на сервері)

Щоб протестувати інтеграцію callback на локальній машині розробника, не розгортаючи її на робочому сервері, потрібно зробити вашу машину доступною з інтернету, щоб Cams Protocol Engine міг надсилати на неї дані callback методом POST.

Варіант A: публічний IP і прокидання портів

Якщо ваше інтернет-підключення має публічну (статичну) IP-адресу, ви можете прокинути зовнішній порт на ваш локальний застосунок.

1

Дізнайтеся свій публічний IP

Відкрийте whatismyip.com або виконайте в терміналі curl ifconfig.me. Запишіть свою публічну IP-адресу.

2

Налаштуйте прокидання портів на роутері

Увійдіть до панелі адміністратора роутера. Прокиньте зовнішній порт (наприклад, 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 або ви не можете налаштувати прокидання портів, скористайтеся сервісом тунелювання, щоб відкрити доступ до локального сервера з інтернету.

ІнструментКомандаПримітки
ngrokngrok http 3000Є безкоштовний тариф. Одразу видає публічний HTTPS URL.
Cloudflare Tunnelcloudflared tunnel --url localhost:3000Безкоштовно. Для швидких тунелів обліковий запис не потрібен.
localhost.runssh -R 80:localhost:3000 ssh.localhost.runУстановлення не потрібне. Працює через SSH.
1

Запустіть локальний застосунок

Запустіть свій callback-сервер локально (наприклад, php -S localhost:8080, node server.js або python app.py).

2

Запустіть тунель

Запустіть інструмент тунелювання. Він виведе публічний URL на кшталт https://abc123.ngrok-free.app.

3

Налаштуйте Callback URL

В API Monitor вкажіть як Callback URL адресу тунелю:
https://abc123.ngrok-free.app/callback

4

Перевірка

Виконайте відмітку. Callback надходитимуть через тунель на вашу локальну машину в реальному часі.

Важливо: URL тунелів тимчасові й змінюються під час кожного перезапуску інструмента (якщо ви не використовуєте платний тариф із закріпленими доменами). Оновлюйте Callback URL в API Monitor щоразу, коли отримуєте новий URL тунелю.
Для тестування RESTful API таке налаштування не потрібне. Ви можете викликати RESTful endpoint напряму зі своєї машини через Postman або зі свого коду — прокидання портів і тунелювання не потрібні. Доступність з інтернету потрібна вашій машині лише для Callback API (вхідні запити від Cams на ваш сервер).

Тестування URL

Перед запуском у роботу перевірте свої endpoint за допомогою Postman. Ми надаємо готову колекцію з усіма 27 попередньо налаштованими операціями RESTful.

Колекція Postman

Завантажте та імпортуйте в Postman. Задайте змінні base_url, stgid і auth_token — і одразу починайте тестування.

📥 Завантажити колекцію Postman
1

Імпортуйте колекцію

Відкрийте Postman → Import → перетягніть завантажений файл .json. Усі 27 операцій RESTful відобразяться, згруповані за категоріями.

2

Задайте змінні

Перейдіть на вкладку Variables колекції та вкажіть:
base_url = URL вашого RESTful endpoint (з API Monitor)
stgid = Service Tag ID вашого пристрою
auth_token = AuthToken вашого пристрою

3

Надсилайте запити

Виберіть будь-яку операцію, відредагуйте тіло JSON, підставивши свої значення, і натисніть Send. Переконайтеся, що відповідь відповідає очікуваному формату, описаному вище.

Приклад у Postman

Нижче показано знімок екрана з прикладом запиту API, налаштованого в Postman. Установіть метод POST, вставте URL вашого RESTful endpoint із ?stgid= і використовуйте тіло raw JSON.

Знімок екрана Postman із конфігурацією запиту до Cams API
Протестуйте й свій Callback endpoint. Надішліть методом POST приклад JSON RealTimePunchLog (див. операцію №11) на ваш Callback URL і переконайтеся, що сервер повертає {"status":"done"} з HTTP 200.