Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sylius-shop-api-client

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sylius-shop-api-client

Sylius Shop API JS Client

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Sylius Shop API Client

npm npm npm

Implement Sylius Shop API Client into your app in just One Step!

  • Easy to configure API client for quick use
  • All API Plugin endpoints are supported!
  • Very simple way to add custom endpoints.
  • Well-Organized and scalable project.
  • All query params, paths and bodies are documented within the code using jsDoc.

Instalation

npm i sylius-shop-api-client - OR - yarn add sylius-shop-api-client

Usage

API_Client

import { API_Client } from "sylius-shop-api-client"

// Configuration

// Initialize API BaseURL ( Required ) Don't forget trailing /
API_Client.baseURL = "https://my.web.site/api/"


// Set / Clear API Cart Identifier (token), used in all cart requests.

// After Picking Cart => Set token
API_Client.cartToken = "xxxxxxxxxxxxxxx"

// After Dropping Cart => Clear token
API_Client.cartToken = ""


// Set API Locale
API_Client.locale = "en_US"


// Set API default pagination limit
API_Client.limit = "10"


// Set API Default Headers ( Optional ), below values are already defaults.
const myDefaultHeaders = {
  "Accept": "application/json",
  "Content-Type": "application/json",
}
API_Client.defaultHeaders = myDefaultHeaders



// Append New Header (name, value) pair, Any where in your code,
API_Client.appendHeader("Authorization", "Bearer xxxxx")

// Remove header from default headers, Any where in your code,
API_Client.removeHeader("Authorization")


// Set onResponseStatus handler,
// to invoke your custom functions in certain response status codes
API_Client.onResponseStatus = (status) => {

  switch(status){

    case 403:
      // Do something, etc Clear UserData, Remove Auth Headers
      break

    case 500:
      // Do something else
      break

    default:
      // Unhandled cases
      console.log("Unhandled case for status ", status)

  }
}


ShopAPI

import { ShopAPI } from "sylius-shop-api-client"


// Async / Await approach
async loadTaxons() {
  
  try {

    const taxons = await ShopAPI.taxons.show_tree()

    // then use taxon constant

  } catch (error) {

    // handle errors

  }

}

// Callbacks approach
ShopAPI.taxons.show_tree().then((response) => {

// handle response

}).catch((error) => {

  // handle errors

})



Cart ShopAPI.cart

MethodStatus
ShopAPI.cart.pick
ShopAPI.cart.show
ShopAPI.cart.drop
ShopAPI.cart.add
ShopAPI.cart.add_multiple
ShopAPI.cart.change_quantitiy
ShopAPI.cart.remove_item
ShopAPI.cart.shipping_cost
ShopAPI.cart.add_coupon
ShopAPI.cart.remove_coupon

Products ShopAPI.products

MethodStatus
ShopAPI.products.by_slug
ShopAPI.products.by_code
ShopAPI.products.by_taxon_slug
ShopAPI.products.by_taxon_code
ShopAPI.products.reviews_by_slug
ShopAPI.products.reviews_by_code
ShopAPI.products.add_review_by_slug
ShopAPI.products.add_review_by_code
ShopAPI.products.latest

Taxons ShopAPI.taxon

MethodStatus
ShopAPI.taxons.show_tree
ShopAPI.taxons.show_subtree

Checkout ShopAPI.checkout

MethodStatus
ShopAPI.checkout.summary
ShopAPI.checkout.address
ShopAPI.checkout.get_shipping_methods
ShopAPI.checkout.set_shipping_method
ShopAPI.checkout.get_payment_methods
ShopAPI.checkout.set_payment_method
ShopAPI.checkout.complete

Orders ShopAPI.orders

MethodStatus
ShopAPI.orders.list_orders
ShopAPI.orders.order_details

User ShopAPI.user

MethodStatus
ShopAPI.user.request_reset_password
ShopAPI.user.password_reset
ShopAPI.user.register
ShopAPI.user.login
ShopAPI.user.verify_account
ShopAPI.user.me
ShopAPI.user.update_me
ShopAPI.user.change_password

Addresses ShopAPI.addresses

MethodStatus
ShopAPI.addresses.list
ShopAPI.addresses.create
ShopAPI.addresses.update
ShopAPI.addresses.delete
ShopAPI.addresses.set_default

Custom Endpoint Extending

import { ShopAPI, API_Client } from "sylius-shop-api-client"

const MyShopAPI = {

  // Spread defaults endpoints
  ...ShopAPI,


  // Create your own enpoints using API_client.

  // Get Method, without query params
  myEndpoint: () => API_Client.get("endpoint"),

  // Get Method, query params object (will be converted to string)
  myEndpointCallMethod: (params) => API_Client.get("endpoint", params),

  // Get Method, with changable path and params
  myEndpointPathMethod: (path, params) => API_Client.get(`endpoint/${path}`, params),

  // Post Method, body object (will be stringified inside)
  myEndpointPostMethod: (body) => API_Client.post("endpoint", body),

  // And so on, for put, patch and delete 
  
  

}

// Then use it anywhere in your code,

// Async / Await approach
async loadMyData() {
  
  try {

    const data = await MyShopAPI.myEndpoint()

    // then use data constant

  } catch (error) {

    // handle errors

  }

}

// Callbacks approach
MyShopAPI.myEndpoint().then((response) => {

// handle response

}).catch((error) => {

  // handle errors

})



FAQs

Package last updated on 18 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc