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

1.0.1 2017-07-11 14:32 UTC

This package is auto-updated.

Last update: 2024-11-29 05:21:14 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

Part 1 Part 2

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.