@commercejs/adapter-salla
v0.1.3
Published
Salla platform adapter for CommerceJS SDK
Readme
@commercejs/adapter-salla
Salla platform adapter for CommerceJS — maps the Salla REST API to the unified data model.
Overview
@commercejs/adapter-salla implements the CommerceAdapter interface for Salla, the leading Arabic eCommerce platform. It translates Salla's REST API responses into CommerceJS unified types, so your storefront code is platform-independent.
Install
npm install @commercejs/adapter-salla @commercejs/typesQuick Start
import { SallaAdapter } from '@commercejs/adapter-salla'
const adapter = new SallaAdapter({
accessToken: process.env.SALLA_ACCESS_TOKEN!,
baseUrl: 'https://api.salla.dev/admin/v2', // optional
})
// Catalog
const products = await adapter.getProducts({ limit: 10, page: 1 })
const product = await adapter.getProduct('product-id')
const categories = await adapter.getCategories()
const brands = await adapter.getBrands()
// Cart
const cart = await adapter.getCart('cart-id')
const updated = await adapter.addToCart({ productId: '123', quantity: 2 })
// Customer
const customer = await adapter.getCustomer()
const orders = await adapter.getOrders()
// Store info
const store = await adapter.getStore()Exports
Main
| Export | Description |
|--------|-------------|
| SallaAdapter | Full adapter implementing CommerceAdapter |
| SallaClient | Low-level HTTP client for custom Salla API calls |
| SallaConfig | Configuration type |
Mappers
Individual mapper functions for custom transformations:
import { mapSallaProduct, mapSallaCategory } from '@commercejs/adapter-salla'
// Transform raw Salla API data to CommerceJS types
const product = mapSallaProduct(sallaRawProduct)Available mappers: mapSallaProduct, mapSallaCategory, mapSallaCustomer, mapSallaAddress, mapSallaOrder, mapSallaOrderStatus, mapSallaOrderHistory, mapSallaReview, mapSallaShipping, mapSallaPayment, mapSallaBrand, mapSallaCountry, mapSallaBranch
Raw Types
All Salla API response types are exported for advanced usage:
import type { SallaRawProduct, SallaRawOrder } from '@commercejs/adapter-salla'Configuration
interface SallaConfig {
/** Salla API access token */
accessToken: string
/** Base URL for the Salla API (default: https://api.salla.dev/admin/v2) */
baseUrl?: string
}Documentation
Full docs at commerce.js.org
