Download OpenAPI specification:
Lists all BCTI PDF files for a given year and month. Returns pre-signed S3 download URLs.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
[- {
- "fileName": "string",
- "hyperlink": "string",
- "contractor": -1,
- "contractorName": "[NO CONTRACTOR]",
- "distributor": -1,
- "distributorName": "[NO DISTRIBUTOR]",
- "invoicePeriod": "01/2024",
- "lastModified": "2019-08-24T14:15:22Z",
- "isAccounts": true
}
]Gets the pre-merged combined PDF for a distributor's BCTIs for a given month. Returns a download link if the combined file exists.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
| {distributor} required | integer Example: 1 Contractor ID of the distributor. |
{- "fileName": "string",
- "hyperlink": "string",
- "contractor": -1,
- "contractorName": "[NO CONTRACTOR]",
- "distributor": -1,
- "distributorName": "[NO DISTRIBUTOR]",
- "invoicePeriod": "01/2024",
- "lastModified": "2019-08-24T14:15:22Z",
- "isAccounts": true
}Triggers the merging of individual BCTI PDFs into a single combined PDF for the specified distributor and month.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
| {distributor} required | integer Example: 1 Contractor ID of the distributor. |
{- "message": "Combining 5 files"
}Gets the pre-merged combined PDF for a distributor's "accounts" BCTIs for a given month.
"Accounts" BCTIs are for contractors with either no configured email address, or with the email address set to accounts@coural.co.nz.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
| {distributor} required | integer Example: 1 Contractor ID of the distributor. |
{- "fileName": "string",
- "hyperlink": "string",
- "contractor": -1,
- "contractorName": "[NO CONTRACTOR]",
- "distributor": -1,
- "distributorName": "[NO DISTRIBUTOR]",
- "invoicePeriod": "01/2024",
- "lastModified": "2019-08-24T14:15:22Z",
- "isAccounts": true
}Triggers the merging of individual "accounts" BCTI PDFs into a single combined PDF for the specified distributor and month.
"Accounts" BCTIs are for contractors with either no configured email address, or with the email address set to accounts@coural.co.nz.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
| {distributor} required | integer Example: 1 Contractor ID of the distributor. |
{- "message": "Combining 5 files"
}Generates and returns a ZIP archive containing all individual BCTI PDFs for the specified distributor and month.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
| {distributor} required | integer Example: 1 Contractor ID of the distributor. |
{- "fileName": "string",
- "hyperlink": "string",
- "contractor": -1,
- "contractorName": "[NO CONTRACTOR]",
- "distributor": -1,
- "distributorName": "[NO DISTRIBUTOR]",
- "invoicePeriod": "01/2024",
- "lastModified": "2019-08-24T14:15:22Z",
- "isAccounts": true
}Generates and returns a ZIP archive containing all individual "accounts" BCTI PDFs for the specified distributor and month.
"Accounts" BCTIs are for contractors with either no configured email address, or with the email address set to accounts@coural.co.nz.
| {year} required | integer Example: 2024 |
| {month} required | integer Example: 1 |
| {distributor} required | integer Example: 1 Contractor ID of the distributor. |
{- "fileName": "string",
- "hyperlink": "string",
- "contractor": -1,
- "contractorName": "[NO CONTRACTOR]",
- "distributor": -1,
- "distributorName": "[NO DISTRIBUTOR]",
- "invoicePeriod": "01/2024",
- "lastModified": "2019-08-24T14:15:22Z",
- "isAccounts": true
}Lists all contractor rates, ordered by ScanType, TicketType, Role, Courier, OversizeTickets, DateFromNZST, ID.
[- {
- "id": 0,
- "scanType": 0,
- "ticketType": 0,
- "role": "",
- "courier": null,
- "oversizeTickets": null,
- "dateFrom": null,
- "dateTo": null,
- "rate": null
}
]Creates a new contractor rate record.
| scanType | integer Enum: 0 1 2 3 4 5 6 The scan type. Values correspond to Pickup, PickupOutForDelivery, Delivery, OutForDeliveryOnly, Error, StorePickup, and StoreDelivery respectively. |
| ticketType | integer Enum: 0 1 2 3 4 5 The ticket type. Values correspond to Parcel, Document, Signature, Excess, Foodbox, and R18 respectively. |
| role | string Default: "" |
| courier | integer or null Default: null Optional courier ID to restrict this rate to a specific courier. |
| oversizeTickets | integer or null Default: null Optional oversize ticket threshold. |
| dateFrom | string or null <date-time> Default: null Start of the rate's effective period (NZST). |
| dateTo | string or null <date-time> Default: null End of the rate's effective period (NZST). |
| rate | number or null Default: null The dollar rate value. |
{- "scanType": 0,
- "ticketType": 0,
- "role": "",
- "courier": null,
- "oversizeTickets": null,
- "dateFrom": null,
- "dateTo": null,
- "rate": null
}{- "id": 0,
- "scanType": 0,
- "ticketType": 0,
- "role": "",
- "courier": null,
- "oversizeTickets": null,
- "dateFrom": null,
- "dateTo": null,
- "rate": null
}Updates an existing contractor rate record.
| {id} required | integer Example: 1 |
| scanType | integer Enum: 0 1 2 3 4 5 6 The scan type. Values correspond to Pickup, PickupOutForDelivery, Delivery, OutForDeliveryOnly, Error, StorePickup, and StoreDelivery respectively. |
| ticketType | integer Enum: 0 1 2 3 4 5 The ticket type. Values correspond to Parcel, Document, Signature, Excess, Foodbox, and R18 respectively. |
| role | string Default: "" |
| courier | integer or null Default: null Optional courier ID to restrict this rate to a specific courier. |
| oversizeTickets | integer or null Default: null Optional oversize ticket threshold. |
| dateFrom | string or null <date-time> Default: null Start of the rate's effective period (NZST). |
| dateTo | string or null <date-time> Default: null End of the rate's effective period (NZST). |
| rate | number or null Default: null The dollar rate value. |
{- "scanType": 0,
- "ticketType": 0,
- "role": "",
- "courier": null,
- "oversizeTickets": null,
- "dateFrom": null,
- "dateTo": null,
- "rate": null
}{- "id": 0,
- "scanType": 0,
- "ticketType": 0,
- "role": "",
- "courier": null,
- "oversizeTickets": null,
- "dateFrom": null,
- "dateTo": null,
- "rate": null
}Creates a new contractor record.
Automatically adds workflow tags for WelcomeEmailNotSent and ContractorAgreementNotCompleted.
| name | string Default: "" |
| status | integer Default: 0 Enum: 0 1 Values correspond to Active and Archived respectively. |
| isShareHolder | boolean Default: false |
| sharesNotes | string Default: "" |
| started | string <date-time> |
| left | string <date-time> |
| bankAccount | string Default: "" |
| gstNumber | string Default: "" |
| hasGST | boolean Default: false |
| podNotes | string Default: "" |
| isDistributor | boolean Default: false |
| isSubDistributor | boolean Default: false |
| subDistRate | number Default: 1 Sub-distributor rate reduction factor. |
| isContractor | boolean Default: false |
| isStore | boolean Default: false |
| sendJobDetails | boolean Default: false |
| sendDeliveryAdvice | boolean Default: false |
| isCurrent | boolean Default: false |
| isDropoff | boolean Default: false |
| isPallet | boolean Default: false |
| isPH | boolean Default: false |
| splitBCTIByRoute | boolean Default: false |
| isDeliveryScanCompliant | boolean Default: false |
{- "name": "",
- "status": 0,
- "isShareHolder": false,
- "sharesNotes": "",
- "started": "2019-08-24T14:15:22Z",
- "left": "2019-08-24T14:15:22Z",
- "bankAccount": "",
- "gstNumber": "",
- "hasGST": false,
- "podNotes": "",
- "isDistributor": false,
- "isSubDistributor": false,
- "subDistRate": 1,
- "isContractor": false,
- "isStore": false,
- "sendJobDetails": false,
- "sendDeliveryAdvice": false,
- "isCurrent": false,
- "isDropoff": false,
- "isPallet": false,
- "isPH": false,
- "splitBCTIByRoute": false,
- "isDeliveryScanCompliant": false
}{- "id": 0,
- "name": "",
- "status": 0,
- "isShareHolder": false,
- "sharesNotes": "",
- "started": "2019-08-24T14:15:22Z",
- "left": "2019-08-24T14:15:22Z",
- "bankAccount": "",
- "gstNumber": "",
- "hasGST": false,
- "podNotes": "",
- "isDistributor": false,
- "isSubDistributor": false,
- "subDistRate": 1,
- "isContractor": false,
- "isStore": false,
- "sendJobDetails": false,
- "sendDeliveryAdvice": false,
- "isCurrent": false,
- "isDropoff": false,
- "isPallet": false,
- "isPH": false,
- "splitBCTIByRoute": false,
- "isDeliveryScanCompliant": false,
- "contactNames": [
- {
- "id": 0,
- "firstname": "string",
- "surname": "string"
}
], - "contacts": [
- {
- "id": 0,
- "contactType": "string",
- "contactDetail": "string",
- "contactComment": "string"
}
], - "addresses": [
- {
- "id": 0,
- "label": "string",
- "line1": "string",
- "line2": "string",
- "suburb": "string",
- "buildingName": "string",
- "city": "string",
- "postCode": "string",
- "note": "string"
}
]
}Lists all BCTI PDF files for a specific contractor across all invoice periods. Returns pre-signed S3 download URLs.
| {contractor} required | integer Example: 1 Contractor ID. |
[- {
- "fileName": "string",
- "hyperlink": "string",
- "contractor": -1,
- "contractorName": "[NO CONTRACTOR]",
- "distributor": -1,
- "distributorName": "[NO DISTRIBUTOR]",
- "invoicePeriod": "01/2024",
- "lastModified": "2019-08-24T14:15:22Z",
- "isAccounts": true
}
]Endpoints for managing contractor onboarding workflow, including document submissions and status tags.
Gets the list of available workflow documents and forms with pre-signed S3 download URLs.
The contractor ID in the path is not used for filtering — all documents are returned regardless of contractor.
| {contractor} required | integer Example: 1 Contractor ID. |
{- "documents": [
- {
- "name": "string",
- "path": "string"
}
], - "forms": [
- {
- "name": "string",
- "path": "string"
}
]
}Submits a document file for the specified contractor. The file is uploaded to S3 and a document tag with PendingApproval status is created.
The file must be Base64-encoded in the request body.
| {contractor} required | integer Example: 1 Contractor ID. |
| {document_type} required | string Enum: "ContractorAgreement" "SharesSurrenderAndApplication" "SharesTransfer" Example: ContractorAgreement Must be a document tag type name. |
| filename | string |
| file | string <byte> Base64-encoded file content. |
{- "filename": "agreement.pdf",
- "file": "string"
}"agreement.pdf"Creates a new courier record. Rates can optionally be included in the request body.
| name | string Default: "" |
string Default: "" | |
| sendEmail | boolean Default: false |
| scanCode | string Default: "" |
| trackingSiteLink | string Default: "" |
| status | integer Default: 0 Enum: 0 1 2 Values correspond to Active, Archived, and OnHold respectively. |
Array of objects or null (Courier Rate - Input) Optional. If provided, rates will be saved with the courier. |
{- "name": "",
- "email": "",
- "sendEmail": false,
- "scanCode": "",
- "trackingSiteLink": "",
- "status": 0,
- "rates": [
- {
- "ticketType": 0,
- "oversizeTickets": null,
- "rate": 0
}
]
}{- "id": 0,
- "name": "",
- "email": "",
- "sendEmail": false,
- "scanCode": "",
- "trackingSiteLink": "",
- "status": 0,
- "rates": [
- {
- "ticketType": 0,
- "oversizeTickets": null,
- "rate": 0
}
]
}Gets a courier by ID, including their rates.
| {courier} required | integer Example: 1 Courier ID. |
{- "id": 0,
- "name": "",
- "email": "",
- "sendEmail": false,
- "scanCode": "",
- "trackingSiteLink": "",
- "status": 0,
- "rates": [
- {
- "ticketType": 0,
- "oversizeTickets": null,
- "rate": 0
}
]
}Updates a courier record. If rates are included, they will be saved (new rates inserted, existing rates updated, missing rates deleted).
| {courier} required | integer Example: 1 Courier ID. |
| name | string Default: "" |
string Default: "" | |
| sendEmail | boolean Default: false |
| scanCode | string Default: "" |
| trackingSiteLink | string Default: "" |
| status | integer Default: 0 Enum: 0 1 2 Values correspond to Active, Archived, and OnHold respectively. |
Array of objects or null (Courier Rate - Input) Optional. If provided, rates will be saved with the courier. |
{- "name": "",
- "email": "",
- "sendEmail": false,
- "scanCode": "",
- "trackingSiteLink": "",
- "status": 0,
- "rates": [
- {
- "ticketType": 0,
- "oversizeTickets": null,
- "rate": 0
}
]
}{- "id": 0,
- "name": "",
- "email": "",
- "sendEmail": false,
- "scanCode": "",
- "trackingSiteLink": "",
- "status": 0,
- "rates": [
- {
- "ticketType": 0,
- "oversizeTickets": null,
- "rate": 0
}
]
}Queries couriers with optional filtering and pagination.
String filters use SQL LIKE syntax. Null values apply no filter.
| nameLike | string or null Default: null SQL |
| scanCodeLike | string or null Default: null SQL |
| statusIn | Array of integers or null Default: null Enum: 0 1 2 Filter by courier status. Values correspond to Active (0), Archived (1), and OnHold (2). |
| page | integer or null Default: null |
| limit | integer or null Default: null |
{- "nameLike": null,
- "scanCodeLike": null,
- "statusIn": null,
- "page": null,
- "limit": null
}[- {
- "id": 0,
- "name": "",
- "email": "",
- "sendEmail": false,
- "scanCode": "",
- "trackingSiteLink": "",
- "status": 0,
- "rates": [
- {
- "ticketType": 0,
- "oversizeTickets": null,
- "rate": 0
}
]
}
]Gets courier invoices with optional filtering. Returns pre-signed S3 download URLs for invoice PDFs.
| isBilled | boolean Filter by billed status. |
| includeTickets | boolean Include the list of billed ticket numbers in the response. |
| startDate | string <date-time> Filter invoices with date range starting on or after this date. |
| endDate | string <date-time> Filter invoices with date range ending on or before this date. |
| courier | integer Filter by courier ID. |
[- {
- "id": 0,
- "courier": 0,
- "billedTo": "string",
- "billedOn": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "total": 0,
- "invoiceDateRangeStart": "2019-08-24T14:15:22Z",
- "invoiceDateRangeEnd": "2019-08-24T14:15:22Z",
- "billedTickets": [
- "string"
], - "updated": "2019-08-24T14:15:22Z",
- "link": "string"
}
]Queries courier invoices with filtering and pagination.
All filter parameters are optional. Null values apply no filter. page and limit can also be passed as query string parameters.
| page | integer Overrides page in request body. |
| limit | integer Overrides limit in request body. |
| idIn | Array of integers or null Default: null |
| courierIn | Array of integers or null Default: null |
| billedToLike | string or null Default: null SQL |
| dateRangeStartAfter | string or null <date-time> Default: null |
| dateRangeStartBefore | string or null <date-time> Default: null |
| dateRangeEndAfter | string or null <date-time> Default: null |
| dateRangeEndBefore | string or null <date-time> Default: null |
| billedOnAfter | string or null <date-time> Default: null |
| billedOnBefore | string or null <date-time> Default: null |
| billedOnIsNull | boolean or null Default: null Filter by whether the invoice has been billed. |
| orderby | string or null Default: null A SQL |
| page | integer Default: 0 |
| limit | integer Default: 20 |
{- "idIn": null,
- "courierIn": null,
- "billedToLike": null,
- "dateRangeStartAfter": null,
- "dateRangeStartBefore": null,
- "dateRangeEndAfter": null,
- "dateRangeEndBefore": null,
- "billedOnAfter": null,
- "billedOnBefore": null,
- "billedOnIsNull": null,
- "orderby": null,
- "page": 0,
- "limit": 20
}{- "items": [
- {
- "id": 0,
- "courier": 0,
- "billedTo": "string",
- "billedOn": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "total": 0,
- "invoiceDateRangeStart": "2019-08-24T14:15:22Z",
- "invoiceDateRangeEnd": "2019-08-24T14:15:22Z",
- "billedTickets": [
- "string"
], - "updated": "2019-08-24T14:15:22Z",
- "link": "string"
}
], - "maxAvailableItems": 0
}Generates courier invoices for the specified date range.
If sendToXero is true, invoices are also sent to Xero and emailed to couriers with configured email addresses. Both startDate and endDate are required.
| startDate required | string <date-time> Start of the invoice period. |
| endDate required | string <date-time> End of the invoice period. |
| couriers | Array of integers Default: [] Optional list of courier IDs to generate for. Empty array generates for all couriers. |
| sendToXero | boolean Default: false If true, sends invoices to Xero and emails them to couriers. |
{- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "couriers": [ ],
- "sendToXero": false
}[- {
- "id": 0,
- "courier": 0,
- "billedTo": "string",
- "billedOn": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "total": 0,
- "invoiceDateRangeStart": "2019-08-24T14:15:22Z",
- "invoiceDateRangeEnd": "2019-08-24T14:15:22Z",
- "billedTickets": [
- "string"
], - "updated": "2019-08-24T14:15:22Z",
- "link": "string"
}
]Queries routes by a list of IDs.
If list is null or undefined, returns 400 Bad Request — only query-by-list is currently supported.
page and limit can be provided in the request body or overridden via query string parameters.
Set loadBoxNumbers to true to include box number counts in the response. Defaults to false.
| page | integer Overrides page in request body. |
| limit | integer Overrides limit in request body. |
| list | Array of integers List of route IDs to retrieve. |
| page | integer or null Default: null |
| limit | integer or null Default: null |
| loadBoxNumbers | boolean Default: false When true, includes box number counts in each route's |
{- "list": [
- 1,
- 2,
- 3
], - "page": null,
- "limit": null,
- "loadBoxNumbers": false
}{- "items": [
- {
- "route_id": 0,
- "status": 0,
- "depot": 1,
- "island": "",
- "noTicketHeader": false,
- "isHidden": false,
- "region": "",
- "area": "",
- "code": "",
- "description": "",
- "pmpAreacode": 0,
- "pmpRuncode": 0,
- "ovatoRD": 0,
- "seqRegion": 0,
- "seqArea": 0,
- "seqCode": 0,
- "boxNumbers": {
- "num_total": 100,
- "num_sheep": 40,
- "num_dairies": 60
}
}
], - "maxAvailableItems": 0
}Gets one or more routes by ID. Supports comma-separated IDs for batch retrieval.
If a single ID is provided, returns a single route object. If multiple IDs are provided, returns an array.
| {route} required | string Example: 1 Route ID. Supports comma-separated IDs for batch retrieval. |
| box_numbers | boolean Include box number counts in the response. |
{- "route_id": 0,
- "status": 0,
- "depot": 1,
- "island": "",
- "noTicketHeader": false,
- "isHidden": false,
- "region": "",
- "area": "",
- "code": "",
- "description": "",
- "pmpAreacode": 0,
- "pmpRuncode": 0,
- "ovatoRD": 0,
- "seqRegion": 0,
- "seqArea": 0,
- "seqCode": 0,
- "boxNumbers": {
- "num_total": 100,
- "num_sheep": 40,
- "num_dairies": 60
}
}Updates a route record. If boxNumbers is provided, new box number records will be inserted where they differ from the current active values.
| {route} required | string Example: 1 Route ID. Supports comma-separated IDs for batch retrieval. |
| status | integer Default: 0 Enum: 0 1 Values correspond to Active and Archived respectively. |
| depot | integer Default: 1 |
| island | string Default: "" |
| noTicketHeader | boolean Default: false |
| isHidden | boolean Default: false |
| region | string Default: "" |
| area | string Default: "" |
| code | string Default: "" |
| description | string Default: "" |
| pmpAreacode | integer Default: 0 |
| pmpRuncode | integer Default: 0 |
| ovatoRD | integer Default: 0 |
| seqRegion | integer Default: 0 |
| seqArea | integer Default: 0 |
| seqCode | integer Default: 0 |
| boxNumbers | object or null Key-value pairs of box type code to count. |
{- "status": 0,
- "depot": 1,
- "island": "",
- "noTicketHeader": false,
- "isHidden": false,
- "region": "",
- "area": "",
- "code": "",
- "description": "",
- "pmpAreacode": 0,
- "pmpRuncode": 0,
- "ovatoRD": 0,
- "seqRegion": 0,
- "seqArea": 0,
- "seqCode": 0,
- "boxNumbers": {
- "num_total": 100,
- "num_sheep": 40,
- "num_dairies": 60
}
}Creates a new route record. If boxNumbers is provided, initial box number records will be created.
| status | integer Default: 0 Enum: 0 1 Values correspond to Active and Archived respectively. |
| depot | integer Default: 1 |
| island | string Default: "" |
| noTicketHeader | boolean Default: false |
| isHidden | boolean Default: false |
| region | string Default: "" |
| area | string Default: "" |
| code | string Default: "" |
| description | string Default: "" |
| pmpAreacode | integer Default: 0 |
| pmpRuncode | integer Default: 0 |
| ovatoRD | integer Default: 0 |
| seqRegion | integer Default: 0 |
| seqArea | integer Default: 0 |
| seqCode | integer Default: 0 |
| boxNumbers | object or null Key-value pairs of box type code to count. |
{- "status": 0,
- "depot": 1,
- "island": "",
- "noTicketHeader": false,
- "isHidden": false,
- "region": "",
- "area": "",
- "code": "",
- "description": "",
- "pmpAreacode": 0,
- "pmpRuncode": 0,
- "ovatoRD": 0,
- "seqRegion": 0,
- "seqArea": 0,
- "seqCode": 0,
- "boxNumbers": {
- "num_total": 100,
- "num_sheep": 40,
- "num_dairies": 60
}
}{- "route_id": 0,
- "status": 0,
- "depot": 1,
- "island": "",
- "noTicketHeader": false,
- "isHidden": false,
- "region": "",
- "area": "",
- "code": "",
- "description": "",
- "pmpAreacode": 0,
- "pmpRuncode": 0,
- "ovatoRD": 0,
- "seqRegion": 0,
- "seqArea": 0,
- "seqCode": 0,
- "boxNumbers": {
- "num_total": 100,
- "num_sheep": 40,
- "num_dairies": 60
}
}Gets GeoJSON feature data for routes. Exactly one of the following query parameters must be provided:
route — Comma-separated route IDsjob_id — Job ID (loads routes associated with the job)region — Comma-separated region namesWhen using job_id, an optional override_box_type parameter can be provided to override box number counts with job route amounts for the specified box type.
Each feature includes a geometry_url property containing a pre-signed S3 URL to the full-detail route geometry file (8% simplification), and a geometry_url_simple property containing a pre-signed S3 URL to the simplified geometry file (1% simplification) for faster initial map load.
| route | string Example: route=1,2,3 Comma-separated route IDs. |
| job_id | integer Job ID to load routes from. |
| region | string Example: region=Auckland Comma-separated region names. |
| override_box_type | string Example: override_box_type=CP Box type code to override with job route amounts. Only used with |
[- {
- "type": "Feature",
- "id": 0,
- "properties": {
- "ID": 0,
- "Code": "string",
- "Area": "string",
- "Region": "string",
- "SeqCode": 0,
- "SeqArea": 0,
- "SeqRegion": 0
}, - "geometry_url": "string",
- "geometry_url_simple": "string"
}
]Creates jobs from a DX Mail CSV file. The request body must be raw CSV text.
The CSV must contain either a Route ID or Postcode column as the route identifier. Additional columns matching configured DX Mail job template names will generate jobs.
DX mail templates are defined by records with keys like 'DX Mail Job Template - %' in the Misc table. These map a column name (the % in the key) to jobs to use as templates. These jobs typically have negative ID numbers.
An optional Version column can be included. This is passed into the Version field on job-route affiliations.
Raw CSV content with route identifiers and job amount columns.
Route ID,Version,Magazine Direct,Large Oversize Direct 1,A,100,50 2,A,200,75
{- "Magazine Direct": {
- "ID": 1,
- "Job No": 1001
}, - "Large Oversize Direct": {
- "ID": 2,
- "Job No": 1002
}
}Gets all actions for a POD record, ordered by most recent first. Actions are stored in DynamoDB.
| {pod} required | integer Example: 1 POD ID. |
[- {
- "timestamp": "2019-08-24T14:15:22Z",
- "actionType": 0,
- "meta": {
- "file": "string",
- "messageID": "string",
- "inReplyTo": "string",
- "from": "string",
- "to": "string",
- "cc": [
- "string"
], - "subject": "string",
- "html": true,
- "oversized": true,
- "attachments": {
- "property1": "string",
- "property2": "string"
}
}, - "notes": "",
- "staff": ""
}
]Creates or updates a POD action. Updates both the DynamoDB action record and the POD's last action fields in MySQL.
| {pod} required | integer Example: 1 POD ID. |
| timestamp | string <date-time> Defaults to current UTC time. |
| actionType | integer Enum: 0 1 2 3 4 5 6 16 17 18 19 20 21 22 25 26 27 28 29 30 31 Values include: NoAction (0), ContractorContacted (1), ContractorResponse (2), ContractorAdvisesHold (3), SignatureCopyRequested (4), CourierContacted (5), CourierResponse (6), FinalResponse (16), ContractorPhoneNoResponse (17), ContractorLeftMessage (18), Other (19), ContractorEmailSent (20), ContractorCheckTicket (21), CourierSeekingResponse (22), HoldForTicketSheets (25), HoldForMobileScans (26), MobileScanGPS (27), EmailOut (28), EmailIn (29), TextOut (30), TextIn (31). |
object | |
| notes | string Default: "" |
| staff | string Default: "" |
{- "timestamp": "2019-08-24T14:15:22Z",
- "actionType": 0,
- "meta": {
- "file": "string",
- "messageID": "string",
- "inReplyTo": "string",
- "from": "string",
- "to": "string",
- "cc": [
- "string"
], - "subject": "string",
- "html": true,
- "oversized": true,
- "attachments": {
- "property1": "string",
- "property2": "string"
}
}, - "notes": "",
- "staff": ""
}{- "timestamp": "2019-08-24T14:15:22Z",
- "actionType": 0,
- "meta": {
- "file": "string",
- "messageID": "string",
- "inReplyTo": "string",
- "from": "string",
- "to": "string",
- "cc": [
- "string"
], - "subject": "string",
- "html": true,
- "oversized": true,
- "attachments": {
- "property1": "string",
- "property2": "string"
}
}, - "notes": "",
- "staff": ""
}Queues one or more emails for sending via the Kereru SQS queue. The tenancy is automatically set from the request context.
Uses the EmailPacket model from Firecrest.Kereru.Client.
| code | string Default: "" Email template code. |
object or null Optional sender. Can be set at tenancy level. | |
Array of objects Recipient email addresses. Accepts EmailAddress objects or plain strings via implicit conversion. | |
Array of objects Default: [] | |
Array of objects Default: [] | |
| attachments | Array of strings Default: [] |
| subject | string Default: "" |
| inReplyTo | string or null Default: null |
| htmlMessage | string Default: "" |
| plainTextMessage | string Default: "" |
| batchID | string or null <uuid> Optional client reference, not used by Kereru. |
| originID | string or null <uuid> Optional client reference, not used by Kereru. |
| priority | integer Default: 0 Enum: 0 1 2 Values correspond to Low, Medium, and High respectively. |
[- {
- "code": "",
- "fromEmail": {
- "email": "user@example.com",
- "name": "string"
}, - "toEmail": [
- {
- "email": "user@example.com",
- "name": "string"
}
], - "ccEmail": [ ],
- "bccEmail": [ ],
- "attachments": [ ],
- "subject": "",
- "inReplyTo": null,
- "htmlMessage": "",
- "plainTextMessage": "",
- "batchID": "56707290-2f9b-4967-9c9d-1b759fac6d42",
- "originID": "aad7996f-780d-4b0a-9fb2-c7b70efff27f",
- "priority": 0
}
]Queues one or more SMS messages for sending via the Kereru SQS queue. The tenancy is automatically set from the request context.
Uses the SMSPacket model from Firecrest.Kereru.Client.
| reference | string or null Default: null |
| toSMS | Array of strings Recipient phone numbers. |
| message | string Default: "" |
| batchID | string or null <uuid> Optional client reference, not used by Kereru. |
| originID | string or null <uuid> Optional client reference, not used by Kereru. |
| priority | integer Default: 0 Enum: 0 1 2 Values correspond to Low, Medium, and High respectively. |
[- {
- "reference": null,
- "toSMS": [
- "string"
], - "message": "",
- "batchID": "56707290-2f9b-4967-9c9d-1b759fac6d42",
- "originID": "aad7996f-780d-4b0a-9fb2-c7b70efff27f",
- "priority": 0
}
]Creates a new system journal entry.
| logDate | string <date-time> |
| user | string Default: "" |
| category | integer Enum: 0 1 2 3 Values correspond to Exception, Job, Ticket, and General respectively. |
| startID | integer or null Default: null |
| endID | integer or null Default: null |
| remarks | string Default: "" |
{- "logDate": "2019-08-24T14:15:22Z",
- "user": "",
- "category": 0,
- "startID": null,
- "endID": null,
- "remarks": ""
}{- "id": 0,
- "logDate": "2019-08-24T14:15:22Z",
- "user": "",
- "category": 0,
- "startID": null,
- "endID": null,
- "remarks": ""
}Updates the global profile configuration. The request body is merged into the existing profile using JSON population.
| gst | number GST rate as a decimal (e.g. 0.15 for 15%). |
| deliveryScanPremiumRate | number Delivery Scan Premium rate used in BCTI calculations. |
| fuelAdjustmentFactorRate | number Fuel Adjustment Factor rate used in BCTI calculations. |
object Map of ticket type name to tickets per book count. |
{- "gst": 0.15,
- "deliveryScanPremiumRate": 0.1,
- "fuelAdjustmentFactorRate": 0.05,
- "ticketsPerBook": {
- "Parcel": 50,
- "Document": 50,
- "Signature": 50,
- "Excess": 50,
- "Foodbox": 50,
- "R18": 50
}
}