2017-04-08 16 views
0

私はapi.aiの統合でFacebookのメッセンジャーボットを構築しています。私のapi.aiエージェントはwebhook-api.phpに接続されています。私の挑戦は、ボタンレスポンス(フォーマットされたメッセージ)を私のwebhookを通してボットに送りたいということです。 私はこのdocを踏襲 - https://docs.api.ai/docs/webhookFacebookのメッセンジャーボットでレスポンスとして送信ボタンを表示しているエラー

そして、私はapi.phpでこれをやったが、それは

<?php 
header('Content-Type: application/json'); 
ob_start(); 
$json = file_get_contents('php://input'); 
$request = json_decode($json, true); 
$action = $request["result"]["action"]; 
$parameters = $request["result"]["parameters"]; 

$data =json_encode([ 
'speech' => "test", 
'displayText' => "test", 
'data' => "{ 
     'facebook': { 
    'recipient':{ 
    'id':'USER_ID' 
    }, 
    'message':{ 
    'attachment':{ 
     'type':'template', 
     'payload':{ 
     'template_type':'button', 
     'text':'What do you want to do next?', 
     'buttons':[ 
      { 
      'type':'web_url', 
      'url':'https://petersapparel.parseapp.com', 
      'title':'Show Website' 
      }, 
      { 
      'type':'postback', 
      'title':'Start Chatting', 
      'payload':'USER_DEFINED_PAYLOAD' 
      } 
     ] 
     } 
    } 
    } 
} 
    } 
}", 
'source' => "source" 
]); 
echo $data; 
?> 

ボタンを表示していないが、ありがとうございました。

+0

実際にはどういう意味ですか、表示されていませんか?メッセージはまったく配信していないのですか?それが問題であれば、スタックトレースを投稿できますか? – akinmail

答えて

0
$qrString = "Date|Location|Category"; 
    $qrActions = "ActionSetDate|ActionSetLocation|ActionSetCategory"; 
    $webhookResponseArray['data']['facebook']['text'] = "Choose an action..."; 
    // make array of prompts and actions 
    $qrArray = array(); 
    $actionArray = explode('|', $qrActions); 
    $i = 0; 
    $a = array(); 
    foreach (explode('|', $qrString) as $qrButton) 
     { 
     $a['content_type'] = 'text'; 
     $a['title'] = $qrButton; 
     $a['payload'] = $actionArray[$i]; 
     $qrArray[] = $a; 
     $i++; 
     } 
    $webhookResponseArray['data']['facebook']['quick_replies'] = $qrArray; 
    // encode and send webhookResponseArray 
関連する問題