Integrations
Real-Time Push

Webhooks

Configure webhooks to receive instant notifications when warehouse events occur. Push shipment closeouts, inventory updates, and order status changes directly to your external systems in real-time.

webhook-flow.tsx
Warehouse Event
JASCI Detects
Webhook Fires
Your System
Shipment ClosedInventory UpdateOrder StatusReturns
// Real-time webhook payload
POST
"event": "shipment.closed",
"trackingNumber": "1Z999AA10123456784",
"timestamp": "2026-02-02T10:30:00Z"
Real-Time

What are JASCI Webhooks?

Webhooks provide a push-based integration that sends real-time notifications to your systems when specific warehouse events occur. Instead of constantly polling our API for updates, your application receives instant HTTP POST requests the moment something happens.

This enables seamless integration with your ERP, OMS, TMS, or custom applications without the latency and overhead of traditional polling approaches. Learn more about JASCI's integration capabilities.

Self-Service Configuration

Webhooks can be set up by anyone with Administrator permission using the webhook maintenance page in JASCI. No development resources required to get started—simply provide your endpoint URL and select which events you want to receive.

Available Webhook Events

Subscribe to the events that matter for your integration

Shipment Closeout

Real-Time
shipment.closed

Triggered when an outbound package tracked in the warehouse has closed on a truck. Includes comprehensive tracking, carrier, and fulfillment information.

Payload: 140+ fields

Inventory Update

Real-Time
inventory.updated

Triggered when inventory levels change due to receiving, adjustments, cycle counts, or shipments.

Payload: Contact Us

Order Status Change

Real-Time
order.status

Triggered when sales order status changes through the fulfillment workflow.

Payload: Contact Us

Returns Received

Real-Time
return.received

Triggered when RMA items are received and processed at the warehouse.

Payload: Contact Us

Pick Confirmation

Real-Time
pick.confirmed

Triggered when pick tasks are confirmed. Includes SKU, bin location, quantity picked, and operator details for real-time inventory updates.

Payload: 50+ fields

How JASCI Webhooks Work

Enterprise-grade features for reliable event delivery

Self-Service Configuration

Anyone with Administrator permissions can configure webhooks through the webhook maintenance page.

Real-Time Delivery

Events are pushed instantly when warehouse activities complete—no polling required.

Secure HTTPS

All webhook payloads are delivered over encrypted HTTPS connections.

Retry Logic

Failed deliveries are automatically retried with exponential backoff.

Comprehensive Payloads

Rich JSON payloads with all relevant data—no follow-up API calls needed.

Event Filtering

Subscribe only to the events you need for your specific integration.

API Documentation

Shipment Closeout Payload

Complete field documentation for the shipment.closed webhook event

Shipment Header

tenantIdString
Registered Tenant ID in JASCI CLOUD
companyIdString
Registered Company ID in JASCI CLOUD
fulfillmentCenterIdString
Registered Fulfillment Center
workControlNumberLong
Work control number assigned to shipment
lpnString
License Plate Number - unique tracking identifier
asnString
Advanced Shipping Notice number
carrierString
Shipment carrier code (e.g., UPS, FedEx)
carrierServiceString
Carrier service level (e.g., GROUND, EXPRESS)
trackingNumberString
Primary shipment tracking number
trackingStatusEnum
VOIDED, BACKORDERED, SHIPPED, PACKED
shipDateDate
Shipment date (ISO 8601 format)
estimatedDeliveryDateDate
Estimated delivery date

Ship-To Address

customerIdString
Customer ID
customerCompanyString
Customer company name
firstName / lastNameString
Contact name
addressLine1-4String
Full address lines
city / stateCode / zipCodeString
City, state, postal code
countryCodeString
Country code (e.g., US)
phone / cell / mainEmailString
Contact information

Line Items (details[])

productString
Product (SKU) code
lotString
Product lot code
serial01-10String
Up to 10 serial numbers per line
quantityRequiredFloat
Quantity required
quantityShippedFloat
Quantity actually shipped
quantityBackorderedFloat
Quantity backordered
upcBarcodeString
UPC barcode
priceFloat
Unit price (6 decimal places)

trackingStatus Enum

VOIDEDShipment has been voided
BACKORDEREDShipment is backordered
SHIPPEDShipment has been shipped
PACKEDShipment has been packed

status Enum

WORKINGWork is in progress
SHIPPEDShipment has been shipped
PACKEDShipment has been packed

signatureRequired Enum

DIRECTDirect signature required
ADULTAdult signature required
NONENo signature required

Sample Webhook Payload

JSON payload delivered via HTTPS POST to your configured endpoint

Protocol
HTTPS POST
Payload Format
JSON
Event Header
X-Jasci-Event
Date Format
ISO 8601
Authentication
Custom Headers / HMAC
Retry Policy
Exponential Backoff
Timeout
30 seconds

