Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dadeather/amazonalexaservice
A PHP library for handling amazons alexa skill requests.
https://github.com/dadeather/amazonalexaservice
amazon-alexa-skill composer composer-package jms-serializer php
Last synced: about 2 months ago
JSON representation
A PHP library for handling amazons alexa skill requests.
- Host: GitHub
- URL: https://github.com/dadeather/amazonalexaservice
- Owner: DaDeather
- License: mit
- Created: 2018-03-22T16:01:51.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-12-23T10:09:04.000Z (about 5 years ago)
- Last Synced: 2024-11-13T22:40:06.024Z (about 2 months ago)
- Topics: amazon-alexa-skill, composer, composer-package, jms-serializer, php
- Language: PHP
- Size: 1.56 MB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## AmazonAlexaService
Simple kept service for parsing and creating requests and responses for the communication between amazons webservice and your application based on amazons alexa skill capabilities.
### Add to your project:
```
composer require dadadev/amazonalexaservice
```### Simple Usage
Full Example:
```
amazonAlexaService = $amazonAlexaService;
}public function getIntentName(): string
{
return 'myIntent';
}public function handleIntent(Request $request): ?Response
{
return $this->amazonAlexaService->createOutputSpeechResponse('Hello World!');
}
}$serializer = SerializerBuilder::create()->build();
$requestValidationService = new RequestValidationService();
$amazonAlexaService = new AmazonAlexaService($serializer);$jsonRequest = file_get_contents('php://input');
$request = $amazonAlexaService->getAlexaRequest($jsonRequest);try {
$requestValidationService->validateIncomingRequest(
'YOUR APP ID HERE',
$_SERVER['HTTP_SIGNATURECERTCHAINURL'],
$_SERVER['HTTP_SIGNATURE'],
$jsonRequest,
$request
);
} catch (\Exception | ValidationException $exception) {
http_response_code(404);
exit(json_encode([
'status' => 'failed',
'message' => $exception->getMessage(),
'code' => $exception->getCode(),
]));
}$response = $amazonAlexaService->handleIntents($request, new SampleIntentHandler($amazonAlexaService));
if ($response) {
header('Content-Type: application/json');
echo $amazonAlexaService->createJsonFromResponse($response);
exit();
}http_response_code(404);
exit(json_encode([
'status' => 'failed',
'message' => 'Request was not handled, or returned empty reponse.',
'code' => '404',
]));
```