Я создал команду слэша для Slack, и мне нужно отправить данные JSON в Slack. Это код, который я использую, но ответ воспринимается Slack как простой текст.
$data = "payload=" . json_encode(array(
"content-type" => "application/json",
"text" => "a message",
"response_type" => "ephemeral",
"username" => "user",
"icon_emoji" => ":icon:"),JSON_UNESCAPED_SLASHES);
echo $data;
Я что-то пропустил?
Кажется, я не собирал свой файл JSON в соответствии с соглашениями SLACK.
Он не должен иметь параметр payload, который используется только для входящих веб-хуков.
Страница PHP должна включать эту строку:
header('Content-Type: application/json');
Ответ команды слеш должен быть построен следующим образом:
$data = json_encode(array(
"content-type" => "application/json",
"text" => "a message",
"response_type" => "ephemeral",
"username" => "user",
"icon_emoji" => ":icon:"),JSON_UNESCAPED_SLASHES);
echo $ data;
Других решений пока нет …