@novo-x/shopify
v1.0.7
Published
Shopify core
Downloads
18
Readme
Shopify Service
Available methods
- getByPath: retrieves a resource using shopify API
- getProducts: retrieves all products
- getProductById: retrieves product by id
- getCustomers: retrieves all customers
- createCustomer: creates a customer
- updateCustomer: updates an existent customer
- createDraftOrder: creates draft order
- confirmDraftOrder: converts draft order into an order
- calculateShipping: calculates shipping for specific order
Usage examples
yarn add @novo-x/shopify
import {ShopifyService} from "@novo-x/shopify"
const MyService = new ShopifyService(
{
API_KEY: '123456789',
API_SECRET_KEY: '123456789',
SCOPES: 'read_products,write_customers,write_draft_orders',
HOST_NAME: 'myhost.com',
API_VERSION: '2021-07',
IS_EMBEDDED_APP: true,
SESSION_STORAGE: new Shopify.Session.MemorySessionStorage(),
}, // config
'mystore', // shop name (same as seen in url: mystore.myshopify.com)
'123456789' // accessToken
);
const resource = await MyService.getByPath('products');
const products = await MyService.getProducts();
const product = await MyService.getProductById(
'123456789' // productId
);
const customers = await MyService.getCustomers();
const createdCustomer = await MyService.createCustomer({
firstName: 'John',
lastName: 'Doe',
email: '[email protected]',
phone: '+34627192600', // It must be a valid phone number
verified: 1,
addresses: [{
address: 'Calle falsa 123',
city: 'City',
province: 'Province',
phone: '+34627192600', // I must be a valid phone number
zipCode: '46092',
firstName: 'John',
lastName: 'Doe',
country: 'ES', // It must be in ISO-3166 country code format
}]
})
const updatedCustomer = await MyService.updateCustomer(
{
firstName: 'John',
lastName: 'Doe',
email: '[email protected]',
phone: '+34627192600', // It must be a valid phone number
verified: 1,
addresses: [{
address: 'Calle falsa 123',
city: 'City',
province: 'Province',
phone: '+34627192600', // I must be a valid phone number
zipCode: '46092',
firstName: 'John',
lastName: 'Doe',
country: 'ES', // It must be in ISO-3166 country code format
}]
}, // customerData
'123456789' // customerId
)
const confirmedOrder = await MyService.confirmDraftOrder(
'123456789' // orderId
)
const draftOrder = await MyService.createDraftOrder(
'123456789', // productVariantId
2, // quantity
'123456789' // customerId
)
const shipping = await calculateShipping(
draftOrder // previously created
)