前提
公式LINEのwebhookを複数のツールに使用する方法を教えてください
公式LINEのWebhookを利用して自作ツールを運用しており、
今後マーケティングツールのLステップの利用も考えております。
ただ、Lステップも自作ツールもwebhookの使用が必須であり、
公式LINEはwebhookのURLが1つしか設定出来ません。
その為、両方のツールを同時使用は出来ない状態です。
ですので、自作ツールを中継として、Lステップ側にデータを渡そうと考えております。
公式LINE
↓
自作ツール(webhook)
↓
Lステップ(webhook)
上記のような流れですね。
それでcurlでリクエストを渡そうと考えているのですが、
上手くいきません。
現状何が悪くてどう改善すればいいのか分からない状態ですね、
何かしらの案などございましたらご教示いただけますと幸いです。
該当のソースコード
//webhookでもらったデータを取得 $inputs=$request->all(); $inputs = json_encode($inputs); //x-line-signatureの署名用 $channelSecret = 'チャネルシークレット'; $httpRequestBody = file_get_contents('php://input'); $json_object = json_decode($httpRequestBody); $hash = hash_hmac('sha256', $httpRequestBody, $channelSecret, true); $signature = base64_encode($hash); // LステップのWebhookURL $url = "" ; $curl = curl_init(); $head2 = 'Content-Type: application/json'; $head3 = 'x-line-signature: '.$signature; curl_setopt($curl, CURLOPT_HTTPHEADER, array($head2,$head3)); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); // HTTPでのPOST設定を行います curl_setopt($curl, CURLOPT_POST, 1); // 通信実施後の戻り値を、文字列に設定する curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // POSTパラメーターを設定します curl_setopt($curl, CURLOPT_POSTFIELDS, $inputs); // 通信の実行 $response = curl_exec($curl); var_dump($response); if($response){ return true; }else{ return false; } // URLセッションを閉じる curl_close($curl);
発生している問題・エラーメッセージ
エルステップのwebhookにリクエストを送っても反応ないですし、
そもそもエラーメッセージも見られないのでどういう状況なのかも把握できません。
webhooksiteにて、
①Messanger api から直接Webhooksiteに渡した情報
②自作ツールを中継してwebhooksiteに渡した情報
なども比べてみたのですが、
渡している情報などは両者とも同じですので、
失敗している要因が分からない状態です。
追記
現状ではスタンプを送ればLステップ側にデータが登録されるようになっています。
Lステップ側に友達登録もされています。
その為、webhookの中継自体は出来ている状態です。
**
ただ、テキストを送った時にLステップ側に反映されない為、
なぜ反映されないのか理由など分かる方がいらっしゃれば教えて頂きたいです。**
補足情報(FW/ツールのバージョンなど)
上記はlaravelで使用しています。
php/laravel9/
あなたの回答
tips
プレビュー