LINE BOTを使ってみよう。 (CallBackプログラム:スタンプ送信編)
LINEと言えば、スタンプ。
今回はスタンプの送信を行います。
通常は、利用者が購入して好きなスタンプをインストールすることができます。
それらのスタンプを自由に使え、送信できるかと思いきや、制限がありました。
当然のごとく、購入したスタンプは持っている人、もっていない人があり購入しなくては使用できません。
BOTでは残念ながら、購入したスタンプは使用できず、LINEをインストールしたときに標準で用意されているスタンプしか使用することができません。
【使用できるスタンプ一覧】
スタンプ送信
API
https://api.line.me/v2/bot/message/push
イベントオブジェクト
{ "to": 送信したい相手のユーザID, "messages":[ { "type":"sticker", "packageId":パッケージID, "stickerId":スタンプID } ] }
APIは、テキスト送信と同じものを使用しています。
単純にオブジェクトのタイプが変わるだけのようです。
サンプルソース
// メッセージ $messeage_data = [ "type" => "sticker", "packageId" => パッケージID, "stickerId" => スタンプID ]; // ポストデータ $post_data = [ "to" => 送信先ユーザID, "messages" => [$messeage_data] ]; // curl実行 $ch = curl_init("https://api.line.me/v2/bot/message/push"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $post_data, JSON_UNESCAPED_UNICODE )); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charser=UTF-8', 'Authorization: Bearer ' . 自分のアクセストークン )); $result = curl_exec($ch); $result = json_decode($result); curl_close($ch); if( isset($result->message) ){ // エラー処理: $result->messageにエラーメッセージが入っている。 }
スタンプ送信処理の基本はこのような感じです。
次は、画像送信処理を作っていくことにします。
[前の記事]LINE BOTを使ってみよう。(CallBackプログラム:テキスト送信編)
[次の記事]LINE BOTを使ってみよう。 (CallBackプログラム:画像送信編)