Замокать 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