スラックAPIで問題が発生しました。チケットが私たちの発券システムで作成されたときに、(着信Webhook経由で)特定のチャンネルにメッセージを送信するコードが書かれています。このメッセージには、アクションを実行するために使用したいカップルのボタンがあります。スラックインタラクティブメッセージ:ボタンクリックレスポンス
私は(テスト目的のために)ボタンをクリックすると、同じチャンネル内の単純なメッセージを投稿する必要があり、いくつかのPHPコードを指して、私の応答URLを設定しています。
<?php
//Required for ticketing system API, to be implemented later
require_once __DIR__ . '/src/autoload.php';
//get information from HTTP POST, sent at button click
$payload = $_POST['payload'];
$data = json_decode($payload,true);
$responseURL = $data["response_url"];
class Response {
public $response_type = "";
public $text = "";
public $replace_original = "";
}
$r = new Response();
$r->response_type = "in_channel";
$r->text = "Ticket Accepted";
$r->replace_original = "false";
header('Content-Type: application/json');
//Using CURL
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $responseURL,
CURLOPT_POST => 1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => json_encode($r)
));
$resp = curl_exec($curl);
var_dump($resp);
curl_close($curl);
?>
私は、ボタンのクリックで送信されたHTTP POSTリクエストからの応答URLを取得していますが、代わりに私のメッセージ(「チケット受理」)を送信するのでは、私はボタンをクリックするとすぐに、次のGET:
も注意してください。私は(ボタン付き)私の元のメッセージを見ることができるようにfalse
からreplace_original
を設定しようとしたが、そのメッセージはとにかく上記のメッセージに置き換えられます。
テスト中に、別のチャネルの受信Webhooks URLに$responseURL
を設定しようとしました。私がいることをやったとき、私はを行う私のそのチャネルにおける単純な「チケット受理」メッセージとボタンのメッセージ交換と同様のメッセージが出ます:ボタンのクリックは、これらを生成している理由は、私はよく分からない
を彼らはすぐに回答を返すが、私はそのチャンネルに何か他のものを投稿することを止めているようだ。何か案は?