Date/Time Format

All Date fields use ISO 8601 format: YYYY-MM-DDTHH:mm:ssZ

Example: 2026-02-02T10:30:00Z

Event Type Header

The event type (topic ID) is sent as an HTTP header, not in the JSON body:

// HTTP Headers
X-Jasci-Event: shipment.closed
Content-Type: application/json

Use this header to route incoming webhooks to the appropriate handler in your application.

shipment.closed webhook payload
{
  "timestamp": "2026-02-02T16:00:00Z",
  "tenantId": "TENANT001",
  "companyId": "COMPANY001",
  "fulfillmentCenterId": "FC001",
  "workControlNumber": 1234567890,
  "lpn": "LPN00001",
  "carrier": "UPS",
  "carrierService": "GROUND",
  "trackingNumber": "1Z999AA10123456784",
  "trackingStatus": "SHIPPED",
  "shipDate": "2026-02-02T10:30:00Z",
  "estimatedDeliveryDate": "2026-02-05T12:00:00Z",
  "salesOrderId": "SO123456",
  "customerId": "CUST001",
  "customerCompany": "Acme Corporation",
  "firstName": "John",
  "lastName": "Doe",
  "addressLine1": "123 Main Street",
  "city": "Los Angeles",
  "stateCode": "CA",
  "zipCode": "90001",
  "countryCode": "US",
  "totalCartons": 5,
  "weightShipment": 25.5,
  "details": [
    {
      "lineNumber": 1,
      "product": "SKU001",
      "lot": "LOT001",
      "quantityShipped": 95.0,
      "upcBarcode": "012345678901",
      "price": 29.99
    }
  ]
}

Pick Confirmation Payload

Real-time pick confirmations with SKU, bin location, and quantity for instant inventory updates

Pick Header Fields

workControlNumberLong
Unique pick task identifier
salesOrderIdString
Sales order reference
waveIdString
Wave identifier
statusEnum
COMPLETE, PARTIAL, SHORT
totalQtyFloat
Total quantity picked
totalLinesInteger
Number of line items
lastActivityDateDate
When pick was confirmed
lastActivityTeamMemberString
User who confirmed pick

Pick Line Fields (lines[])

lineNumberInteger
Line sequence number
productString
SKU / Product code
locationString
Bin location picked from
toLocationString
Destination location
quantityRequiredFloat
Quantity requested
quantityProcessedFloat
Quantity actually picked
quantityShortFloat
Quantity could not pick
lotString
Lot number if tracked
serial01-10String
Serial numbers if tracked
unitOfMeasureCodeString
Unit of measure (EA, CS)
lpnString
Container/tote used
pick.confirmed webhook payload
{
  "timestamp": "2026-02-04T14:32:15.123Z",
  "tenantId": "TENANT001",
  "companyId": "COMPANY001",
  "fulfillmentCenterId": "FC-EAST-01",
  "workControlNumber": 1000098765,
  "salesOrderId": "ORD-2026-987654",
  "waveId": "WAVE-0204-001",
  "status": "COMPLETE",
  "totalQty": 5,
  "totalLines": 2,
  "lastActivityDate": "2026-02-04T14:32:15Z",
  "lastActivityTeamMember": "picker_jane",
  "lines": [
    {
      "lineNumber": 1,
      "product": "DRESS-BLK-M-001",
      "location": "A-12-03-B",
      "toLocation": "STAGE-PACK-01",
      "quantityRequired": 2,
      "quantityProcessed": 2,
      "quantityShort": 0,
      "lot": "LOT-2026-001",
      "unitOfMeasureCode": "EA",
      "lpn": "TOTE-5001"
    },
    {
      "lineNumber": 2,
      "product": "TOP-WHT-S-002",
      "location": "B-05-01-A",
      "toLocation": "STAGE-PACK-01",
      "quantityRequired": 3,
      "quantityProcessed": 3,
      "quantityShort": 0,
      "unitOfMeasureCode": "EA",
      "lpn": "TOTE-5001"
    }
  ]
}

Need a Custom Webhook?

Don't see the webhook event you need? JASCI offers the ability to create custom webhooks tailored to your specific integration requirements. Our team can work with you to define the payload structure and trigger conditions.

Custom Events
Define your own trigger conditions
Custom Payloads
Include exactly the fields you need
Fast Turnaround
Quick development and deployment

Integration Impact

Eliminate polling overhead and get instant visibility into warehouse events

Real-Time
Event Delivery
Instant notifications
140+
Data Fields
Comprehensive payloads
Zero
Polling Needed
Push-based architecture
Self-Service
Configuration
Admin-level access

Ready to Enable Real-Time Webhooks?

See how JASCI webhooks can instantly notify your systems when warehouse events occur—no polling, no delays, no missed updates.