Purpose: Source plugin to pull data out from www.gooten.com Stage: Barebones - first plugin I've made - would love feedback, suggestions and help.
Currently plugin will provide the following data to gatsbys graphQL data
- All Currencies Supported by Gooten
- Show all ISO 2 digit CountryCodes
- Get all Products ( filtered by your region's availability )
- each products variants in your selected currencies cost pricing
- each product templates ( describes to your UI how to generate a realistic product preview )
npm install --save gatsby-source-filesystem
How to use
// In your gatsby-config.jsmoduleexports =const result =plugins:resolve: 'gatsby-source-gooten'options:// recipeId is required - once you've a gooten account and logined in you can get fromrecipeId: processenvGOOTEN_RECIPEID/*countryCode, - optional - defaults to "US"NOTE: a list of countryCodes (ISO 3166-1 alpha-2) are injected into data model for you to pick one.*/countryCode: processenvGOOTEN_COUNTRYCODE/*currencyCode - optional - defaults to "USD"NOTE: a list of supported currencies are injected into data model for you to pick one.*/currencyCode: processenvGOOTEN_CURRENCY
would love to provide a full tutorial to integrate into a site, with a shopping cart provider (maybe with snipcart or stripe checkout ) I will endeavour to make one when I can however feel free to beat me too it and I'll promote it here.
Notes & Seeking Advise
I suspect it would be prudent to avoid accessing cost pricing on a page or component level as could be accessed by user in page source. instead we will need to come up with a best practise. likely this will need to be one of the following
- a serverless function which only publishes your own pricing (for example netlify functions)
- a config file which has your own pricing which we could override pricing in data model to make safe to access in UI