@deliverart/sdk-js-stats
v2.16.4
Published
Deliverart JavaScript SDK for Stats
Readme
@deliverart/sdk-js-stats
Statistics and analytics package for the DeliverArt JavaScript SDK.
Installation
npm install @deliverart/sdk-js-stats @deliverart/sdk-js-core
# or
pnpm add @deliverart/sdk-js-stats @deliverart/sdk-js-core
# or
yarn add @deliverart/sdk-js-stats @deliverart/sdk-js-coreWhat this package exports
The package now exposes five daily stats families:
CustomerDailyStatsCourierDailyStatsDeliveryDailyStatsMenuItemDailyStatsOrderDailyStats
It also exposes frontend-ready analytics endpoints:
CustomerStatsOverviewResponseDeliveryStatsOverviewResponseDeliveryZoneStatsResponse
Each family includes:
- a Zod model schema and inferred TypeScript type
- an IRI schema/type for detail resources
- request classes for collection and detail endpoints
- point-of-sale scoped collection requests where available
All daily buckets use the point of sale local day, exposed as YYYY-MM-DD.
Available requests
Courier daily stats
GetCourierDailyStatsGetCourierDailyStatsDetailsGetCourierDailyStatsFromPointOfSaleGetCourierDailyStatsFromUser
Customer daily stats
GetCustomerDailyStatsGetCustomerDailyStatsDetailsGetCustomerDailyStatsFromPointOfSaleGetCustomerDailyStatsFromCustomerGetCustomerStatsOverview
Delivery daily stats
GetDeliveryDailyStatsGetDeliveryDailyStatsDetailsGetDeliveryDailyStatsFromPointOfSale
Delivery stats overview
GetDeliveryStatsOverviewFromPointOfSale
Delivery zone analytics
GetDeliveryZoneStatsFromPointOfSale
Order daily stats
GetOrderDailyStatsGetOrderDailyStatsDetailsGetOrderDailyStatsFromPointOfSale
Menu item daily stats
GetMenuItemDailyStatsGetMenuItemDailyStatsDetailsGetMenuItemDailyStatsFromPointOfSaleGetMenuItemDailyStatsFromMenuItem
Query support
The package exposes typed query schemas for the filters currently supported by the API:
- exact filters on dimensions such as
pointOfSale,courierUser,menuItem,salesMode,type,orderType,source,partner,paymentMethod, andplanningMode - exact filters on dimensions such as
customer,pointOfSale,courierUser,menuItem,salesMode,type,orderType,source,partner,paymentMethod, andplanningMode - date filters such as
day[before],day[strictly_after],calculatedAt[after] - range filters for numeric KPIs such as
ordersCount[gte],deliveryOrdersCount[lte],totalAmount[gt] - sorting via
order[...] - pagination via
page,itemsPerPage, andpagination
Usage examples
List courier daily stats
import { GetCourierDailyStats } from '@deliverart/sdk-js-stats'
const response = await sdk.call(
new GetCourierDailyStats({
query: {
source: 'application',
'day[after]': '2026-04-01',
'order[day]': 'desc',
},
}),
)List customer daily stats for one customer
import { GetCustomerDailyStatsFromCustomer } from '@deliverart/sdk-js-stats'
const response = await sdk.call(
new GetCustomerDailyStatsFromCustomer('customer-123', {
query: {
source: 'application',
'day[after]': '2026-04-01',
'order[totalAmount]': 'desc',
},
}),
)List delivery daily stats for one point of sale
import { GetDeliveryDailyStatsFromPointOfSale } from '@deliverart/sdk-js-stats'
const response = await sdk.call(
new GetDeliveryDailyStatsFromPointOfSale('pos-123', {
query: {
planningMode: 'PLANNED',
'totalDelaySeconds[gt]': 0,
'day[after]': '2026-04-01',
},
}),
)List order daily stats
import { GetOrderDailyStats } from '@deliverart/sdk-js-stats'
const response = await sdk.call(
new GetOrderDailyStats({
query: {
type: 'delivery',
paymentMethod: 'credit_card',
'totalAmount[gte]': 100,
'order[totalAmount]': 'desc',
},
}),
)List menu item daily stats for one point of sale
import { GetMenuItemDailyStatsFromPointOfSale } from '@deliverart/sdk-js-stats'
const response = await sdk.call(
new GetMenuItemDailyStatsFromPointOfSale('pos-123', {
query: {
orderType: 'delivery',
'quantitySold[gte]': 10,
'order[totalAmount]': 'desc',
},
}),
)Fetch one daily stats bucket
import {
GetCustomerDailyStatsDetails,
GetCourierDailyStatsDetails,
GetDeliveryDailyStatsDetails,
GetMenuItemDailyStatsDetails,
GetOrderDailyStatsDetails,
} from '@deliverart/sdk-js-stats'
await sdk.call(new GetCustomerDailyStatsDetails('customer-stats-uuid'))
await sdk.call(new GetCourierDailyStatsDetails('courier-stats-uuid'))
await sdk.call(new GetDeliveryDailyStatsDetails('delivery-stats-uuid'))
await sdk.call(new GetMenuItemDailyStatsDetails('menu-item-stats-uuid'))
await sdk.call(new GetOrderDailyStatsDetails('order-stats-uuid'))Fetch customer stats overview
import { GetCustomerStatsOverview } from '@deliverart/sdk-js-stats'
const overview = await sdk.call(
new GetCustomerStatsOverview('customer-123', {
query: {
'day[after]': '2026-04-01',
source: 'application',
},
}),
)Fetch delivery zone analytics for one point of sale
import { GetDeliveryZoneStatsFromPointOfSale } from '@deliverart/sdk-js-stats'
const analytics = await sdk.call(
new GetDeliveryZoneStatsFromPointOfSale('pos-123', {
query: {
'day[after]': '2026-04-01',
distanceBand: 'between_2km_4km',
'order[lateRate]': 'desc',
},
}),
)Fetch delivery stats overview for one point of sale
import { GetDeliveryStatsOverviewFromPointOfSale } from '@deliverart/sdk-js-stats'
const overview = await sdk.call(
new GetDeliveryStatsOverviewFromPointOfSale('pos-123', {
query: {
'day[after]': '2026-04-01',
planningMode: 'PLANNED',
},
}),
)License
See the main SDK repository for license information.
