Использование скриптов при формировании запросов используя Postman
В статье опишу применение JS скриптов а postman при работе с API.
- Описание
- Подробнее
Описание
Вводные
Нужно протестировать работоспособность API в которых:
- Используется подпись в теле запроса, пример Mango office API (документация)
- Используется Oauth аутентификация с RS256, пример Google API используя сервисного пользователя (документация)
- Используется Oauth аутентификация, пример Google API используя доступ обычного пользователя (документация)
- Используется JWT токен HS256, пример Zoom (документация)
- Тестирую с помощью Postman
Описание варианта с подписью
Выдержка из документации: "Данные, которыми обмениваются системы, как правило, будут передаваться в теле POST-запроса. В этом случае в тело запроса включается обязательные параметры json, vpbx_api_key и sign.
Параметр vpbx_api_key заполняется уникальным кодом продукта ВАТС, полученным в Личном кабинете MANGO OFFICE при подключении API.
Значение sign рассчитывается следующим образом: sign = sha256(vpbx_api_key + json + vpbx_api_salt).
Подписываются все запросы — как от внешней системы, так и от API ВАТС."
Решение варианта с подписью
Можно собрать тело запроса вручную, рассчитав хэш SHA256 используя онлайн сервис или написав обработку в 1С, но для тестирования набора запросов с разными данными это неудобно.
В postman поддерживаются переменные (документация) и обработчики перед и после отправки запроса (документация).
Обработчики пишутся на JS, ими можно установить переменную, нельзя переписать тело запроса. Поэтому для решения задачи помещаем переменную {{content_body}} в тело запроса