# General freight consignment details webhook webhook type: GENERAL_CONSIGNMENT_DETAILS ### Overview This webhook allows you to receive notifications when general freight consignments are created or updated. Endpoint: POST General Consignment Details Version: 1.0.0 ## Request fields (application/json): - `consignmentGroupId` (string, required) Internal M2X consignment group id Example: "yMnAFBBcNA4VQ8NjaJYz" - `groupReference` (string,null, required) Optional reference label for the consignment group Example: "GRP0091892" - `consignmentId` (string, required) Internal M2X consignment id Example: "TGX854-6OU9Ns9xm9E4JxP1YJYs-1670743772224" - `consignmentIntegrationId` (string,null) External consignment integration id Example: "TIMB/000001/IN" - `consignmentReference` (string,null, required) Optional reference label for the consignment Example: "C002901092" - `customerId` (string,null) The M2X customer id for this job Example: "Yc7cXUulBhMM58iuOQce" - `customerExternalId` (string,null) External customer id for this job Example: "FTW" - `customerIntegrationId` (string,null) Customer integration id for this job Example: "C99" - `customerName` (string,null) Customer name for this job Example: "Fruit World" - `status` (string, required) Current consignment status Enum: "Booked", "Started", "Delivered", "Accepted", "Invoiced" - `properties` (object, required) - `properties.serviceCode` (string, required) Nature of work, e.g. G = general, WH = warehouse, C = container Enum: "C", "G", "R", "W", "WH" - `properties.dangerousGoods` (boolean, required) - `properties.noCharge` (boolean) Indicate internal work that should not be invoiced - `properties.loadShare` (boolean) Indicate consignment qualifies for load share rating - `transportNote` (string,null) Any additional human readable detail to be supplied with consignment Example: "Call Bob to confirm" - `content` (object, required) Specific information about the content carted - `content.payload` (array, required) - `content.payload.productCode` (string, required) Internal M2X product code id Example: "Z5BFB6nUToADamO7M01G" - `content.payload.productCodeExternalId` (string,null, required) External product code id Example: "FERT" - `content.payload.productCodeName` (string, required) Human readable product code name Example: "Bagged Fertiliser" - `content.payload.description` (string,null, required) Additional detail about the product Example: "BB SKU00390029 25kg" - `content.payload.measures` (object, required) - `content.payload.measures.items` (number, required) Primary quantity (meaning is dependent on product code) Example: 10 - `content.payload.measures.pltOrBin` (integer,null) Number of pallets or bin (omit or null if not available) Example: 10 - `content.payload.measures.lift` (number,null) lift (omit or null if not available) Example: 3.78 - `content.payload.measures.volume` (number,null) Cube m³ (omit or null if not available) Example: 12.58 - `content.payload.measures.mass` (integer,null) kg (omit or null if not available) Example: 8500 - `senderReference` (string,null) Optional additional reference label Example: "S49029" - `fromLocation` (object) - `fromLocation.addressText` (string, required) - `fromLocation.latitude` (number, required) - `fromLocation.longitude` (number, required) - `fromLocation.locationName` (string, required) - `fromLocation.locationId` (string,null) The M2X internal location id. When a location is manually created in M2X, this is a randomly generated unique identifier. If creating locations via API, the caller can set the Location ID. - `fromLocation.externalId` (string,null) An optional external identifier assigned to the location. This ID can be provided when creating the location and is typically used for cross-system referencing or integration with external data sources. - `fromLocation.timezone` (string) IANA (aka TZ database) timezone name Example: "Pacific/Auckland" - `fromDateAndTimeConstraint` (object, required) - `fromDateAndTimeConstraint.date` (string, required) Day required (YYYY-MM-DD) - `fromDateAndTimeConstraint.timeConstraint` (any) - `fromRegion` (string,null) Dispatch region Example: "BOP" - `receiverReference` (string,null) Optional additional reference label Example: "R04746" - `toLocation` (object) - `toDateAndTimeConstraint` (object, required) - `toRegion` (string,null) Dispatch region Example: "AKL" - `pod` (object,null, required) - `pod.delivery` (object, required) - `pod.delivery.signedBy` (string,null) Name of person signing (accepting responsibility) Example: "John Doe" - `pod.delivery.completedBy` (object,null) User that carried out this operation, e.g. Driver - `pod.delivery.completedBy.id` (string) The external user identifier for driver/device if set, otherwise the M2X internal userId - `pod.delivery.completedBy.name` (string,null) Human readable name of user, e.g. Driver's name - `pod.delivery.downloadUrl` (string,null) URL where proof of delivery PDF can be downloaded from Example: "https://m2x.app/apis/v0/resources/generalConsignments/TGX854-6OU9Ns9xm9E4JxP1YJYs-1670743772224/pod/pdf" - `metadata` (object,null) Opaque passenger data - `deleted` (boolean) True if the consignment is deleted - `pickupTimestamp` (string,null) RFC3339 date time of pickup (actual) - `deliveryTimestamp` (string,null) RFC3339 date time of delivery (actual) - `expense` (number,null) Total expense for the consignment - `expenseFaf` (number,null) Fuel Adjustment Factor applied to the consignment expenses - `revenue` (number,null) Total revenue for the consignment - `revenueFaf` (number,null) Fuel Adjustment Factor applied to the consignment revenue - `created` (string,null) RFC3339 date time - `legs` (array,null) Consignment leg details - `legs.legNumber` (number, required) The sequence number of the leg - `legs.status` (string,null) Enum: "Booked", "Declined", "Started", "Delivered", null - `legs.type` (string,null) Enum: "Linehaul", "Single", "Pickup", "Delivery", "Unlabeled", null - `legs.distanceKm` (number,null) - `legs.revenue` (number,null) Total revenue to the leg - `legs.expense` (number,null) Total expense allocated to the leg - `legs.deliveryDriver` (string,null) Name of the driver who completed the delivery - `legs.deliveredBy` (string,null) Enum: "DriverMobile", "Admin", null - `legs.signedOnGlassDelivery` (boolean) Whether or not a signature was obtained on delivery - `legs.plannedPickupDate` (string) Planned pickup date for the leg (YYYY-MM-DD) - `legs.pickupTimestamp` (string,null) RFC3339 date time of delivery (actual) - `legs.vehicleName` (string,null) - `legs.manifestNumber` (number,null) ## Response 200 fields