Skip to content

Gate webhooks are triggered by events related to warehouse gates.

Overview

For gate webhooks:

  • category: GATE
  • triggerName: One of the available gate events (see below)
  • payload: Contains the Gate object as returned by the Integration API

For complete webhook structure and field descriptions, see Webhooks.

Available Events

  • GATE_STATUS_CHANGE - Fired when status changes between AVAILABLE, LOADING, OUT_OF_SERVICE
  • GATE_UNAUTHORIZED_LOADING_ADDED - Fired when unauthorized loading is added to the gate
  • GATE_UNAUTHORIZED_LOADING_RESOLVED - Fired when unauthorized loading is resolved (suppressed when resolution is due to status change to LOADING)

Event Details

1. Gate Status Change Event

Trigger: GATE_STATUS_CHANGE

Fired when gate status changes between AVAILABLE, LOADING, and OUT_OF_SERVICE states.

{
  "category": "GATE",
  "webhookUuid": "92e1b4b0-2f7d-4cbd-8c0b-efc1a1b3f001",
  "eventIdentifier": "evt-6c1d9f2a-7b04-4e51-9f3a-2a1c0b7d5e10",
  "triggerName": "GATE_STATUS_CHANGE",
  "triggerTime": 1756124061881,
  "entityExternalId": "GATE-12A",
  "entityUuid": "f1f6b1a7-4bde-4e7a-9c0c-0fcbab12d001",
  "payload": {
    "uuid": "ea1a1775-e9a4-4211-ae8d-1b3a6511de2a",
    "createDate": 1749649124552,
    "updateDate": 1756289187591,
    "externalIdentifier": "GATE-12A",
    "name": "Gate 12A",
    "status": "LOADING",
    "unauthorizedLoadings": [],
    "unauthorizedLoadingsTruncated": false,
    "totalUnauthorizedLoadingsCount": 0
  }
}

2. Gate Unauthorized Loading Added Event

Trigger: GATE_UNAUTHORIZED_LOADING_ADDED

Fired when unauthorized loading is added to a gate with status AVAILABLE. This occurs when warehouse operators load items without an active manifest, creating a discrepancy between expected and actual loading operations.

{
  "category": "GATE",
  "webhookUuid": "e6a6fbe3-1ec5-4db1-9a42-7e7b1a0c9002",
  "eventIdentifier": "evt-a29f7c14-3d8b-4c62-8e05-9b1f6a2d4c33",
  "triggerName": "GATE_UNAUTHORIZED_LOADING_ADDED",
  "triggerTime": 1756124099999,
  "entityExternalId": "GATE-12A",
  "entityUuid": "f1f6b1a7-4bde-4e7a-9c0c-0fcbab12d001",
  "payload": {
    "uuid": "ea1a1775-e9a4-4211-ae8d-1b3a6511de2a",
    "createDate": 1749649124552,
    "updateDate": 1756289187591,
    "externalIdentifier": "GATE-12A",
    "name": "Gate 12A",
    "status": "AVAILABLE",
    "unauthorizedLoadings": [
      {
          "uuid": "f907c4a7-0a57-4340-8ee8-6a4343284746",
          "createDate": 1756289223562,
          "updateDate": 1756289223562,
          "track": {
              "uuid": "39a64455-9ea9-4f74-8ef0-971ee16d35eb",
              "trackCode": "000-130",
              "wmsId": "local-33121364151",
              "status": "ACTIVE"
          },
          "trackIdentifier": "local-33121364151",
          "markerValue": "33121434156",
          "loadedDate": 1756289223031,
          "loadingStatus": "UNAUTHORIZED_LOADED"
      }
    ],
    "unauthorizedLoadingsTruncated": false,
    "totalUnauthorizedLoadingsCount": 1
  }
}

3. Gate Unauthorized Loading Resolved Event

Trigger: GATE_UNAUTHORIZED_LOADING_RESOLVED

Fired when unauthorized loading is resolved.

Note: Suppressed when resolution is due to status change to LOADING. In that case, only GATE_STATUS_CHANGE is emitted to prevent duplicate events.

Payload Structure

For webhook header fields (category, eventIdentifier, triggerName, triggerTime, entityExternalId, entityUuid), see Webhooks.

Gate Payload Fields

FieldTypeDescription
uuidStringGate UUID
createDateLongUnix timestamp when gate was created
updateDateLongUnix timestamp when gate was last updated
externalIdentifierStringGate external identifier
nameStringGate display name
statusStringGate status (AVAILABLE, LOADING, OUT_OF_SERVICE)
unauthorizedLoadingsArrayUnauthorized loading events (descending by loadedDate, max 50 items)
unauthorizedLoadingsTruncatedBooleanWhether the list is truncated due to 50-item limit
totalUnauthorizedLoadingsCountNumberTotal count of active unauthorized loadings (always present; use when the array is truncated)

Unauthorized Loading Object

FieldTypeDescription
uuidStringUnauthorized loading UUID
createDateLongUnix timestamp when loading was created
updateDateLongUnix timestamp when loading was last updated
trackObjectTrack object with loading information
trackIdentifierStringUnique identifier for the track
markerValueStringMarker identifier for tracking
loadedDateNumberUnix timestamp when loaded
loadingStatusStringCurrent loading status (UNAUTHORIZED_LOADED, etc.)

Track Object

FieldTypeDescription
uuidStringTrack UUID
trackCodeStringTrack code identifier
wmsIdStringWMS system identifier
statusStringTrack status (ACTIVE, INACTIVE, etc.)

Event Suppression Rules

When resolving unauthorized items due to status change to LOADING:

  • Do NOT emit GATE_UNAUTHORIZED_LOADING_RESOLVED
  • Emit only GATE_STATUS_CHANGE

This prevents duplicate events and provides complete state change information.

Payload Limits

  • unauthorizedLoadings array is capped at 50 items
  • When unauthorizedLoadingsTruncated: true, use totalUnauthorizedLoadingsCount for full scope
  • Use additional API calls if you need access to all unauthorized loadings