API Reference
Shipping
Shipping address and method APIs used during checkout address selection and delivery assignment.
Module role in sales flow
shipping manages buyer destination data and available delivery channels.
- Use
createAddressorupdateAddressto persist checkout address credentials. - Use
getMethodsfor a global shipping-method list. - For checkout-ready, invoice-specific rates, use
invoices.getApplicableShippingMethods().
V2 contract notes
address.mobilePhoneis required for create/update flows.regionIdandcityIdare optional in request contract.getAddress()uses storedidentifierquery behind the scenes.
Methods
Create Address
Use: shipping.createAddress(address, options?).
| Field | Type | Required | Description |
|---|---|---|---|
address.firstName | string | Required | Recipient first name. |
address.lastName | string | Required | Recipient last name. |
address.mobilePhone | string | Required | Recipient mobile phone. |
address.regionId | number | Optional | Region ID. |
address.cityId | number | Optional | City ID. |
address.address | string | Required | Street address. |
address.phoneNumber | string | Optional | Secondary phone number. |
address.email | string | Optional | Contact email. |
address.postalCode | string | Optional | Postal code. |
address.latitude | number | Optional | Geo latitude. |
address.longitude | number | Optional | Geo longitude. |
address.showMap | boolean | Optional | Storefront map-visibility flag. |
address.userSetCoordinatesBefore | boolean | Optional | Manual coordinate flag. |
const addressRes = await client.shipping.createAddress({
firstName: 'John',
lastName: 'Doe',
mobilePhone: '09123456789',
regionId: 1,
cityId: 10,
address: 'No. 10, Example St',
postalCode: '1234567890',
});Update Address
Use: shipping.updateAddress(address, options?).
Same input schema as createAddress.
await client.shipping.updateAddress({
firstName: 'John',
lastName: 'Doe',
mobilePhone: '09121234567',
regionId: 1,
cityId: 10,
address: 'Unit 8, Updated Address',
postalCode: '1234567890',
});Get Address
Use: shipping.getAddress(options?).
Returns: SazitoResponse<ShippingAddress>.
const addressRes = await client.shipping.getAddress();Get Methods
Use: shipping.getMethods(options?).
Returns: SazitoResponse<ShippingMethod[]>.
const shippingMethodsRes = await client.shipping.getMethods();Clear Address
Use: shipping.clearAddress().
Clears persisted shipping credentials.
client.shipping.clearAddress();ShippingMethod fields
| Field | Type | Required | Description |
|---|---|---|---|
id | number | Required | Method ID. |
name | string | Required | Method name. |
type | string | Required | Shipping method type code. |
Known errors
| Type | When it happens |
|---|---|
validation | Missing shipping credentials for getAddress. |
Examples
// app/lib/sazito-client.ts
import { createSazitoClient } from '@sazito/client-sdk';
export const sazito = createSazitoClient({
domain: process.env.NEXT_PUBLIC_SAZITO_DOMAIN!,
});// app/[lang]/(home)/page.tsx
'use client';
import { useEffect, useState } from 'react';
import { sazito } from '@/app/lib/sazito-client';
export default function Example() {
const [data, setData] = useState<any>(null);
useEffect(() => {
sazito.shipping.createAddress({
firstName: 'John',
lastName: 'Doe',
mobilePhone: '09123456789',
regionId: 1,
cityId: 10,
address: 'No. 10, Example St',
postalCode: '1234567890',
}).then((res) => setData(res.data ?? null));
}, []);
return <pre>{JSON.stringify(data, null, 2)}</pre>;
}Type Details
The following tables are generated from SDK TypeScript types and include nested object fields.
ShippingAddressInput
Source: src/types/shipping.ts
| Field | Type | Required |
|---|---|---|
firstName | string | Required |
lastName | string | Required |
mobilePhone | string | Optional |
phoneNumber | string | Optional |
email | string | Optional |
regionId | number | Required |
cityId | number | Required |
address | string | Required |
postalCode | string | Optional |
latitude | number | Optional |
longitude | number | Optional |
userSetCoordinatesBefore | boolean | Optional |
ShippingAddress
Source: src/types/invoice.ts
| Field | Type | Required |
|---|---|---|
id | number | Required |
identifier | string | Required |
firstName | string | Required |
lastName | string | Required |
mobilePhone | string | Optional |
phoneNumber | string | Optional |
email | string | Optional |
region | Region | Optional |
city | City | Required |
address | string | Required |
postalCode | string | Optional |
latitude | number | Optional |
longitude | number | Optional |
userSetCoordinatesBefore | boolean | Optional |
createdAt | string | Optional |
updatedAt | string | Optional |
ShippingMethod
Source: src/types/shipping.ts
| Field | Type | Required |
|---|---|---|
id | number | Required |
name | string | Required |
type | string | Required |
ShippingRate
Source: src/types/shipping.ts
| Field | Type | Required |
|---|---|---|
id | number | Required |
name | string | Required |
price | number | Required |
description | string | Optional |
icon | string | Optional |
color | string | Optional |
type | string | Optional |