Setting Up Order Up and Deliverect Integration

Deliverect is an integration platform. It enables Hospitality Venues to integrate between Multiple systems like (POS, Online Ordering, and Deliveries).

Setting Up Order Up and Deliverect Integration

 

1. Login into the Order Up (OUS) console for the client, and select the store to integrate Deliverect with.

 

2. Navigate to Point of Sale -> Deliverect, click on the Create / Get OUM Location ID button.

If the link is disabled, use Developer Tools in the browser to enable it by removing the “disabled” attribute from button properties and then clicking the button. This will fetch a location id from OUM which can be used in the below steps to set up the integration in Deliverect.

3. Login to Deliverect -> Navigate to Accounts -> Switch to Appropriate Account

4. Navigate to Locations -> Select a Location

5 .Click on +Channel Link

6. Create the Channel as below :

    1. Channel * : Generic 

    2. Integration Status * : Testing

    3. Integration Name * :

    4. Store URL :

    5. External Location Id : // created during Integration Setting

    6. Channel Status Webhook URL : https://api.orderup.net.au/api/deliverect/v1/location/status

    7. Menu Update Webhook URL : https://api.orderup.net.au/api/deliverect/v1/menu/import

    8. Snooze/Unsnooze URL : 

    9. Busy Mode URL : https://api.orderup.net.au/api/deliverect/v1/location/busy



7. Press the Create Button -- This will create a channel in Deliverect.

8. Actions on Channel:


    1. Register:

      Once the Channel is created, click on Register: When you click on Register, you register the Channel with a Store in OUS. As a result of this operation, a Location Config gets created in the location_configs table in OUM DB. Also, this means that now OUM will be able to identify Deliverect Channel with Channel Link ID and the OUS store it maps to using location_id.

       

    2. Activate:

      Click on Activate Button: The register operation creates a link between Deliverect and OUS, whereas Activate will ensure configurations are set to enable this communication. When you Activate a channel a json field in OUM gets created which identifies that the Channel - Location Config is available and open to be used.

       

    3. Disable:

      This deactivates the Channel - Link Configuration. To be used when you want to disable a channel.

      Menu Import on Deliverect

      1. Deliverect will have the ability to pull the menu from a system and push it to OUS.

      2. When the Menu is Published in Deliverect, it will Fire a webhook that will be sent to OUM to import Menu.

      3. Currently, Menu Import does not support Bundled Products, Variant Products, Snoozed Items, Select any 2 Modifiers

      4. Refer to the below links to understand the creation of Menu in Deliverect and API Details  :

        1. Create or Import a Menu

        2. Menu Sync

      5. URL of Menu Import :  https://api.orderup.net.au/api/deliverect/v1/menu/import

      6. Flow for Menu Import :

        1. When a menu is published, Deliverect will trigger a webhook with menu data as the payload to the Menu Import URL in the above step.

        2. OUM : The routes for the menu import url are defined in https://github.com/digitalsociety/apiplatform/blob/newtest/routes/api.php

        3. Look for the line :
          Route::post('/menu/import', [DeliverectMenuController::class, 'import']);

          This is where we pass the request from menu/import to the DeliverectMenuController, import function.

        4. import(): The import function broadly performs the below tasks:

          1. Converts the JSON payload of the menu to an array.

          2. Compare the new Menu with the old Menu if the Old menu existed.

          3. If the menu has changed or if it is a new menu, ingest the menu into OUS. 

            1. Create the Attribute Categories, Attributes, Categories and Products  into OUS using OUS APIs.

            2. If there is an error throw a ServiceErrorException

            3. If all the creation activity succeeds, use the Menu payload and insert the menu payload in the menus table of OUM.