Feature gaps - wayfair-contribs/plentymarkets-plugin GitHub Wiki

Introduction

This document covers features that were identified but are not yet included in the solution.

Support the Sandbox environment

The deprecated "dryRun" flag that was used for testing integrations with some of the Wayfair APIs was an imperfect solution and its use is now discouraged. Going forward, onboarding to the Wayfair APIs is done using the Sandbox environment as described in the Wayfair API documentation.

The plugin does not currently have any ability to send requests to sandbox.api.wayfair.com nor does it obtain/manage the requisite separate OAuth token for the Sandbox environment.

Update Plentymarkets orders based on Wayfair order changes

The plugin in this repository currently creates Plentymarkets orders for each Wayfair order it picks up via the Wayfair API, and stores the Wayfair order ID in a text field. This "external order ID" is used by reference when making other calls to the Wayfair API, but changes in Wayfair Order data or changes in Wayfair Order status are not replicated on the Plentymarkets application.

Events such as an Order cancellation or a change in shipping address therefore are NOT communicated to the user via Plentymarkets and must be handled via other channels. This may result in order fulfillment issues.

Support product discontinuation through Plentymarkets

Plentymarkets provides users with configurable functionality for marking products as discontinued/unavailable and Wayfair's Inventory systems support discontinuation of Products so that they are no longer listed in Wayfair stores. It should possible to combine these mechanisms such that the Plentymarkets users' Product discontinuations to products are correctly reflected in Wayfair, but not enough research has been performed. This behavior would be desirable as it would remove a situation where the Plentymarkets user has to use a separate channel to communicate with Wayfair.

Test Wayfair credentials

The user does not currently have a way to test the Wayfair credentials entered into the settings. This would prevent some service calls related to connectivity errors as the user would know the reason for failed connectivity between the plugin and Wayfair.

Flush/Refresh OAuth token, re-try API calls

The user does not currently have a way to flush the stored OAuth token(s) used for Wayfair's APIs. In the event that Wayfair has to clear/invalidate the OAuth tokens on the Wayfair side, the plugin will lose connectivity until it determines the token to be invalid, but the plugin does not currently reattempt failed transactions after refreshing the token.

Additionally, if Wayfair tells the user that their OAuth tokens were deleted, there is currently no button for the user to press in order to instruct the plugin to discard its cached tokens and restore connectivity.