Carriers

Shipping carriers.

The object#

FieldTypeDescription
idread-onlyintegerNolaPro id.
customernumberstring(20)Your account number with the carrier.
trackingurlbasestring(150)Base URL used to build tracking links for this carrier.
trackingurlvarnamestring(30)Query parameter name the tracking number is appended as when building tracking links.
descriptionstring(100)Carrier name shown on documents and pickers.
vendoridintegerReference to vendors, by id. Write either this or vendor.
vendorstring(30)Code for the referenced vendor, instead of the id.
cancelbooleanCancelled. Always a boolean on the wire, whatever integer width the column uses (D23).
carrier_upchargemoneystring(2dp)Stored as decimal(5,2).
carrier_upcharge_flatmoneystring(6dp)Stored as decimal(19,6).
maxboxweightnumberstring(2dp)Numeric string, 2 decimal places. Not money - do not apply currency rounding.
shipheightmoneystring(2dp)Stored as decimal(7,2).
shiplengthmoneystring(2dp)Stored as decimal(7,2).
shipwidthmoneystring(2dp)Stored as decimal(7,2).
usenegotiatedratesinteger1 rates shipments with your negotiated carrier rates instead of published rates.
externalidstring(100)Your own key. Scoped to your company.

Endpoints#

POST/carriers/batch 207

Create many.

Requires scope setup:write.

Parameters
NameInTypeNotes
Body array
FieldTypeDescription
customernumberstring(20)Your account number with the carrier.
trackingurlbasestring(150)Base URL used to build tracking links for this carrier.
trackingurlvarnamestring(30)Query parameter name the tracking number is appended as when building tracking links.
descriptionstring(100)Carrier name shown on documents and pickers.
vendoridintegerReference to vendors, by id. Write either this or vendor.
vendorstring(30)Code for the referenced vendor, instead of the id.
cancelbooleanCancelled. Always a boolean on the wire, whatever integer width the column uses (D23).
carrier_upchargemoneystring(2dp)Stored as decimal(5,2).
carrier_upcharge_flatmoneystring(6dp)Stored as decimal(19,6).
maxboxweightnumberstring(2dp)Numeric string, 2 decimal places. Not money - do not apply currency rounding.
shipheightmoneystring(2dp)Stored as decimal(7,2).
shiplengthmoneystring(2dp)Stored as decimal(7,2).
shipwidthmoneystring(2dp)Stored as decimal(7,2).
usenegotiatedratesinteger1 rates shipments with your negotiated carrier rates instead of published rates.
externalidstring(100)Your own key. Scoped to your company.
servicesarray of RefCarrierservicesCreateService levels offered by this carrier.
curl -X POST \
  'https://acme.nolapro.com/!/api/v2/carriers/batch' \
  -H 'Authorization: Bearer $NP_TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: your-unique-key' \
  -d '[
    {
        "services": [
            {
                "description": "Example description",
                "abbreviation": "Example abbreviation",
                "sortorder": 1,
                "not_on_b2b": 1,
                "onquote": 1,
                "box1_charge": "125.0000"
            }
        ]
    }
]'
GET/carriers 200403

List carriers.

Requires scope setup:read.

Parameters
NameInTypeNotes
vendoridquerystringRestrict to one vendorid.
descriptionquerystringPartial match, case insensitive.
cancelquerystringDefaults to false. Pass true or any.
externalidquerystringExact match on your own key.
includequerystringComma-separated extras to embed. Only custom_fields is available: the extra fields this install has defined on the record. Off by default, and an unrecognised value is refused rather than ignored. See Conventions.
When it fails
StatusCodeMeaning
403insufficient_scopeToken lacks read scope.
curl \
  'https://acme.nolapro.com/!/api/v2/carriers' \
  -H 'Authorization: Bearer $NP_TOKEN'
POST/carriers 201400

Create.

Requires scope setup:write.

