@deliverart/sdk-js-sales-mode (英语)
交付艺术JavaScript SDK的销售模式管理软件包.
安装
npm install @deliverart/sdk-js-sales-mode @deliverart/sdk-js-core
导出类型
核心类型
SalesMode- 销售模式配置SalesModeDetails- 带有设置的扩展销售模式
销售模式类型
销售模式代表客户可以订购的不同方式:
- 交付
- 外卖
- 线入
- 保留
IRI 类型
SalesModeIri- 销售模式IRI(/sales_modes/:id(中文(简体) )
可用请求
创建销售模式
import { CreateSalesMode } from '@deliverart/sdk-js-sales-mode';
const salesMode = await sdk.call(new CreateSalesMode({
name: 'Delivery',
pointOfSale: '/point_of_sales/123',
type: 'DELIVERY',
enabled: true,
settings: {
minOrderAmount: 1000, // 10 EUR in cents
deliveryRadius: 5000, // 5km in meters
estimatedDeliveryTime: 30 // minutes
}
}));
输入参数:
name: string(需要) - 销售模式名称pointOfSale: string(需要) - 销售点type: string(需要) - 销售模式类型enabled: boolean(需要) - 启用/失效销售模式settings?: object(可选) - 模式设置
获取销售模式
import { GetSalesModes } from '@deliverart/sdk-js-sales-mode';
const salesModes = await sdk.call(new GetSalesModes({
query: {
pointOfSale: '/point_of_sales/123',
enabled: true
}
}));
查询参数:
pointOfSale?: string- 按销售点过滤type?: string- 按类型过滤enabled?: boolean- 通过启用状态过滤page?: number- 页号
获取销售模式细节
import { GetSalesModeDetails } from '@deliverart/sdk-js-sales-mode';
const salesMode = await sdk.call(new GetSalesModeDetails('mode-123'));
更新销售模式
import { UpdateSalesMode } from '@deliverart/sdk-js-sales-mode';
const updated = await sdk.call(new UpdateSalesMode('mode-123', {
enabled: false,
settings: {
minOrderAmount: 1500
}
}));
删除销售模式
import { DeleteSalesMode } from '@deliverart/sdk-js-sales-mode';
await sdk.call(new DeleteSalesMode('mode-123'));
完成使用示例
import { sdk } from './lib/sdk';
import {
CreateSalesMode,
GetSalesModes,
UpdateSalesMode
} from '@deliverart/sdk-js-sales-mode';
async function salesModeSetup() {
const posId = '/point_of_sales/123';
// Create delivery mode
const delivery = await sdk.call(new CreateSalesMode({
name: 'Delivery',
pointOfSale: posId,
type: 'DELIVERY',
enabled: true,
settings: {
minOrderAmount: 1000,
deliveryRadius: 5000,
estimatedDeliveryTime: 30,
deliveryFee: 300
}
}));
// Create takeaway mode
const takeaway = await sdk.call(new CreateSalesMode({
name: 'Takeaway',
pointOfSale: posId,
type: 'TAKEAWAY',
enabled: true,
settings: {
minOrderAmount: 500,
estimatedPreparationTime: 15
}
}));
// Get all active modes
const activeModes = await sdk.call(new GetSalesModes({
query: {
pointOfSale: posId,
enabled: true
}
}));
console.log(`Active sales modes: ${activeModes.data.length}`);
// Temporarily disable delivery
await sdk.call(new UpdateSalesMode(delivery.id, {
enabled: false
}));
}
许可证
麻省理工学院
@deliverart/sdk-js- 发售点
交付艺术JavaScript SDK的销售管理包点.
安装
npm install @deliverart/sdk-js-point-of-sale @deliverart/sdk-js-core
导出类型
核心类型
PointOfSale- 销售点信息PointOfSaleDetails- 具有开放时间和设置的扩展POSPointOfSaleUser- 分配给销售点的用户OpeningTime- 开放时间配置PointOfSaleTimeOverride- 特别时间(假日、活动)
IRI 类型
PointOfSaleIri- IRI销售点/point_of_sales/:id(中文(简体) )PointOfSaleUserIri- POS用户IRI(/point_of_sale_users/:id(中文(简体) )PointOfSaleTimeOverrideIri- 时间超过IRI(/point_of_sale_time_overrides/:id(中文(简体) )
可用请求
销售管理点
创建销售点
import { CreatePointOfSale } from '@deliverart/sdk-js-point-of-sale';
const pos = await sdk.call(new CreatePointOfSale({
name: 'Main Restaurant',
company: '/companies/123',
address: {
street: 'Via Restaurant 1',
city: 'Milano',
postalCode: '20100',
country: 'IT',
location: {
latitude: 45.464664,
longitude: 9.188540
}
},
phoneNumber: '+39021234567',
email: '[email protected]',
openingTimes: [
{
dayOfWeek: 1, // Monday
openTime: '11:00',
closeTime: '23:00'
},
{
dayOfWeek: 2, // Tuesday
openTime: '11:00',
closeTime: '23:00'
}
],
enabled: true
}));
输入参数:
name: string(要求) - 销售点名称company: string(要求) - IRI公司address: Address(需要) - 地点地址phoneNumber: string(需要) - 联系电话email: string(需要) - 联系电子邮件openingTimes: OpeningTime[](可选) - 每周开放时间enabled: boolean(可选) - 启用/失效 POSsettings?: object(可选) - 其他设置
获取销售点
import { GetPointOfSales } from '@deliverart/sdk-js-point-of-sale';
const pointOfSales = await sdk.call(new GetPointOfSales({
query: {
company: '/companies/123',
enabled: true,
'address.city': 'Milano',
page: 1
}
}));
查询参数:
company?: string- 按公司过滤enabled?: boolean- 通过启用状态过滤address.city?: string- 城市过滤器address.postalCode?: string- 通过邮政编码过滤page?: number- 页号
获取销售点详情
import { GetPointOfSaleDetails } from '@deliverart/sdk-js-point-of-sale';
const pos = await sdk.call(new GetPointOfSaleDetails('pos-123'));
更新销售点
import { UpdatePointOfSale } from '@deliverart/sdk-js-point-of-sale';
const updated = await sdk.call(new UpdatePointOfSale('pos-123', {
name: 'Updated Restaurant Name',
enabled: false
}));
删除点销售
import { DeletePointOfSale } from '@deliverart/sdk-js-point-of-sale';
await sdk.call(new DeletePointOfSale('pos-123'));
销售用户点
创建销售用户点
import { CreatePointOfSaleUser } from '@deliverart/sdk-js-point-of-sale';
const posUser = await sdk.call(new CreatePointOfSaleUser({
pointOfSale: '/point_of_sales/123',
user: '/users/456',
role: 'MANAGER'
}));
输入参数:
pointOfSale: string(需要) - 销售点user: string(需要) - 用户 IRIrole: string(需要) - 角色(如"MANAGER","STAFF","DRIVER")
获取销售用户的点数
import { GetPointOfSaleUsers } from '@deliverart/sdk-js-point-of-sale';
const users = await sdk.call(new GetPointOfSaleUsers({
query: {
pointOfSale: '/point_of_sales/123',
role: 'MANAGER'
}
}));
时间覆盖( 特殊小时)
创建销售时间覆盖点
import { CreatePointOfSaleTimeOverride } from '@deliverart/sdk-js-point-of-sale';
const override = await sdk.call(new CreatePointOfSaleTimeOverride({
pointOfSale: '/point_of_sales/123',
date: '2024-12-25', // Christmas
openTime: null, // Closed
closeTime: null,
reason: 'Christmas Day - Closed'
}));
输入参数:
pointOfSale: string(需要) - 销售点date: string(要求) - 日期(YYY-MM-DD)openTime: string | null(要求) - 开放时间或关闭时无效closeTime: string | null(要求) - 关闭时间或关闭时无效reason?: string(可选) - 推翻理由
GetPointOf 销售时间覆盖
import { GetPointOfSaleTimeOverrides } from '@deliverart/sdk-js-point-of-sale';
const overrides = await sdk.call(new GetPointOfSaleTimeOverrides({
query: {
pointOfSale: '/point_of_sales/123',
'date[after]': '2024-12-01',
'date[before]': '2024-12-31'
}
}));
完成使用示例
import { sdk } from './lib/sdk';
import {
CreatePointOfSale,
CreatePointOfSaleUser,
CreatePointOfSaleTimeOverride,
UpdatePointOfSale
} from '@deliverart/sdk-js-point-of-sale';
async function setupPointOfSale() {
// Create point of sale
const pos = await sdk.call(new CreatePointOfSale({
name: 'Pizzeria da Mario',
company: '/companies/123',
address: {
street: 'Via Napoli 10',
city: 'Milano',
postalCode: '20100',
country: 'IT',
location: {
latitude: 45.464664,
longitude: 9.188540
}
},
phoneNumber: '+39021234567',
email: '[email protected]',
openingTimes: [
{ dayOfWeek: 1, openTime: '11:00', closeTime: '23:00' },
{ dayOfWeek: 2, openTime: '11:00', closeTime: '23:00' },
{ dayOfWeek: 3, openTime: '11:00', closeTime: '23:00' },
{ dayOfWeek: 4, openTime: '11:00', closeTime: '23:00' },
{ dayOfWeek: 5, openTime: '11:00', closeTime: '23:30' },
{ dayOfWeek: 6, openTime: '11:00', closeTime: '23:30' },
{ dayOfWeek: 0, openTime: '12:00', closeTime: '22:00' }
],
enabled: true
}));
// Assign manager
await sdk.call(new CreatePointOfSaleUser({
pointOfSale: `/point_of_sales/${pos.id}`,
user: '/users/456',
role: 'MANAGER'
}));
// Add holiday closure
await sdk.call(new CreatePointOfSaleTimeOverride({
pointOfSale: `/point_of_sales/${pos.id}`,
date: '2024-12-25',
openTime: null,
closeTime: null,
reason: 'Christmas Day'
}));
// Temporarily disable
await sdk.call(new UpdatePointOfSale(pos.id, {
enabled: false
}));
}
许可证
麻省理工学院