Delivery Resources
Manage drivers, customers, vehicles, zones, and hubs for your delivery operations. All routes live under /modules/delivery/*.
Drivers
Manage delivery drivers, their online/offline status, and location tracking via linked geo entities.
Create a driver
Create a new delivery driver.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/drivers \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"name":"example"}'
{ "status": "ok" }
const driver = await ss.delivery.drivers.create({
name: 'Alex Rivera',
phone: '+15551234567',
vehicle_id: 'veh_01',
})
- Open Delivery and go to Drivers
- Click Add Driver
- Fill in the driver details and click Save
name requiredphoneemail^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$statusoffline, online, busyvehicle_idhub_idcapacitymetadataList drivers
List delivery drivers for the active project, with optional status and cursor filters.
curl https://api.saasignal.saastemly.com/modules/delivery/drivers \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const drivers = await ss.delivery.drivers.list()
- Open Delivery and go to Drivers
- Browse or filter the driver list
statusoffline, online, busylimit25cursorGet a driver
Retrieve a single driver.
curl https://api.saasignal.saastemly.com/modules/delivery/drivers/{driver_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const driver = await ss.delivery.drivers.get('drv_01')
- Open Delivery and go to Drivers
- Click on a driver to view their profile
driver_id requiredUpdate a driver
Update a delivery driver.
curl -X PATCH https://api.saasignal.saastemly.com/modules/delivery/drivers/{driver_id} \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'
{ "status": "ok" }
const updated = await ss.delivery.drivers.update('drv_01', {
phone: '+15559876543',
})
- Open Delivery and go to Drivers
- Click on a driver, edit the fields, then click Save
driver_id requirednamephoneemail^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$statusoffline, online, busyvehicle_idhub_idcapacitymetadataGo online
Set driver status to online.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/drivers/{driver_id}/online \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.drivers.online('drv_01')
- Open Delivery and go to Drivers
- Click on a driver, then toggle their status to Online
driver_id requiredGo offline
Set driver status to offline.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/drivers/{driver_id}/offline \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.drivers.offline('drv_01')
- Open Delivery and go to Drivers
- Click on a driver, then toggle their status to Offline
driver_id requiredDelete a driver
Permanently remove a driver.
curl -X DELETE https://api.saasignal.saastemly.com/modules/delivery/drivers/{driver_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.drivers.delete('drv_01')
- Open Delivery and go to Drivers
- Click on a driver, then click Delete
driver_id requiredCustomers
Manage delivery customers and their saved addresses.
Create a customer
Create a new delivery customer.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/customers \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"name":"example"}'
{ "status": "ok" }
const customer = await ss.delivery.customers.create({
name: 'Jane Smith',
email: 'jane@example.com',
phone: '+15551234567',
})
- Open Delivery and go to Customers
- Click Add Customer
- Fill in the customer details and click Save
name requiredexternal_idphoneemail^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$metadataList customers
List delivery customers.
curl https://api.saasignal.saastemly.com/modules/delivery/customers \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const customers = await ss.delivery.customers.list()
- Open Delivery and go to Customers
- Browse or search the customer list
limit25cursorGet a customer
Retrieve a single customer.
curl https://api.saasignal.saastemly.com/modules/delivery/customers/{customer_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const customer = await ss.delivery.customers.get('cust_01')
- Open Delivery and go to Customers
- Click on a customer to view their profile
customer_id requiredUpdate a customer
Update a delivery customer.
curl -X PATCH https://api.saasignal.saastemly.com/modules/delivery/customers/{customer_id} \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'
{ "status": "ok" }
const updated = await ss.delivery.customers.update('cust_01', {
phone: '+15559876543',
})
- Open Delivery and go to Customers
- Click on a customer, edit the fields, then click Save
customer_id requirednameexternal_idphoneemail^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$metadataDelete a customer
Permanently remove a customer.
curl -X DELETE https://api.saasignal.saastemly.com/modules/delivery/customers/{customer_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.customers.delete('cust_01')
- Open Delivery and go to Customers
- Click on a customer, then click Delete
customer_id requiredAdd customer address
Add an address to a customer.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/customers/{customer_id}/addresses \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"address_line":"..."}'
{ "status": "ok" }
await ss.delivery.customers.addAddress('cust_01', {
label: 'Home',
address: '42 Elm St',
lat: 40.71,
lng: -74.01,
})
- Open Delivery and go to Customers
- Click on a customer, open the Addresses tab
- Click Add Address, fill in details, then click Save
customer_id requiredlabeladdress_line requiredlatlngmetadataList customer addresses
List addresses for a customer.
curl https://api.saasignal.saastemly.com/modules/delivery/customers/{customer_id}/addresses \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const addresses = await ss.delivery.customers.listAddresses('cust_01')
- Open Delivery and go to Customers
- Click on a customer, then open the Addresses tab
customer_id requiredDelete customer address
Remove an address from a customer.
curl -X DELETE https://api.saasignal.saastemly.com/modules/delivery/customers/{customer_id}/addresses/{address_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.customers.deleteAddress('cust_01', 'addr_01')
- Open Delivery and go to Customers
- Click on a customer, open the Addresses tab
- Click on an address, then click Delete
customer_id requiredaddress_id requiredVehicles
Manage delivery vehicles and assign them to drivers.
Create a vehicle
Create a new delivery vehicle.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/vehicles \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'
{ "status": "ok" }
const vehicle = await ss.delivery.vehicles.create({
type: 'van',
plate: 'ABC-1234',
capacity: 500,
})
- Open Delivery and go to Vehicles
- Click Add Vehicle
- Fill in the vehicle details and click Save
typeplatenamecapacitydriver_idmetadataList vehicles
List delivery vehicles.
curl https://api.saasignal.saastemly.com/modules/delivery/vehicles \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const vehicles = await ss.delivery.vehicles.list()
- Open Delivery and go to Vehicles
- Browse or filter the vehicle list
typelimit25cursorGet a vehicle
Retrieve a single vehicle.
curl https://api.saasignal.saastemly.com/modules/delivery/vehicles/{vehicle_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const vehicle = await ss.delivery.vehicles.get('veh_01')
- Open Delivery and go to Vehicles
- Click on a vehicle to view its details
vehicle_id requiredUpdate a vehicle
Update a delivery vehicle.
curl -X PATCH https://api.saasignal.saastemly.com/modules/delivery/vehicles/{vehicle_id} \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'
{ "status": "ok" }
const updated = await ss.delivery.vehicles.update('veh_01', {
capacity: 750,
})
- Open Delivery and go to Vehicles
- Click on a vehicle, edit the fields, then click Save
vehicle_id requiredtypeplatenamecapacitydriver_idmetadataDelete a vehicle
Permanently remove a vehicle.
curl -X DELETE https://api.saasignal.saastemly.com/modules/delivery/vehicles/{vehicle_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.vehicles.delete('veh_01')
- Open Delivery and go to Vehicles
- Click on a vehicle, then click Delete
vehicle_id requiredZones
Define delivery zones backed by logistics geofences.
Create a delivery zone
Create a delivery zone with optional geofence.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/zones \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"name":"example"}'
{ "status": "ok" }
const zone = await ss.delivery.zones.create({
name: 'Downtown',
polygon: [
{ lat: 40.75, lng: -74.00 },
{ lat: 40.75, lng: -73.97 },
{ lat: 40.72, lng: -73.97 },
{ lat: 40.72, lng: -74.00 },
],
})
- Open Delivery and go to Zones
- Click Create Zone
- Draw the zone boundary on the map and click Save
name requireddescriptioncolorenabledgeofence_typecircle, polygonlatlngradius_mpolygonmetadataList delivery zones
List all delivery zones.
curl https://api.saasignal.saastemly.com/modules/delivery/zones \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const zones = await ss.delivery.zones.list()
- Open Delivery and go to Zones
- Browse the list of delivery zones
limit25cursorGet a delivery zone
Retrieve a single delivery zone.
curl https://api.saasignal.saastemly.com/modules/delivery/zones/{zone_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const zone = await ss.delivery.zones.get('zone_01')
- Open Delivery and go to Zones
- Click on a zone to view its details and boundary
zone_id requiredUpdate a delivery zone
Update delivery zone fields.
curl -X PATCH https://api.saasignal.saastemly.com/modules/delivery/zones/{zone_id} \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'
{ "status": "ok" }
const updated = await ss.delivery.zones.update('zone_01', {
name: 'Downtown Extended',
})
- Open Delivery and go to Zones
- Click on a zone, edit the fields or boundary, then click Save
zone_id requirednamedescriptioncolorenabledmetadataDelete a delivery zone
Permanently remove a delivery zone.
curl -X DELETE https://api.saasignal.saastemly.com/modules/delivery/zones/{zone_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.zones.delete('zone_01')
- Open Delivery and go to Zones
- Click on a zone, then click Delete
zone_id requiredHubs
Manage delivery hubs (warehouses, kitchens, pickup points).
Create a delivery hub
Create a delivery hub.
curl -X POST https://api.saasignal.saastemly.com/modules/delivery/hubs \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"name":"example"}'
{ "status": "ok" }
const hub = await ss.delivery.hubs.create({
name: 'Warehouse A',
lat: 40.74,
lng: -73.99,
address: '100 Main St',
})
- Open Delivery and go to Hubs
- Click Add Hub
- Fill in the hub details and click Save
name requiredaddresslatlngradius_kmmetadataList delivery hubs
List all delivery hubs.
curl https://api.saasignal.saastemly.com/modules/delivery/hubs \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const hubs = await ss.delivery.hubs.list()
- Open Delivery and go to Hubs
- Browse the list of hubs
limit25cursorGet a delivery hub
Retrieve a single delivery hub.
curl https://api.saasignal.saastemly.com/modules/delivery/hubs/{hub_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
const hub = await ss.delivery.hubs.get('hub_01')
- Open Delivery and go to Hubs
- Click on a hub to view its details
hub_id requiredUpdate a delivery hub
Update delivery hub fields.
curl -X PATCH https://api.saasignal.saastemly.com/modules/delivery/hubs/{hub_id} \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'
{ "status": "ok" }
const updated = await ss.delivery.hubs.update('hub_01', {
name: 'Warehouse A — East Wing',
})
- Open Delivery and go to Hubs
- Click on a hub, edit the fields, then click Save
hub_id requirednameaddresslatlngradius_kmmetadataDelete a delivery hub
Permanently remove a delivery hub.
curl -X DELETE https://api.saasignal.saastemly.com/modules/delivery/hubs/{hub_id} \
-H "Authorization: Bearer sk_live_..."
{ "status": "ok" }
await ss.delivery.hubs.delete('hub_01')
- Open Delivery and go to Hubs
- Click on a hub, then click Delete
hub_id required