J'ai créé une application Slack avec un webhook entrant et une commande slash. Le processus OAUTH fonctionne comme prévu et je suis en mesure de déployer avec succès l'application, de récupérer et de stocker le jeton d'application.
J'ai créé et envoyé un message (avec des boutons interactifs) dans Slack, via le webhook entrant de l'application. Le problème est que les boutons ne fonctionnent pas et génèrent un message d'erreur dans le canal Slack.
Après avoir lu la documentation de Slack, je constate que les robots qui envoient des messages à Slack doivent inclure le jeton d'application dans le message. J'ai cependant lu en détail la documentation sur les webhooks et je n'ai pas trouvé d'exigence similaire. Le guide du webhook mentionne juste le format JSON nécessaire mais rien sur le jeton d'application. Est-ce que quelque chose m'échappe ? Le guide indique clairement que les messages des webhooks peuvent inclure des boutons interactifs, pourtant le bouton ne fonctionne pas. Je crée la réponse comme suit :
$actions = [
[
"name" => "save",
"text" => "Save",
"type" => "button",
"value" => "save"
]
];
$attachments = [
[
"fallback" => "fallback message",
"title" => "Attachment 1",
"text" => "foobar attachment",
"color" => "#0066ff",
"callback_id" => "btn_action",
"actions" => $actions
]
];
$payload = [
"channel" => "#test",
"response_type" => "ephemeral",
"icon_emoji" => ":rocket:",
"username" => "Test User",
"attachments" => $attachments
];
$data = 'payload=' . json_encode($payload);
$ch = curl_init($webhook);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
J'aimerais avoir des conseils sur la façon de résoudre ce problème ! A la vôtre, Andrew.