Локальное тестирование 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.