Parameters
NameInTypeNotes
Body
FieldTypeDescription
customernumberstring(20)Your account number with the carrier.
trackingurlbasestring(150)Base URL used to build tracking links for this carrier.
trackingurlvarnamestring(30)Query parameter name the tracking number is appended as when building tracking links.
descriptionstring(100)Carrier name shown on documents and pickers.
vendoridintegerReference to vendors, by id. Write either this or vendor.
vendorstring(30)Code for the referenced vendor, instead of the id.
cancelbooleanCancelled. Always a boolean on the wire, whatever integer width the column uses (D23).
carrier_upchargemoneystring(2dp)Stored as decimal(5,2).
carrier_upcharge_flatmoneystring(6dp)Stored as decimal(19,6).
maxboxweightnumberstring(2dp)Numeric string, 2 decimal places. Not money - do not apply currency rounding.
shipheightmoneystring(2dp)Stored as decimal(7,2).
shiplengthmoneystring(2dp)Stored as decimal(7,2).
shipwidthmoneystring(2dp)Stored as decimal(7,2).
usenegotiatedratesinteger1 rates shipments with your negotiated carrier rates instead of published rates.
externalidstring(100)Your own key. Scoped to your company.
servicesarray of RefCarrierservicesCreateService levels offered by this carrier.
When it fails
StatusCodeMeaning
400invalid_requestA required field was missing.
curl -X POST \
  'https://acme.nolapro.com/!/api/v2/carriers' \
  -H 'Authorization: Bearer $NP_TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: your-unique-key' \
  -d '{
    "services": [
        {
            "description": "Example description",
            "abbreviation": "Example abbreviation",
            "sortorder": 1,
            "not_on_b2b": 1,
            "onquote": 1,
            "box1_charge": "125.0000"
        }
    ]
}'
Response 201
{
    "customernumber": "INV-88421",
    "trackingurlbase": "Example trackingurlbase",
    "trackingurlvarname": "Example trackingurlvarname",
    "description": "Example description",
    "vendorid": 104,
    "vendor": "Example vendor"
}
GET/carriers/{id} 200404

Retrieve one record.

Requires scope setup:read.

Parameters
NameInTypeNotes
idrequiredpathintegerThe record id.
includequerystringComma-separated extras to embed. Only custom_fields is available: the extra fields this install has defined on the record. Off by default, and an unrecognised value is refused rather than ignored. See Conventions.
When it fails
StatusCodeMeaning
404not_foundNo record with that id.
curl \
  'https://acme.nolapro.com/!/api/v2/carriers/104' \
  -H 'Authorization: Bearer $NP_TOKEN'
Response 200
{
    "customernumber": "INV-88421",
    "trackingurlbase": "Example trackingurlbase",
    "trackingurlvarname": "Example trackingurlvarname",
    "description": "Example description",
    "vendorid": 104,
    "vendor": "Example vendor"
}
PATCH/carriers/{id} 200404

Update.

Requires scope setup:write.

Parameters
NameInTypeNotes
idrequiredpathintegerThe record id.
Body
FieldTypeDescription
idread-onlyintegerNolaPro id.
customernumberstring(20)Your account number with the carrier.
trackingurlbasestring(150)Base URL used to build tracking links for this carrier.
trackingurlvarnamestring(30)Query parameter name the tracking number is appended as when building tracking links.
descriptionstring(100)Carrier name shown on documents and pickers.
vendoridintegerReference to vendors, by id. Write either this or vendor.
vendorstring(30)Code for the referenced vendor, instead of the id.
cancelbooleanCancelled. Always a boolean on the wire, whatever integer width the column uses (D23).
carrier_upchargemoneystring(2dp)Stored as decimal(5,2).
carrier_upcharge_flatmoneystring(6dp)Stored as decimal(19,6).
maxboxweightnumberstring(2dp)Numeric string, 2 decimal places. Not money - do not apply currency rounding.
shipheightmoneystring(2dp)Stored as decimal(7,2).
shiplengthmoneystring(2dp)Stored as decimal(7,2).
shipwidthmoneystring(2dp)Stored as decimal(7,2).
usenegotiatedratesinteger1 rates shipments with your negotiated carrier rates instead of published rates.
externalidstring(100)Your own key. Scoped to your company.
When it fails
StatusCodeMeaning
404not_foundNo record with that id.
curl -X PATCH \
  'https://acme.nolapro.com/!/api/v2/carriers/104' \
  -H 'Authorization: Bearer $NP_TOKEN' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: your-unique-key' \
  -d '{
    "customernumber": "INV-88421",
    "trackingurlbase": "Example trackingurlbase",
    "trackingurlvarname": "Example trackingurlvarname",
    "description": "Example description",
    "vendorid": 104,
    "vendor": "Example vendor"
}'
Response 200
{
    "customernumber": "INV-88421",
    "trackingurlbase": "Example trackingurlbase",
    "trackingurlvarname": "Example trackingurlvarname",
    "description": "Example description",
    "vendorid": 104,
    "vendor": "Example vendor"
}
DELETE/carriers/{id} 200404

Cancel.

Requires scope setup:cancel.

Parameters
NameInTypeNotes
idrequiredpathintegerThe record id.
When it fails
StatusCodeMeaning
404not_foundNo record with that id.
curl -X DELETE \
  'https://acme.nolapro.com/!/api/v2/carriers/104' \
  -H 'Authorization: Bearer $NP_TOKEN'
Response 200
{
    "customernumber": "INV-88421",
    "trackingurlbase": "Example trackingurlbase",
    "trackingurlvarname": "Example trackingurlvarname",
    "description": "Example description",
    "vendorid": 104,
    "vendor": "Example vendor"
}