I'm trying to create a card with my webhook service. my website is in php but I don't know how to respond to api.ai in a way to display my result in card format on client's phone. I ask my question with more detail in here.
Considering, you know receiving and checking action from Api.ai request in php
For responding with the card, you can use this:
$request== file_get_contents("php://input");
$messages=[];
// Building Card
array_push($messages, array(
"type"=> "basic_card",
"platform"=> "google",
"title"=> "Card title",
"subtitle"=> "card subtitle",
"image"=>[
"url"=>'http://image-url',
"accessibility_text"=>'image-alt'
],
"formattedText"=> 'Text for card',
"buttons"=> [
[
"title"=> "Button title",
"openUrlAction"=> [
"url"=> "http://url redirect for button"
]
]
]
)
);
// Adding simple response (mandatory)
array_push($messages, array(
"type"=> "simple_response",
"platform"=> "google",
"textToSpeech"=> "Here is speech and additional msg for card"
)
);
$response=array(
"source" => $request["result"]["source"],
"speech" => "Speech for response",
"messages" => $messages,
"contextOut" => array()
);
json_encode($response);
Make sure you don't push more than one card and have 'simple response' with it.