Замокать challenge Events API Slack

POST-мок, который отвечает на верификационный запрос url_verification Slack тем же challenge.

Slack не включит эндпоинт Events API, пока тот не пройдёт рукопожатие url_verification, вернув обратно присланное значение challenge. Шаблон делает ровно это: читает challenge из входящего запроса и отдаёт его назад, так что эндпоинт можно верифицировать до того, как появится настоящий обработчик. В ответе одно поле именно потому, что рукопожатие Slack требует ровно этого.

Принимает входящий вызов и отвечает так, как ждёт сервис.

Тело ответа

{
  "challenge": "{{request.body.challenge}}"
}

Поля, на которые стоит обратить внимание

Поле Что означает
challenge Возвращается прямо из тела вашего запроса через {{request.body.challenge}} — именно это и проверяет верификация Events API у Slack.

Создать мок

curl -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "POST",
  "response_status": 200,
  "content_type": "application/json",
  "response_body": "{\"challenge\":\"{{request.body.challenge}}\"}"
}'

Вызвать

curl -X POST -H 'Content-Type: application/json' -d '{"token":"verification-token-8f3a","challenge":"3eZbrw1aBm2rZSFEGRbdazZQb7aoEXsdMY19q6IcvKf","type":"url_verification"}' https://quickmock.dev/m/<slug>

Что вы получите

POST the url_verification payload -> 200 echoes {"challenge":"..."} back
Slack requires this exact echo to verify the Events API endpoint

Чем это отличается от настоящего

Подпись запроса (заголовок X-Slack-Signature) не проверяется — мок отвечает тем же challenge любому, кто пришлёт похожее тело, а не только настоящему Slack.

Источники

Частые вопросы

Зачем Slack нужно эхо challenge?
Это доказывает, что URL контролирует тот, кто способен прочитать тело запроса, а не что кто-то просто вписал произвольный адрес. Пока эхо не сработает, Slack не пришлёт на эндпоинт ни одного события.
Проверяет ли он подпись Slack?
Нет. Заголовок X-Slack-Signature не проверяется, поэтому мок вернёт эхо любому, кто пришлёт подходящее тело. Проверка подписи — дело вашего настоящего обработчика, и тестировать её надо против самого Slack.
Будет ли он обрабатывать реальные события после верификации?
Он их примет и вернёт то же самое эхо, а обработчик событий должен отвечать иначе. Используйте шаблон, чтобы пройти верификацию, а затем переключите Slack на свой эндпоинт.

Готовы попробовать?

Открыть в конструкторе моков и сначала поправить

Хорошо сочетается с гайдом: Отразить запрос обратно

Похожие шаблоны

← Все шаблоны

Обновлено: 2026-10-17