agencednd / oro-api-connector-bundle
Dn'D Oro Api Connector Bundle to extend OroCommerce API
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 7
Forks: 1
Open Issues: 0
Language:JavaScript
Type:symfony-bundle
Requires
- php: >=7.0
- oro/commerce: ~1.0
This package is auto-updated.
Last update: 2024-10-29 05:10:33 UTC
README
Dn'D Oro Api Connector for Oro Commerce >= 1.0
This connector between OroCommerce REST API and Alexa Amazon Echo Dot
Requirements
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ cd /my/orocommerce/installation/dir $ curl -sS https://getcomposer.org/installer | php
Then, install DndOroApiConnectorBundle with composer:
composer require agencednd/oro-api-connector-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
The bundle is automatically enabled.
Step 3: ReGenerate the API doc
The bundle expose a controller as API, so you have to regenerate the API doc
php app/console oro:api:doc:cache:clear -e prod
Step 4: Copy the script folder into web folder
The Amazon Function needs to get a wsse header to be authenticated on the Oro's API. The WSSE header is generated from a script in your OroCommerce application. To access of this script, you need to copy the files from vendor/ to web/ with this command line.
cp -R vendor/agencednd/alexa-connector-bundle/Resources/public/scripts/ web/scripts
In web/scripts/generate-wsse-header.php, you have to put your API key : oroUrl/admin/user/profile/view generate key
Step 5: Protect the generate-wsse-header.php script
- Modify the .htpasswd in ./web/scripts with this
# generate your user and password
'user:passwd'
- Modify the .htaccess with the good path to .htpasswd
From the "scripts" folder in console
echo $PWD
Copy the path prompted
Then modify the .htaccess AuthUserFile with the string pasted and .htaccess like /srv/www/orocommerce/web/scripts/.htpasswd
So, the OAuth2 is on the roadmap of the Oro team and will replace de WSSE.
Step 6: Create an AWS Lambda Function
In your intent model put the content of alexa/intents.json
In your AWS Lambda Function put the content of index.js
Step 7: Replace in AWS Function
Line 23
var oroHost = 'example.com';
With your URL.
Line 28 :
auth: 'user:passwd',
Replace user:passwd by your user password generated for .htpasswd
Let's Play
Roadmap
Index.js:
- TODO Wording rewrite website/shop to store
- TODO Refactoring : call token with getApiOption like in getAverageShoppingCart
API:
- Convert revenue in one currency
- Get new opportunities
- Replace WSSE by OAuth2 when it is available
- Push notifications of new orders
About us
Founded by lovers of innovation and design, Agence Dn'D assists companies for 11 years in the creation and development of customized digital (open source) solutions for web and E-commerce.