Download the PHP package nomisoft/php-alexa-helper without Composer
On this page you can find all versions of the php package nomisoft/php-alexa-helper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nomisoft/php-alexa-helper
More information about nomisoft/php-alexa-helper
Files in nomisoft/php-alexa-helper
Package php-alexa-helper
Short Description A library to ease development when working with the Amazon Alexa API
License MIT
Homepage https://github.com/nomisoft/php-alexa-helper
Informations about the package php-alexa-helper
PHP Alexa Helpers
A library to ease development when working with the Amazon Alexa API
Installation
Usage
Requests
This will capture the JSON from the POST request
If you've already captured the posted JSON and have it in a variable you can pass it in to the constructor of the AlexaRequest class
The $alexaRequest object now behaves like an object representing the JSON posted by the Alexa API. You can directly access the properties as they match the JSON for example:
There are a few shortcut functions available
$alexaRequest->getType() is a shortcut returning the value of request->type from the JSON
$alexaRequest->getIntent() is a shortcut returning the value of request->intent->name from the JSON
$alexaRequest->getSlots() returns a key/value array of the intent slots. For example "slots": { "ZodiacSign": { "name": "ZodiacSign", "value": "virgo" } }
would return array('ZodiacSign'=>'virgo')
Validating requests
Skills being submitted for Alexa approval also need an extra step in verifying the requests come from Amazon. The RequestValidator class will do all necessary timestamp and certificate checks.
Responses
To respond to the Alexa request you can construct an OutputSpeech object
When you invoke your Alexa skill your Amazon Echo (or other Alexa enabled device) will respond by saying 'Hello World'
By default a 'PlainText' type of speech response will be used. You can also respond using SSML
If you wish to also send a 'card' response which is shown on screen in the Alexa app you can create a Card object. The below example is for a 'Simple' card with just some text
As well as setting the cards text content you can also set a title and return images to be displayed
The AlexaResponse class is JSON serializable so to return your response to Amazon just echo json_encode($response);
or call $response->render()
. If you're using Symfony you might return the json with JsonResponse from your controller like: