Skip to content
  • There are no suggestions because the search field is empty.

Marketplacer General Info

Review Marketplacer General Info

The Marketplacer integration has 2 components, none used at this time:

1. Marketplacer as a retailer from which we download products and upload orders.

2. Marketplacer as a marketplace to which we upload products and download orders.

Both have some overlapping in terms of actual code and Marketplacer APIs used.


What APIs are used and why?


1. Marketplacer as a retailer

To be completed later.


2. Marketplacer as a marketplace


GraphQL API for:

  • Retrieving Taxonomies which become the marketplace categories in Omnivore.
  • Retrieving Prototypes which link Taxonomies to OptionValues.
  • Retrieving OptionValues which become the marketplace category required attributes in Omnivore.

Rest API for:

  • Creating and updating adverts, aka products in Omnivore.
  • Creating and updating variants for an advert, aka product variants in Omnivore.
  • Creating images, for products and variants.
  • Retrieving brands.
  • Retrieving invoices, aka retailer orders in Omnivore.
  • Updating shipping info for an invoice, aka Omnivore marking the order as shipped in the marketplace.
  • Retrieving adverts and variants for the Omnivore marketplace purge workflow.

Marketplacer documentation

https://api.marketplacer.com/

https://api.marketplacer.com/graphql/overview/

https://api.marketplacer.com/v2/


How to add a new Marketplacer marketplace in Omnivore


Steps to do by the marketplace people


1. Create  a GraphQL api key: Configuration -> Marketplacer API Keys. Provide us the api key and endpoint.

The endpoint is likely the marketplace url then "graphql", eg: https://thedom.com/graphql

2. For each retailer that needs to be integrated, do this:

2.1 Create the seller account in the marketplace

2.2. Create a Rest API key for that seller: upper right corner -> Api & integrations

Provide us the api key and endpoint.


Steps to do by the Omnivore devs


1. Add the new marketplace in Marketplace.groovy

2. Add the code to instantiate the marketplace in BootStrap.groovy initMarketplaces()

3. Add the credentials in Config.groovy at the bottom of the file look for the section omnivore.marketplacerMarketplace

4. Once the marketplace exists in Omnivore, navigate to Marketplaces -> admin page for that marketplace, and verify that queries work.

5. Go to Marketplace Categories -> click 

Update categories synchronously

then 

Update all marketplace category attributes synchronously

There's currently a bug somewhere that prevents the job created by the Refresh button to properly finish.


How to add a new retailer to an existing Marketplacer marketplace


Steps to do in the marketplace


See points 2.1 and 2.2 above.


Steps to do in Omnivore


1. Put the Rest api key and endpoint in the config page, then test connectivity.

2. Retrieve brands allowed for this retailer like so: go to Retailer admin -> New dashboard -> scroll down to the section Marketplacer Rest Api -> click Download Brands create/update Marketplace Brands.

3. If they use the advert vetting workflow, the config page also requires the GraphQL retailer id, which can be found by invoking the Sellers GraphQL api like so: go to General admin -> Marketplace -> click the admin link in the Type column -> click Sellers -> find the retailer name and copy/paste the id into the Omnivore config page, eg:

This value: U2VsbGVyLTI0

goes into this page https://m1.omnivore.com.au/configuration/marketplacerMarketplace/home-royale?marketplaceCode=barbequesgalore

in the field Seller GraphQL Id


Aug 2022 Updates


Api Key Usages


1. Retrieve categories, attributes and option values  via the GraphQL api - does not require an api key at all.

2. Integrate a retailer (single seller account in Marketplacer) on a Marketplacer marketplace, using Rest api and optional GraphQL api - requires the api key for the seller as documented here  https://api.marketplacer.com/v2/getting_started/

This key works for both Rest and GraphQL calls. 

3. Use the Marketplacer instance as a retailer backend. No current examples are live in Omnivore. The code expects a "system" GraphQL key as documented here https://api.marketplacer.com/graphql/getting_started/

That gives full access to all Marketplacer sellers and all GraphQL apis.

Todo

Better/faster method to retrieve vetting status, ie not one product at the time. Review GraphQL api, does product search only return visible products?

Comparative Unit Pricing for Woolies

TGA fields for Woolies

https://api.marketplacer.com/v2/variants/

~