PHP code example of davidniki02 / api-ai-php
1. Go to this page and download the library: Download davidniki02/api-ai-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
davidniki02 / api-ai-php example snippets
use ApiAi\Client;
try {
$client = new Client('access_token');
$query = $client->get('query', [
'query' => 'Hello',
]);
$response = json_decode((string) $query->getBody(), true);
} catch (\Exception $error) {
echo $error->getMessage();
}
private function createIntent($context, $issue, $response){
try {
$client = new \ApiAi\Client('<developer token>');
$query = $client->post('intents', [
"name" => "issue name",
"auto" => true,
"templates" => [
$issue
],
"contexts" => [
$context
],
"userSays" => [
[
"data" => [
["text" => $issue]
],
"isTemplate" => false,
"count" => 0
],
],
"responses" => [
["speech" => $response]
]
]);
$r = json_decode((string) $query->getBody(), true);
if ($r['status']['code'] != "200")
return false;
return $r;
} catch (\Exception $error) {
return false;
}
}
use ApiAi\Client;
use ApiAi\Model\Query;
use ApiAi\Method\QueryApi;
try {
$client = new Client('access_token');
$queryApi = new QueryApi($client);
$meaning = $queryApi->extractMeaning('Hello', [
'sessionId' => '1234567890',
'lang' => 'en',
]);
$response = new Query($meaning);
} catch (\Exception $error) {
echo $error->getMessage();
}
namespace Custom;
class MyActionMapping extends ActionMapping
{
/**
* @inheritdoc
*/
public function action($sessionId, $action, $parameters, $contexts)
{
return call_user_func_array(array($this, $action), array($sessionId, $parameters, $contexts));
}
/**
* @inheritdoc
*/
public function speech($sessionId, $speech, $contexts)
{
echo $speech;
}
/**
* @inheritdoc
*/
public function error($sessionId, $error)
{
echo $error;
}
}
use ApiAi\Client;
use ApiAi\Method\QueryApi;
use ApiAi\Dialog;
use Custom\MyActionMapping;
try {
$client = new Client('access_token');
$queryApi = new QueryApi($client);
$actionMapping = new MyActionMapping();
$dialog = new Dialog($queryApi, $actionMapping);
// Start dialog ..
$dialog->create('1234567890', 'Привет', 'ru');
} catch (\Exception $error) {
echo $error->getMessage();
}
$ composer