NAV
json

Introduction

The PortPro API enables easy information flows between PortPro and your internal supply chain systems — including your company’s ERP or WMS — to save time, reduce errors, and improve decision-making across your supply chain.

Here, you have access to our growing collection of Public APIs to gather data throughout the invoices, loads, load status, customers, ports and consignees.

The PortPro API enables you to programmatically interact with PortPro's freight data. The API follows modern RESTful conventions and speaks JSON in both directions. As the API uses JSON for both requests and responses, we will assume that requests with a payload are using properly formatted JSON, however, we still recommend setting the Content-Type header to the value application/json.

API Environments

For now, we provides two environments.

  1. Sandbox
  2. Production

Sandbox

The PortPro Sandbox APIs allow for concurrent testing and development to fast-track app development cycles and reduce time-to-market. simulate error scenarios with your API, like latency in the API's response time, error conditions or simulating a non-responsive API completely.

HTTP Endpoint

Coming soon

Production

The PortPro Production APIs provides standards for how software programs communicate with each other.PortPro API enables you to programmatically interact with PortPro's freight data.

HTTP Endpoint

https://api1.brokerage.portpro.io/v1

Setup APIs into Postman

Already using Postman? Simply download a Brokerage Public APIs collection and set up your testing environment. If you need testing tools, Postman may be a great option - and we’ve got everything you need to get up and running.

Steps for Setup

Please follow the steps below to being setting up API's in Postman.

Step 1: Get Postman

Download and install Postman.

Step 2: Get a Postman collection

Download the Postman collections. Collections give you sets of pre-built requests to test with.

Step 3: Configure your testing environment in Postman

Click here for download environment postman collection.

Enter the following in each field as needed:

Data field Description
token Access Token from portpro developer setting
baseUrl https://api1.brokerage.portpro.io/v1

Authentication

To authorize, use this method:

{
  "Autherization" : "Bearer <Your Access Token>"
}

Make sure to replace <Your Access Token> with your Access Token.

PortPro uses two tokens which is access key and refresh key to allow access to the API. You can register a new PortPro Public Access Token at our PortPro Developer Portal.

When your access token is expired and you want to update your access and refresh token with api then Please refere below API.

API Setup

PortPro expects for the Access Token to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer <Your Access Token>

Content type of request payload should be multipart/form-data.

Content-Type: multipart/form-data

Generate new access and refresh token

200 OK

{
    "_object": "/api/response",
    "self": "/v1/generate-new-token",
    "version": "1.0.0",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJyaWVyIjoiNjI3MjE4ZDk5hNDkxNWNkN2E3MzRiIiwidXNlciI6IjYyNzIxOGQ5OTViYTQ5MTVjZDdhNzM0YiIsImlhdCI6MTY1MTY2MDMwMSwiZXhwIjoxNjUxNjcxMTAxfQ.KtMQQ3LZPfLL72wmKVJgbFvBb3ct0LwgDHDar1xSA-s",
        "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJyaWVyIjoiNjI3MjE4ZDk5NNkN2E3MzRiIiwidXNlciI6IjYyNzIxOGQ5OTViYTQ5MTVjZDdhNzM0YiIsImlhdCI6MTY1MTY2MDMwMSwiZXhwIjoxNjYwMzAwMzAxfQ.E0hcNHVyIyOyv7DJ_m9Fd2zN7LT-wUSJmPowz0NJJQk",
        "tokenType": "public"
    },
    "error": null
}

This endpoint refresh access token and refresh token or you can generate new from this link.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/generate-new-token

Request Header

Authorization: Bearer <Your Refresh Token>

Retrieve access and refresh token

200 OK

{
    "_object": "/api/response",
    "self": "/v1/retrieve-token",
    "version": "1.0.0",
    "data": {
        "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJyaWVyIjoiNjI3MjE4ZDk5hNDWNkN2E3MzRiIiwidXNlciI6IjYyNzIxOGQ5OTViYTQ5MTVjZDdhNzM0YiIsImlhdCI6MTY1MTY2MDMwMSwiZXhwIjoxNjUxNjcxMTAxfQ.KtMQQ3LZPfLL72wmKVJgbFvBb3ct0LwgDHDar1xSA-s",
        "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXJyaWVyIjo3MjE4ZDk5NNkN2E3MzRiIiwidXNlciI6IjYyNzIxOGQ5OTViYTQ5MTVjZDdhNzM0YiIsImlhdCI6MTY1MTY2MDMwMSwiZXhwIjoxNjYwMzAwMzAxfQ.E0hcNHVyIyOyv7DJ_m9Fd2zN7LT-wUSJmPowz0NJJQk",
        "tokenType": "public"
    },
    "error": null
}

This endpoint refresh access token and refresh token or you can generate new from this link.

HTTP Request

POST https://api1.brokerage.portpro.io/v1/retrieve-token

Request Body Parameters

Parameter Type Description
clientId* string Client ID which is provided by support team.
clientSecret* string Client Secret which is provided by support team.

Errors


{
    "_object": "/api/error",
    "self": "/self/route",
    "version": "1.0.0",
    "status": 400,
    "message": "error message
}

The PortPro API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your Access Token is wrong.
403 Forbidden -- The API requested is hidden for administrators only.
404 Not Found -- The specified API could not be found.
405 Method Not Allowed -- You tried to access a API with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The request has been removed from our servers.
429 Too Many Requests -- You're requesting too many API! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
502/503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Invoices

Invoice Object


Demo invoice object

{
    "_id": "ABC_1234",
    "total": 1,
    "invoice": [
        {
            "load_reference_number": "ABC_1234",
            "reference_number": "ABC_1234",
            "pricing": [
                {
                    "dynamicPricingId": null,
                    "customerRateId": null,
                    "chargeType": "MANUALLY_CHANGED",
                    "name": "Base Price",
                    "perType": "",
                    "freeDays": 0,
                    "unit": "1.00",
                    "finalAmount": "100.00",
                    "chargePerMinute": 0,
                    "chargePerDay": 0,
                    "amount": "0.00"
                }
            ],
            "status": "BILLING",
            "paidAmount": 0,
            "totalAmount": 100,
            "remainAmount": 100,
            "billingDate": "2022-05-01T05:03:13.732Z",
            "caller": {
                "_id": "1234",
                "company_name": "SMITHSON WAREHOUSE",
                "currency": ""
            },
            "callerName": "SMITHSON WAREHOUSE",
            "referenceFields": {
                "ContainerNo": "HELL7878700",
                "PurchaseOrderNo": "Purchase Order #",
                "ChassisNo": "25369815",
                "Master_bill_of_lading": "Master Bill of Lading",
                "PickUpNo": "Pick Up #",
                "Vessel_name": "Vessel Name",
                "House_bill_of_lading": "House Bill of Lading",
                "Voayge": "Voyage",
                "ReturnNo": "Return #",
                "Secondary_ReferenceNo": "Reference #",
                "SealNo": "Seal #",
                "ShipmentNo": "Shipment #"
            }
        }
    ]
}

Here is invoice response object for parameter reference.

Parameter Type Description
_id string Unique identifier for the object.
status string Current status of invoice
updatedAt date/string Updated timestring of invoice
createdAt date/string Created timestring of invoice
paidAmount int32 Paid amount of invoice
totalAmount int32 Total amount of invoice
remainAmount int32 Remain amount of invoice
billingDate date/string Billing date of invoice
timestamp date/string Timestamp of invoice
paymentReference string Payment reference number of invoice
lineItems array Array of invoice item object
paymentHistory array Array of payment history object
customerDetails object Object of customer details
loadDetails object Object of load details
referenceFields object Object of all reference fields like Container no, Vessel_name and etc

Retrieve All Invoices

200 OK

{
"_object":"/api/response"
"self":"/invoices/"
"version":1
"count":123
"data":[
        {
            "_id": "ABC_1234",
            "total": 1,
            "invoice": [
                {
                    "load_reference_number": "ABC_1234",
                    "reference_number": "ABC_1234",
                    "pricing": [
                        {
                            "amount": "1500.00",
                            "chargePerDay": "1500",
                            "chargePerMinute": 0,
                            "discountAmount": 0,
                            "discountValue": 0,
                            "finalAmount": "50.00",
                            "unit": "0.00",
                            "freeDays": 1,
                            "perType": "perday",
                            "name": "Base Price",
                            "description": "",
                            "units": 1
                        },
                        {
                            "name": "Chassis",
                            "perType": "perhour",
                            "freeDays": 0,
                            "unit": "0.00",
                            "finalAmount": "20.00",
                            "discountValue": 0,
                            "discountAmount": 0,
                            "chargePerMinute": 0,
                            "chargePerDay": 0,
                            "amount": "0.00",
                            "description": "12/01 - 12/01"
                        }
                    ],
                    "status": "BILLING",
                    "paidAmount": 0,
                    "totalAmount": 70,
                    "remainAmount": 70,
                    "billingDate": "2021-12-01T11:28:37.611Z",
                    "caller": {
                        "_id": "123",
                        "currency": "",
                        "company_name": "QCname"
                    },
                    "callerName": "QCname",
                    "referenceFields": {
                        "ContainerNo": "HELL7878700",
                        "PurchaseOrderNo": "Purchase Order #",
                        "ChassisNo": "25369815",
                        "Master_bill_of_lading": "Master Bill of Lading",
                        "PickUpNo": "Pick Up #",
                        "Vessel_name": "Vessel Name",
                        "House_bill_of_lading": "House Bill of Lading",
                        "Voayge": "Voyage",
                        "ReturnNo": "Return #",
                        "Secondary_ReferenceNo": "Reference #",
                        "SealNo": "Seal #",
                        "ShipmentNo": "Shipment #"
                    }
                }
            ]
        }
    ],
    "error":null
}

This endpoint retrieves all Invoices.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/invoices

Query Parameters

Parameter Type Description
skip int32 Skip number of the invoice to retrieve
limit int32 Count of items in each page. Should be between 1 and 100 (inclusive).
invoiceNumbers array Array of invoiceNumber/reference number.
status array Status of the invoice. One of: [BILLING,REBILLING,PARTIAL_PAID,FULL_PAID,APPROVED]
billingFrom date/string Billing from date of invoice for filter.
billingTo date/string Billing to date of invoice for filter.
type_of_load array Type of the load. One of: [IMPORT, EXPORT, ROAD, BILL_ONLY, etc]
isIncludeDeleted boolean Is include deleted invoices
isDeleted boolean For get only deleted invoices
isSubCustomer boolean For sub customer invoices
isShowCombinedInvoices boolean For show combine invoices
sortBy object For get sorted invoices which include key like billingDate

Get a Specific Invoice

200 OK

{
    "_object": "/api/response",
    "self": "/invoices/BBB_M100342",
    "version": "1.0.0",
    "count": 1,
    "data": <Invoice object>,
    "error": null
}

This endpoint retrieves a specific invoice.

Example of invoice object you can find here.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/invoices/<reference_number>

URL Parameters

Parameter Type Description
reference_number string The reference number of load for the invoice to retrieve

Loads

Load Object

Demo Load Response

         {
            "_id": "12345",
            "updatedAt": "2023-02-17T10:10:48.768Z",
            "createdAt": "2023-02-17T10:03:12.162Z",
            "type_of_load": "IMPORT",
            "status": "PENDING",
            "preSetOrderStatus": "",
            "caller": {
                "_id": "12345",
                "companyID": "Demo ID",
                "city": "New York",
                "state": "NY",
                "country": "US",
                "zip_code": "10017",
                "mobile": "",
                "email": "demo@portpro.io",
                "billingEmail": "",
                "extraEmail": "",
                "payment_terms": 10,
                "currency": "",
                "officeHoursStart": null,
                "officeHoursEnd": null,
                "doc_none": false,
                "doc_pod": false,
                "doc_tir": false,
                "doc_all": true,
                "isEmailNeedToSend": true,
                "main_contact_name": "",
                "address": {
                    "zip_code": "10017",
                    "country": "US",
                    "state": "NY",
                    "city": "New York",
                    "address1": "27",
                    "lng": -73.9741415,
                    "lat": 40.75519,
                    "address": "27, New York, NY 10017, USA"
                },
                "company_name": "Demo Customer",
                "receiverEmail": null
            },
            "terminal": {
                "_id": "12345",
                "updatedAt": "2023-02-02T11:08:29.220Z",
                "createdAt": "2023-02-02T11:08:14.017Z",
                "userId": "1234",
                "address": {
                    "state": "NY",
                    "address": "987 4th Ave, Brooklyn, NY 11232, USA",
                    "zip_code": "11232",
                    "_id": "12345",
                    "lat": 40.6525066,
                    "lng": -74.0055414,
                    "country": "US"
                },
                "name": "Test Terminal",
                "isDeleted": false,
                "__v": 0
            },
            "addedBy": {
                "_id": "12345",
                "lastName": null,
                "name": "DEMO"
            },
            "carrier": {
                "_id": "12345",
                "carrier": {
                    "_id": "12345",
                    "MCNumber": 123,
                    "homeTerminalTimezone": "America/Chicago",
                    "weightMeasure": "lbs",
                    "distanceMeasure": "ml",
                    "mobile": 0,
                    "company_name": "Khadga",
                    "defaultAddress": "12345"
                },
                "email": "demo1@portpro.io",
                "defaultAddressId": {
                    "_id": "12345",
                    "updatedAt": "2023-02-14T09:12:25.680Z",
                    "createdAt": "2022-12-15T04:31:07.115Z",
                    "carrier": "639aa30a67347b2263def067",
                    "company_address": "New York, NY, USA",
                    "isDeleted": false,
                    "longitude": null,
                    "latitude": null,
                    "__v": 0
                },
                "lastName": null,
                "name": "ShipOSQA",
                "invoiceLogo": "https://s3.amazonaws.com/shipment_0G5I1B57352.png"
            },
            "reference_number": "ABCD_TES_M789",
            "distance": 1490.8,
            "callerName": "TRUCKING SG CUSTOMER",
            "callerInfo": {
                "zipcode": "10017",
                "country": "US",
                "state": "NY",
                "city": "New York",
                "address": {
                    "lng": -73.9741415,
                    "lat": 40.75519,
                    "address": "27, New York, NY 10017, USA"
                },
                "company_name": "TRUCKING SG CUSTOMER"
            },
            "shipperName": "Demo CUSTOMER",
            "shipperAddress": "111 EAST LOOP N, HOUSTON, TX 77029, USA",
            "shipperInfo": {
                "zipcode": "77029",
                "country": "US",
                "state": "TX",
                "city": "Houston",
                "address": {
                    "lng": -95.272407,
                    "lat": 29.729997,
                    "address": "111 East Loop N, Houston, TX 77029, USA"
                },
                "company_name": "Demo"
            },
            "consigneeName": "DEMO CONSIGNEE",
            "consigneeAddress": "8760 W PATRICK LN, LAS VEGAS, NV 89148, USA",
            "consigneeInfo": {
                "zipcode": "89148",
                "country": "US",
                "state": "NV",
                "city": "Las Vegas",
                "address": {
                    "lng": -115.2828725,
                    "lat": 36.0784436,
                    "address": "8760 W Patrick Ln, Las Vegas, NV 89148, USA"
                },
                "company_name": "DEMO CONSIGNEE"
            },
            "isUserEnteredbrokerHold": true,
            "isUserEnteredcallerbillLandingNo": true,
            "isUserEnteredsealNo": true,
            "isUserEnteredoutgateDate": true,
            "isUserEnteredingateDate": true,
            "isUserEntereddeliveryOrderNo": true,
            "isUserEnteredreleaseNo": true,
            "isUserEnterdischargedDate": true,
            "isUserEnteredcontainerOwner": true,
            "isUserEnteredcontainerType": true,
            "isUserEnteredcontainerSize": true,
            "isUserEnteredvessel": true,
            "isUserEnteredlastFreeDay": true,
            "isUserEnteredcustom": true,
            "isUserEnteredfreight": true,
            "isUserEnteredStatus": true,
            "isDrayosTrackosError": [],
            "qboExportDates": [],
            "qbExportDates": [],
            "ediDateTime": [],
            "isGrayPool": false,
            "assignedCSR": [],
            "isLastFreeDay": false,
            "acceptRejectCode": "Default",
            "isStatusOrderMigrated": false,
            "isEdi": false,
            "isMigrated": true,
            "customerEmployee": [],
            "consignee": [
                {
                    "_id": "12345",
                    "companyID": "demo",
                    "city": "Las Vegas",
                    "state": "NV",
                    "country": "US",
                    "zip_code": "89148",
                    "mobile": "",
                    "email": "tn4yb8naso47e@portpro.io",
                    "officeHoursStart": null,
                    "officeHoursEnd": null,
                    "main_contact_name": "",
                    "address": {
                        "address": "8760 W Patrick Ln, Las Vegas, NV 89148, USA",
                        "lat": 36.0784436,
                        "lng": -115.2828725,
                        "address1": "8760 W Patrick Ln",
                        "city": "Las Vegas",
                        "state": "NV",
                        "country": "US",
                        "zip_code": "89148"
                    },
                    "company_name": "Demo Consignee"
                }
            ],
            "shipper": [
                {
                    "_id": "12345",
                    "companyID": "DEMO!1359",
                    "city": "Houston",
                    "state": "TX",
                    "country": "US",
                    "zip_code": "77029",
                    "mobile": "",
                    "email": "zyrtwfrhf8iwu@portpro.io",
                    "officeHoursStart": null,
                    "officeHoursEnd": null,
                    "isTIROptional": false,
                    "main_contact_name": "",
                    "address": {
                        "address": "111 East Loop N, Houston, TX 77029, USA",
                        "lat": 29.729997,
                        "lng": -95.272407,
                        "address1": "111 East Loop N",
                        "city": "Houston",
                        "state": "TX",
                        "country": "US",
                        "zip_code": "77029"
                    },
                    "company_name": "DEMO"
                }
            ],
            "invoiceAutoEmailAudit": [],
            "invoiceAutoEmailDate": [],
            "carrierHold": false,
            "brokerHold": false,
            "overWeight": false,
            "isConfirm": false,
            "remainAmount": 0,
            "totalAmount": 0,
            "paidAmount": 0,
            "totalWeight": 5,
            "isLoadDropAtPull": false,
            "isLoadDropAtYard": false,
            "isHot": false,
            "isReadyForPickup": false,
            "isloadStartable": false,
            "radio": 0,
            "isNextContainerNeedToPickup": false,
            "isPrePullCharge": false,
            "isLive": false,
            "isPaymentCompleted": false,
            "documents": [],
            "statusOrder": [],
            "expenseHistory": [],
            "paymentHistory": [],
            "statusHistory": [],
            "isDeleted": false,
            "items": [
                {
                    "_id": "12345",
                    "palletsUnits": "",
                    "pallets": 4,
                    "weightUnitType": "",
                    "weightKgs": 0.91,
                    "weight": 2,
                    "units": null,
                    "pieces": 1,
                    "description": "this is test",
                    "commodity": "com"
                },
                {
                    "_id": "12345",
                    "pallets": 6,
                    "weightKgs": 1.36,
                    "weight": 3,
                    "pieces": 4,
                    "description": "",
                    "commodity": "temp com"
                }
            ],
            "billing": [],
            "expense": [],
            "chargeConflicts": [],
            "pricing": [],
            "deliveryTimes": [
                {
                    "customerId": "11",
                    "_id": "22"
                }
            ],
            "pickupTimes": [
                {
                    "customerId": "33",
                    "_id": "44"
                }
            ],
            "hot": false,
            "hazmat": false,
            "__v": 0,
            "totalMiles": 1490.8,
            "routingOrder": [
                {
                    "isVoidOut": false,
                    "distance": 0,
                    "address": {
                        "lng": -95.272407,
                        "lat": 29.729997,
                        "address": "111 East Loop N, Houston, TX 77029, USA"
                    },
                    "isBobtail": false,
                    "isGrayPool": false,
                    "priority": 0,
                    "_id": "1234",
                    "company_name": "DEMO CUSTOMER !",
                    "zip_code": "77029",
                    "country": "US",
                    "state": "TX",
                    "city": "Houston",
                    "customerId": {
                        "_id": "1234",
                        "city": "Houston",
                        "state": "TX",
                        "country": "US",
                        "zip_code": "77029",
                        "isTIROptional": false,
                        "geofence": {
                            "zoom": 10.91,
                            "polygon": [],
                            "center": [
                                -74.0029393,
                                40.717718
                            ]
                        },
                        "address": {
                            "address": "111 East Loop N, Houston, TX 77029, USA",
                            "lat": 29.729997,
                            "lng": -95.272407,
                            "address1": "111 East Loop N",
                            "city": "Houston",
                            "state": "TX",
                            "country": "US",
                            "zip_code": "77029"
                        },
                        "company_name": "DEMO Customer !"
                    },
                    "type": "PULLCONTAINER"
                },
                {
                    "isVoidOut": false,
                    "distance": 1490.8,
                    "address": {
                        "lng": -115.2828725,
                        "lat": 36.0784436,
                        "address": "8760 W Patrick Ln, Las Vegas, NV 89148, USA"
                    },
                    "isBobtail": false,
                    "isGrayPool": false,
                    "priority": 0,
                    "_id": "12345",
                    "company_name": "DEMO CONSIGNEE",
                    "zip_code": "89148",
                    "country": "US",
                    "state": "NV",
                    "city": "Las Vegas",
                    "customerId": {
                        "_id": "12345",
                        "city": "Las Vegas",
                        "state": "NV",
                        "country": "US",
                        "zip_code": "89148",
                        "isTIROptional": false,
                        "geofence": {
                            "zoom": 10.91,
                            "polygon": [],
                            "center": [
                                -74.0029393,
                                40.717718
                            ]
                        },
                        "address": {
                            "address": "8760 W Patrick Ln, Las Vegas, NV 89148, USA",
                            "lat": 36.0784436,
                            "lng": -115.2828725,
                            "address1": "8760 W Patrick Ln",
                            "city": "Las Vegas",
                            "state": "NV",
                            "country": "US",
                            "zip_code": "89148"
                        },
                        "company_name": "DEMO Consignee"
                    },
                    "type": "DELIVERLOAD"
                },
                {
                    "isVoidOut": false,
                    "distance": 0,
                    "isBobtail": false,
                    "isGrayPool": false,
                    "priority": 0,
                    "_id": "12345",
                    "type": "RETURNCONTAINER"
                }
            ],
            "allowCarrierCompletion": false,
            "assignedCSR": [
                {
                    "_id": "1234",
                    "isDeleted": false,
                    "isBlocked": false,
                    "lastName": "Alex",
                    "name": "new"
                }
            ],
            "milestoneStatus": "deliveredToUnloadDate"
        }

Here is load response object for parameter reference.

Parameter Type Description
_id string Unique identifier for the object.
type_of_load string Type of the load. One of: [IMPORT, EXPORT, ROAD, BILL_ONLY]
preSetOrderStatus string Type of the order status. One of: [ PULL_DROP_DELIVER_DROP_RETURN, PULL_DROP_DELIVER_RETURN, PULL_DELIVER_DROP_RETURN, “”(Empty String) etc ]
status string Current status of load
updatedAt date/string Updated timestring of load
createdAt date/string Created timestring of load
caller object Caller object which you can refer in embedded objects
addedBy object Object of created bt with key of _id, lastName and name
carrier object Carrier object which you can refer in embedded objects
reference_number string Reference number of load
distance int32 Distance of load
pricing array Pricing array of load
items array Array of items of freight description.
callerName string Caller name of load
shipperName string Shipper name of load
shipperAddress string Shipper address of load
shipperInfo object Shipper object which include shipper basic details
consigneeName string Consignee name of load
consigneeAddress string Consignee address address of load
consigneeInfo object Consignee object which include consignee basic details
weight int32 Weight of load
expense array Array of expenses for load
acceptRejectCode string Accept or Reject code for load
isStatusOrderMigrated boolean Status order is migrated or not
isEdi boolean Is Edi or not
allowCarrierCompletion boolean Allow carrier for completion or not
isMigrated boolean Is migrated or not
customerEmployee array Array of customer employee
carrierHold boolean Is Carrier hold or not
brokerHold boolean Is broker or not
overWeight boolean Is over weight or not
isConfirm boolean Is confirm or not
isLoadDropAtPull boolean Is load drop at pull or not
isLoadDropAtYard boolean Is load drop at yard or not
isHot boolean Is hot or not
isReadyForPickup boolean Is ready for pickup or not
isloadStartable boolean Is startable or not
isNextContainerNeedToPickup boolean Is next container need to pickup or not
isPrePullCharge boolean Is prepull or not
isReUse boolean Is reuse or not
isLive boolean Is live load or not
isPaymentCompleted boolean Is payment completed or not
isDeleted boolean Is deleted load or not
hazmat boolean Is hazat or not
remainAmount int32 Remaining amount of load
totalAmount int32 Total amount of load
paidAmount int32 Paid amount of load
totalWeight int32 Total weight of load
radio int32 Radio of load
documents array Array of documents of load
routingOrder array Array of routing order object which you can refer im embedded objects
statusOrder array Array of Status order object
expenseHistory array Array of expense history object
paymentHistory array Array of payment history object
statusHistory array Array of status history object
additionalPricing array Array of additional pricing
deliveryTimes array Array of delivery times object which includes customerId, _id, deliveryFromTime, deliveryToTime and etc
pickupTimes array Array of pickup times object which includes customerId, _id, pickupToTime, pickupFromTime and etc
vessel object Vessel which include eta
custom string Custom holds
freight string Freight holds
returnNo string Return no of load
shipmentNo string Shipment no of load
purchaseOrderNo string Purchase order no of load
containerNo string Container no of load
carrierName string Carrier name of load
nextRoutingOrderId object Next routing order object
lastUpdatedStatusAt string Last status update datetime

CREATE Load

200 OK

{
    "_object": "/api/response",
    "self": "/loads/",
    "version": "1.0.0",
    "data": <load Object>,
    "error":null
}

This endpoint create new load.

Example of load object you can find here.

HTTP Request

POST https://api1.brokerage.portpro.io/v1/loads

Request Body

Parameter Type Description
type_of_load* string Types of the load. One of: [IMPORT, EXPORT, ROAD, BILL_ONLY]
preSetOrderStatus* string Types of routing order. One of: [ PULL_DROP_DELIVER_DROP_RETURN, PULL_DROP_DELIVER_RETURN, PULL_DELIVER_DROP_RETURN and (Empty String) etc ]
caller* string Customer id
shipper* array Array of port id
consignee* array Array of consignee id
terminal string Id of terminal under which the load is created
temperature string Temperature of a load
deliveryOrderNo string Delivery order number
callerbillLandingNo string Delivery time
secondaryReferenceNo string Secondary reference number
doNo string House Bill of Lading number
bookingNo string Booking number
sealNo string Seal number
purchaseOrderNo string Purchase order number
shipmentNo string Shipment number
containerNo string Container number
containerSize string Container size
containerType string Container type
containerOwner string Container owner
items array Array of items of freight description.
pricing array Pricing array
instructionNote string Load instructions to be passed to the carrier.
scac string Receiver SCAC name
cutOff string Cut off date for export loads
containerAvailableDay string ERD date for export loads
lastFreeDay string Last free day date for import loads
dischargedDate string Discharged date for import loads
liquor boolean If load contains liquor, Accepts true/false for all types of load except roadl only loads
releaseNo string Voyage for all load type but for road only load it's Order
callerPONo string Pick up number
appointmentNo string Appointment number for all load type except road only load
returnNo string Return number for all load type except road only load
reservationNo string Reservation number for all load type except road only load
shipperDetails array Array of shipper details which includes company_name*, main_contact_name, ,address*, address1*, city*, state, country*, zip_code*.
consigneeDetails array Array of consignee details which includes company_name*, main_contact_name, address*, address1*, city*, state, country*, zip_code*.
emptyOriginDetails object Object of emptyOrigin details which includes company_name*, main_contact_name, ,address*, address1*, city*, state, country*, zip_code*.
emptyOrigin string Id of container return location.
secondaryReferenceNo string Reference # of load
carrierHold boolean Is carrier hold on load or not
brokerHold boolean Is broker hold on load
deliveryTimes array Delivery time pf load, its object of array and in object customerId,deliveryFromTime, deliveryToTime etc
pickupTimes array Array of object pickupFromTime(UTC String), pickupToTime(UTC String) and customerId.
returnFromTime datetime Containter return from datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
returnToTime datetime Containter return to datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
freight string Order is on Freight hold or not. value should be HOLD or RELEASED
custom string Order is on Custom hold or not. value should be HOLD or RELEASED
outgateDate datetime Outgate Date datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
emptyDay datetime Empty Day datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
freeReturnDate datetime Return day datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
ingateDate datetime Ingate Date datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
loadTime string LoadTime of load
return datetime Return Date datetime(UTC). e.g. 2015-02-06T08:40:47.772Z
genset string Genset of load
routeType string Route type of load. value should be Local or Highway
bookingNo string Booking no of load
trailer string Trailer No
trailerType string Trailer Type
trailerSize string Trailer Size
grayContainerNo string GrayContainerNo of load
grayContainerSize string GrayContainerSize or GrayContainerSize ID of load
grayContainerType string GrayContainerType or GrayContainerType ID of load
grayContainerOwner string GrayContainerOwner or GrayContainerOwner ID of load
hazmat boolean Hazmat
hot boolean Hot
overWeight boolean overWeight
overHeight boolean overHeight
isGenset boolean Genset

UPDATE Load

200 OK

{
    "_object": "/api/response",
    "self": "/loads/",
    "version": "1.0.0",
    "data": <Load Object>,
    "error":null
}

This endpoint update a load.

Example of load object you can find here.

HTTP Request

PUT https://api1.brokerage.portpro.io/v1/loads

Query Parameters

Parameter Type Description
reference_number* string The reference_number of the load to update

Request Parameters

Parameter Type Description
caller string Customer id of a load
consignee array Array of consignee id of load
shipper array Array of port id of a load
pickupTimes array Array of object containing customerId, pickupFromTime and pickupToTime as key for port pick up from and to date
deliveryTimes array Array of object containing customerId, deliveryFromTime and deliveryToTime as key for consignee Delivery from and to date
returnFromTime date/string Container Return from date
returnToTime date/string Container Return to date
hazmat boolean Is load Hazmat
hot boolean Is load hot
carrierHold boolean Is carrier hold on load
brokerHold boolean Is broker hold on load
overWeight boolean Is load over weight
custom string One of: ["HOLD", "RELEASED"]
freight string One of: ["HOLD", "RELEASED"]
returnNo string Return number
temperature string Temperature of a load
liquor boolean Does load contains liquor
routeType string Route type of a load
scac string SCAC of equipment
isHot boolean Is load hot
emptyOrigin string Container return origin customer id
emptyDay date/string Empty Date
freeReturnDate date/string Return Day date
lastFreeDay date/string Last Free DAY date
dischargedDate string Discharged date for import loads
vessel date/string Vessel ETA date
outgateDate date/string Outgate date
ingateDate date/string Ingate date
bookingNo string Booking number
callerPONo string Pick up number
callerbillLandingNo string Master Bill of Lading number
deliveryOrderNo string Vessel number
doNo string House Bill of Lading number
purchaseOrderNo string Purchase order number
releaseNo string Release number
sealNo string Seal number
shipmentNo string Shipment number
secondaryReferenceNo string Secondary reference number
containerAvailableDay date/string ERD date for export loads
cutOff string Cut Off date
return string Return date
instructionNote string Load instructions to be passed to the carrier.
pickupFromTime date/string Pickup from time
pickupToTime date/string Pickup to time
deliveryFromTime date/string Delivery trom time
deliveryToTime date/string Delivery to time
pickupNo string Pickup Number
sealBookingNo string Seal booking number
shipperBookingNo string Shipper booking number
callerBookingNo string Customer booking number
terminal string Terminal id
containerNo string Container number
containerSize string Container size id
containerType string Container type id
containerOwner string Container owner id
genset string Genset number
items array Array of items of freight description.
loadAssignedDate date Load assign date
approvedDate string Approved date
appointmentNo string Appointment number
reservationNo string Reservation number
grayContainerNo string Container number
grayContainerSize string Container size id
grayContainerType string Container type id
grayContainerOwner string Container owner id

Upload Load Document

The above command returns JSON structured like this:

{
    "_object": "/api/response",
    "self": "/document/",
    "version": "1.0.0",
    "data": {
        "documentType": "Bill of Lading",
        "url": "https://demo-logistics.s3.amazonaws.com/documents/shipment_AA1LGj20125.png"
    },
    "error":null
}

This endpoint upload a document for main and sub-customer load.

HTTP Request

POST https://api1.brokerage.portpro.io/v1/loads/document

Request Parameters

Parameter Type Description
reference_number* string The reference_number of the load to update
documentType* string Load document type, One of: ["Bill of Lading","Quote","Proof of Delivery","Delivery Order","TIR - XLS","Rate Confirmation","TIR IN","TIR OUT","TIR Chassis","Packing Slip","Email", "Dock Receipt", "Scale Ticket", "635 Ingate Receipt", "635 Outgate Receipt", "Tolls", "Other", "CONTAINER / CHASSIS- IN - PICTURE", "CONTAINER / CHASSIS -OUT- PICTURE", "GENSET PICTURE IN - PICTURE OUT", "VOID OUT TICKET", "REVISED 1", "REVISED 2", "REVISED 3", "DEMURRAGE (RECEIPT)", "PIER PASS (RECEIPT)", "TEMPERATURE UNIT", "DAMAGED CARGO-BOX", "Haz Mat", "Lumper Receipt", "Invoice", "Rate Con", "Detention PICs", "Seal Import", "Seal Export", "Seal Improper", "Debris Pics", "Per Diem", "Booking Confirmation"]
file* file Load Document.
customerId string Customer unique customer id. Use this parameter while uploading document for Sub-Customer only.

Change Load Status

The above command returns JSON structured like this:

{
    "_object": "/api/response",
    "self": "/load-status/",
    "version": "1.0.0",
    "data": <Load Object>,
    "error":null
}

This endpoint update a load status.

Example of load object you can find here.

HTTP Request

PUT https://api1.brokerage.portpro.io/v1/load-status/

Request Parameters

Parameter Type Description
reference_number* string The reference_number of the load to update
routingOrderId string Carrier order id
arrivedOrDeparted string any one of this two: [arrived, departed]
date date Date of load
completeLoad boolean Is load completed or not
strictChange boolean Strict change or not
status string any one of this status: [PENDING, AVAILABLE, etc]
chassisNo string Chassis no of chassis
containerNo string Container no of container
notes string notes for load
timeOfStatus date date of status time changed
isPrePullCharge boolean Is prepull charge need to add
billingDate string Billing date of load
isCombined boolean True if invoice needs to be combined for same customer
loads array Array of loads with same customers
isSubCustomer boolean True if combining loads invoices for subcustomer additionalPricing
additionalIds array Array of additionalIds to be combined

Retrieve All Loads

200 OK

{
    "_object": "/api/response",
    "self": "/loads/",
    "version": "1.0.0",
    "data":[
        <Load Object>, <Load Object>
    ],
    "error":null
}

This endpoint retrieve all load.

Example of load object you can find here.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/loads

Query Parameters

Parameter Type Description
status Array[string] statuses of load
reference_numbers Array[string] Array of load reference_number
chassis_numbers Array[string] Array of load chassis_number
locations Array[string] locations of load
type_of_load Array[string] Type of load
pickupFrom date Pickup from date
pickUpTo date Pickup to date
deliveryFrom date Delivery from date
deliveryTo date Delivery to date
limit int32 Limit on load count page
skip int32 Skip load count
searchTerm string Load search string
isCsv boolean Is csv load or not
containerNo string Container no of container
chassisNo string Chassic no of chassis
caller Array[string] Array of caller id
shipper Array[string] Array of shipper id
consignee Array[string] Array of consignee id
emptyOrigin Array[string] Array of origin id
carriers Array[string] Array of carrier id
lastFreeDay date Last free date
statusType string Status type of load
TIMEZONE string Timezone of load
subCustomer Array[string] Array of customer id
isDeleted boolean Deleted load or not
sortBy string Sorting type [ asc, desc]
billingFrom date Billing from date of load
billingTo date Billing to date of load
isEmailSent boolean Is email sent or not of load
terminal string Id of terminal
isAllSubCustomer boolean Is all sub customer or not
isReadyForPickup boolean Is ready for pickup or not
assigned boolean Load is assigned or not
carrierId string CarrierId of load
fleetCustomerId string FleetCustomerId of Customer
isIncludeDeleted boolean Is include load deleted or not
nextOrPrev string Next or prev load
containerOwner Array[string] Array of container owner id
containerType Array[string] Array of container type
addedBy Array[string] Array of user id
containerSize Array[string] Array of container size
chassisPick Array[string] Array of chassis pick
chassisTermination Array[string] Array of chassis terminal
chassisType Array[string] Array of chassis type
chassisSize Array[string] Array of chassis size
chassisOwner Array[string] Array of chassis owner id
caution boolean Is caution or not
isLFDCard boolean Is lfd card or not
isReturnCard boolean Is return card or not
isDroppedCard boolean Is dropped card or not
isCompletedCard boolean Is completed card or not
is_PICKUP_TOTAL_Card boolean Is pickup total card or not
is_PICKUP_LFD_Card boolean Is pickup lfd card or not
is_PICKUP_Card boolean Is pickup card or not
is_PICKUP_PREPULL_Card boolean Is pickup prepull card or not
is_PICKUP_DELIVERY_Card boolean Is pickup delivery card or not
is_DELIVERYAPPT_LFD_Card boolean Is deliveryappt lfd card or not
is_DELIVERYAPPT_PENDING_Card boolean Is deliveryappt pending card or not
is_DELIVERYAPPT_AVAILABLE_Card boolean Is deliveryappt available card or not
is_DELIVERYAPPT_READY_Card boolean Is deliveryappt ready card or not
is_DELIVERYAPPT_DROPPED_Card boolean Is deliveryappt dropped card or not
is_RETURN_LFD_Card boolean Is return lfd card or not
is_RETURN_Card boolean Is return card or not
is_RETURN_READY_FOR_PICKUP_Card boolean Is return ready for pickup card or not
is_RETURN_NOT_READY_FOR_PICKUP_Card boolean Is return not ready for pickup card or not
is_APPLIED_PICKUP_COUNT_Card boolean Is applied pickup count card or not
is_LFD_COUNT_Card boolean Is lfd count card or not
is_PICKUP_APPT_COUNT_Card boolean Is pickup appt count card or not
is_DELIVERY_COUNT_Card boolean Is delivery count card or not
is_IN_PORT_DELIVERY_COUNT_Card boolean Is in port delivery count card or not
is_IN_YARD_DELIVERY_COUNT_Card boolean Is in yad delivery count card or not
is_RETURNS_COUNT_Card boolean Is return count card or not
is_READY_FOR_PICKUP_COUNT_Card boolean Is ready for pickup card or not
is_NOT_READY_FOR_PICKUP_COUNT_Card boolean Is not ready for pickup card or not
is_DROPPED_COUNT_Card boolean Is dropped count card or not
is_IN_YARD_DROPPED_COUNT_Card boolean Is in yard dropped count card or not
is_AT_CUSTOMER_DROPPED_COUNT_Card boolean Is at customer dropped count card or not
is_CONTAINERS_ON_VESSEL_COUNT_Card boolean Is containers on vessel count card or not
is_CONTAINERS_ON_HOLD_Card boolean Is containers on hold card or not
is_CONTAINERS_RELEASED_Card boolean Is containers released card or not
subFilter string sub filter of load
hazmat boolean Is hazmat or not
routeType string Route type of load
overWeight boolean Is over weight or not
officeNote boolean Is office not or not
temperature boolean Is temperature or not
isHot boolean Is hot or not
isContainerExists boolean Is container exists or not
droppedCustomerId string Dropped customer id
locationId string Location id of load
isSubCard boolean Is sub card or not
createdFromDate date Load created from date
createdToDate date Load created to date
updatedFrom date Load updated from date
updatedTo date Load updated to date
isCustomerPortal boolean Is customer portal or not
assignedCSR array Id of assigned CSR

Retrieve Load By ID

200 OK

{
    "_object": "/api/response",
    "self": "/loads/",
    "version": "1.0.0",
    "data": <Load Object>,
    "error":null
}

This endpoint retrieve a load detail.

Example of load object you can find here.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/loads/<reference_number>

Request Parameters

Parameter Type Description
reference_number* string The reference_number of the load

DELETE Load

200 OK

{
    "_object": "/api/response",
    "self": "/loads/",
    "version": "1.0.0",
    "data": <Load Object>,
    "error":null
}

This endpoint delete a load.

Example of load object you can find here.

HTTP Request

DELETE https://api1.brokerage.portpro.io/v1/loads/<id>

Request Parameters

Parameter Type Description
id* string ID of a load

GET Document Type of Load

200 OK

{
    "_object": "/api/response",
    "self": "/load-document-type",
    "version": "1.0.0",
    "data": [
        "Bill of Lading",
        "Quote",
        "Proof of Delivery",
        "Delivery Order",
        "TIR",
        "Rate Confirmation",
        "TIR IN",
        "TIR OUT",
        "TIR Chassis",
        "Packing Slip",
        "Email",
        "Dock Receipt",
        "Scale Ticket",
        "635 Ingate Receipt",
        "635 Outgate Receipt",
        "Tolls",
        "Other",
        "CONTAINER / CHASSIS- IN - PICTURE",
        "CONTAINER / CHASSIS -OUT- PICTURE",
        "GENSET PICTURE IN - PICTURE OUT",
        "VOID OUT TICKET",
        "REVISED 1",
        "REVISED 2",
        "REVISED 3",
        "DEMURRAGE (RECEIPT)",
        "PIER PASS (RECEIPT)",
        "TEMPERATURE UNIT",
        "DAMAGED CARGO-BOX",
        "Haz Mat",
        "Lumper Receipt",
        "Invoice",
        "Rate Con",
        "Detention PICs",
        "Seal Import",
        "Seal Export",
        "Seal Improper",
        "Debris Pics"
    ],
    "error": null
}

This endpoint retrieve document types of load.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/load-document-type

GET Documents of Load

200 OK

{
    "_object": "/api/response",
    "self": "/load-document",
    "version": "1.0.0",
    "data": [
        {
            "type": "Bill of Lading",
            "url": "https://s3-us-west-2.amazonaws.com/example/scanner/16402116450809_7760241.pdf"
        }
    ],
    "error": null
}

This endpoint retrieve documents of load.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/load-document/

Query Parameters

Parameter Type Description
reference_number* string Reference_number of a load
doc_type* string Document type which you want to retrieve of a load

Webhooks

Webhook Endpoints

Webhook endpoints can be created in your account's Settings section. They allow you to be notified of changes on your PortPro data and events for your shipments.

Setting a Secret Token

To authorize, use this method:

{
  "Content-Type" : "application/json",
  "X-Hub-Signature": "sha1=<Your TOKEN>"
}

Make sure to replace <Your TOKEN> with your Access Token.

In order to verify that only requests coming from PortPro are allowed into your system, we require you to set a secret token for each of your endpoints. PortPro sends an X-Hub-Signature header with the value set as demonstrated on the right with each message. By verifying this header matches your expectations, we can ensure that only people with the secret token can send data to your endpoint.

X-Hub-Signature": sha=<Your TOKEN KEY>

Payloads

The payload for a webhook is an Event object.

PortPro uses secret hash signature. This hash signature is passed along with each request in the headers as X-Hub-Signature. To validate the payload:

  1. Generate a signature using the PortPro Developer Portal.
  2. Compare your signature to the signature in the X-Hub-Signature header string. If they match, then the payload is genuine.

Response

PortPro expects to receive an HTTP 200 response code from your endpoint. We will continue trying to deliver the message a number of times if we don’t receive one. To prevent time outs, it is wise to configure your endpoints to send a 200 and then do any long running processing on the data.

Events

{
            "data": {
                "changedValues": {Object of changed values},
                "_id": {Database id},
                "eventType": {Webhook Event Type},
                "reference_number": {Reference Number of Load}
            },
}

Milestone Event:

{
    "data": {
        "eventType": "load#milestone",
        "reference_number": "test",
        "timestamp": "2023-02-27T10:37:57.601Z",
        "changedValues": {
            "eventTime" : "2023-02-27T10:37:57.601Z",
            "event": "outgated"
        }
    }
}

This page describes the different event types which will trigger a Event object to be sent to your registered Webhook Endpoints.

Load Info Events

For all Load Events, the data field of the Event webook payload is a load event data object.

Name Type Description
Load Info Update load#info_updated Triggered when load info fields are updated.
Load Dates Update load#dates_updated Triggered when load dates fields are updated.
Load Equipment Update load#equipment_updated Triggered when load equipment fields are updated.
Load Reference Numbers Update load#reference_updated Triggered when load reference numbers fields are changed.
Load Freight Description Update load#reference_updated Triggered when load freight description fields are changed.
Load Hold Update load#hold_updated Triggered when load holds fields are changed.
Load En-Route load#routing_update Triggered when load routings are updated.
Load Milestones load#milestone Triggered when milestone dates are updated.

Dispatcher Events

For all Load Status Events, the data field of the Event webook payload is a load status event data object.

We're managing below status for now.

Name Type Description
Load Status Update load#status_updated Triggered when load status is changed.

Demo response Object
{
        "data": {
            "eventType": "load#status_updated",
            "reference_number": "test",
            "_id": "123",
            "changedValues": {
                "time" : "2023-02-27T10:37:57.601Z",
                "status": "Enroute to Hook Container"
            }
        }
}

Load Status Details

You will receive load status change event for below statuses.

Import Load Status

Name Description
Pending The Load is Pending.
Available The Load is Available.
Dispatched The Load is Dispatched.
Enroute to Chassis Enroute to pick up the Chassis.
Arrived to Chassis Arrived at pick up the Chassis.
Enroute to Pick Container Enroute to Pick up the Container.
Arrived at Pick Container Arrived at pick up the Container.
Enroute to Drop Container Enroute to Drop the Container.
Dropped The container is Dropped.
Dropped-Loaded Dropped container is loaded.
Dropped-Empty Dropped container is empty.
Enroute to Hook Container Enroute to Hook the Container.
Arrived to Hook Container Arrived at Hook the Container.
Enroute to Deliver Load Enroute to Deliver the Load.
Arrived at Deliver Load Arrived at Deliver Load.
Enroute to Return Empty Enroute to Return the Empty Container.
Arrived at Return Empty Arrived at Return the Empty Container.
Enroute to Return Chassis Enroute to Return the Chassis.
Arrived to Return Chassis Arrived at Return the Chassis.
Completed The load is Completed.
Billing The load is in Billing Status.

Export Load Status

Name Description
Enroute to Chassis Enroute to pick up the Chassis.
Arrived to Chassis Arrived at pick up the Chassis.
Enroute to Pick Container Enroute to Pick up the Container.
Arrived at Pick Container Arrived at pick up the Container.
Enroute to Drop Container Enroute to Drop the Container.
Dropped The container is Dropped.
Dropped-Loaded Dropped container is loaded.
Dropped-Empty Dropped container is empty.
Enroute to Hook Container Enroute to Hook the Container.
Arrived to Hook Container Arrived at Hook the Container.
Enroute to Deliver Load Enroute to Deliver the Load.
Arrived at Deliver Load Arrived at Deliver Load.
Enroute to Return Empty Enroute to Return the Empty Container.
Arrived at Return Empty Arrived at Return the Empty Container.
Enroute to Return Chassis Enroute to Return the Chassis.
Arrived to Return Chassis Arrived at Return the Chassis.
Completed The load is Completed.
Billing The load is in Billing Status.

Road Load Status

Name Description
Enroute to Pick Container Enroute to Pick up the Container.
Arrived at Pick Container Arrived at pick up the Container.
Enroute to Drop Container Enroute to Drop the Container.
Dropped The container is Dropped.
Dropped-Loaded Dropped container is loaded.
Dropped-Empty Dropped container is empty.
Enroute to Hook Container Enroute to Hook the Container.
Arrived to Hook Container Arrived at Hook the Container.
Enroute to Deliver Load Enroute to Deliver the Load.
Arrived at Deliver Load Arrived at Deliver Load.
Completed The load is Completed.
Billing The load is in Billing Status.

Demo Response Object for Tender Status

{
        "data": {
            "eventType": "tendor#status_changed",
            "reference_number": "ABCD00001",
            "tenderReferenceNumber": "TABC0236",
            "carrierLoadReferenceNumber": "ABCD6589",
            "changedValues": {
                "status": "ACCEPTED"
            }
        }  
}

Demo Response Object for Port Pickup

{
        "data": {
            "_id": "507f191e810c19729de860ea",
            "eventType": "appointments#port_pickup",
            "reference_number": "ABCD00001",
            "changedValues": {
                "pickupTimes": [
                    {
                        "customerId": {
                            "_id": "507f191e810c19729de860er",
                            "company_name": "XYZ Info tech",
                            "address": { "company_name": "xyz", "address": {} }
                        },
                        "pickupFromTime":"2023-02-08T10:15:00.000Z",
                        "pickupToTime":"2023-02-08T10:15:00.000Z"
                    }
                ]
            }
        }

}

Demo Response Object for Consignee

{
        "data": {
            "_id": "507f191e810c19729de860ea",
            "eventType": "appointments#consignee",
            "reference_number": "ABCD00001",
            "changedValues": {
                "deliveryTimes": [
                    {
                        "customerId": {
                            "_id": "507f191e810c19729de860er",
                            "company_name": "XYZ Info tech",
                            "address": { "company_name": "xyz", "address": {} }
                        },
                        "deliveryFromTime":"2023-02-08T10:15:00.000Z",
                        "deliveryToTime":"2023-02-08T10:15:00.000Z"
                    }
                ]
            }
        }
}

Demo Response Object for Port Return

{
        "data": {
            "_id": "507f191e810c19729de860ea",
            "eventType": "appointments#port_return",
            "reference_number": "ABCD00001",
            "changedValues": {
                "emptyOrigin": {
                    "_id": "507f191e810c19729de860er",
                    "company_name": "XYZ Info tech",
                    "address": { "company_name": "xyz", "address": {} }
                },
                "returnFromTime": "2023-02-16T11:45:00.000Z",
                "returnToTime": "2023-02-16T11:45:00.000Z",
            }
        }
}

Demo Response Object for Document Add

{
        "data": {
            "changedValues": {
                "type": "Proof of Delivery", // type will be change based on event.
                "url": "www.aws.com/development/tms/shipment_WnyZ3495.pdf"
            },
            "_id": "1234",
            "reference_number": "ABCD0_M1247",
            "eventType": "document#pod_added" // event will be change based on document type.
        }
}

Tender Events

For tenders Accept or Reject, the data field of the Event webook payload is a tender event object.

Name Type Description
Tender Status appointments#port_pickup Triggered when port pickup's location or time is updated.

Appointment Events

For Load's appointment events, the data field of the Event webook payload is a load appointment event data object.

Name Type Description
Port Pickup appointments#port_pickup Triggered when port pickup's location or time is updated.
Consignee appointments#consignee Triggered when when consignee's location or time is updated.
Port Return appointments#port_return Triggered when port retun's location or time is updated.

Invoice Events

For Invoice Events, the data field of the Event webook payload is a invoice event data object.

Name Type Description
Invoice Create invoice#created Triggered when invoice created for load.
Billing Charges updated invoice#charges_updated Triggered when billing charges updated for load.
Additional Chargeset Added (formerly Sub Bill Added) invoice#sub_bill_added Triggered when additional chargesets are added on a load.
Additional Chargeset Charges Updated (formerly Sub Bill Charges Updated) invoice#sub_bill_charges_updated Triggered when the charges are updated on additional chargesets of a load.

Document Events

For all Document Events, the data field of the Event webook payload is a document Event Data object.

Name Type Description
POD Added document#pod_added Triggered when a Proof Of Delivery document is uploaded in load.
TIR IN Added document#tir_in_added Triggered when a TIR IN document is uploaded in load.
TIR OUT Added document#tir_out_added Triggered when a TIR OUT document is uploaded in load.
Delivery Order Added document#delivery_order_added Triggered when a Delivery Order document is uploaded in load.
Invoice Added document#invoice_added Triggered when an Invoice document is uploaded in load.
Bill of Lading Added document#bo_added Triggered when a Bill Of Lading document is uploaded in load.
Rate Con Added document#rate_cron_added Triggered when a Rate Con document is uploaded in load.

List all webhook events

200 OK

{
    "_object": "/api/response",
    "self": "/events/",
    "version": "1.0.0",
    "data": [<Event objects>, <Event objects>],
    "error":null
}

Returns a list of all events delivered to any webhook registered by this client

Example of event object you can find here.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/webhook/

Query Parameters

Parameter Type Description
type array Filter by one of the type of the event, ["load", "invoice", "document"]
occurred_from date/string Filter by events which occurred on or after this datetime
occurred_to date/string Filter by events which occurred on or before this datetime

Retrieve a single webhook event

200 OK

{
    "_object": "/api/response",
    "self": "/events/",
    "version": "1.0.0",
    "data": <Event objects>,
    "error":null
}

Returns a event delivered to any webhook registered by this client

Example of event object you can find here.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/webhook/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the event object to be retrieved

Customers

Customer Object


Demo Customer object

{
            "_id": "1234",
            "updatedAt": "2022-04-26T08:35:36.568Z",
            "createdAt": "2020-03-30T16:39:23.867Z",
            "companyID": "APMConsi3316",
            "city": "Jersey City",
            "state": "NJ",
            "country": "US",
            "zip_code": "07302",
            "mobile": "",
            "email": "apm1@gmail.com",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 0,
            "payment_terms": 0,
            "carrier": "1234",
            "qbEmail": "",
            "__v": 1,
            "balance": 0,
            "customerTags": [
                "consignee"
            ],
            "mcNumber": null,
            "notificationEmails": "",
            "portPassword": "",
            "portUsername": "",
            "receiverEmail": null,
            "currency": "",
            "officeHoursEnd": null,
            "officeHoursStart": null,
            "secondaryPhoneNo": "",
            "address1": "450 Grand St",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": false,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [],
            "employeeEmails": [],
            "emailStatuses": [],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": false,
            "usageCount": 307,
            "geofence": {
                "zoom": 10.91,
                "polygon": [
                    [
                        [
                            -74.08017377242187,
                            40.73149112366252
                        ],
                        [
                            -74.03413053714236,
                            40.73398325199352
                        ],
                        [
                            -74.03120715712467,
                            40.70517963204705
                        ],
                        [
                            -74.07688496990146,
                            40.702686425153814
                        ],
                        [
                            -74.0922327149948,
                            40.715705476638874
                        ],
                        [
                            -74.08017377242187,
                            40.73149112366252
                        ]
                    ]
                ],
                "center": [
                    "-74.0545",
                    "40.7174"
                ]
            },
            "customerType": [
                "consignee"
            ],
            "isEmailNeedToSend": true,
            "documents": [],
            "newTerminal": [],
            "isDeleted": true,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "",
            "isAddressVerified": false,
            "address": {
                "lng": -74.05453709999999,
                "lat": 40.7173673,
                "address": "450 Grand St, Jersey City, NJ 07302, USA",
                "address1": "450 Grand St",
                "city": "Jersey City",
                "state": "NJ",
                "country": "US",
                "zip_code": "07302"
            },
            "company_name": "APM consi"
        }

Here is customer response object for parameter reference.

You can find customer(caller) object in Caller object

Retrieve All Customers

200 OK

{
    "_object": "/api/response",
    "self": "/v1//customer",
    "version": "1.0.0",
    "count": 100,
    "data": [
        {
            "_id": "1234",
            "updatedAt": "2022-04-26T08:35:36.568Z",
            "createdAt": "2020-03-30T16:39:23.867Z",
            "companyID": "APMConsi3316",
            "city": "Jersey City",
            "state": "NJ",
            "country": "US",
            "zip_code": "07302",
            "mobile": "",
            "email": "apm1@gmail.com",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 0,
            "payment_terms": 0,
            "carrier": "1234",
            "qbEmail": "",
            "__v": 1,
            "balance": 0,
            "customerTags": [
                "consignee"
            ],
            "mcNumber": null,
            "notificationEmails": "",
            "portPassword": "",
            "portUsername": "",
            "receiverEmail": null,
            "currency": "",
            "officeHoursEnd": null,
            "officeHoursStart": null,
            "secondaryPhoneNo": "",
            "address1": "450 Grand St",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": false,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [],
            "employeeEmails": [],
            "emailStatuses": [],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": false,
            "usageCount": 307,
            "geofence": {
                "zoom": 10.91,
                "polygon": [
                    [
                        [
                            -74.08017377242187,
                            40.73149112366252
                        ],
                        [
                            -74.03413053714236,
                            40.73398325199352
                        ],
                        [
                            -74.03120715712467,
                            40.70517963204705
                        ],
                        [
                            -74.07688496990146,
                            40.702686425153814
                        ],
                        [
                            -74.0922327149948,
                            40.715705476638874
                        ],
                        [
                            -74.08017377242187,
                            40.73149112366252
                        ]
                    ]
                ],
                "center": [
                    "-74.0545",
                    "40.7174"
                ]
            },
            "customerType": [
                "consignee"
            ],
            "isEmailNeedToSend": true,
            "documents": [],
            "newTerminal": [],
            "isDeleted": true,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "",
            "isAddressVerified": false,
            "address": {
                "lng": -74.05453709999999,
                "lat": 40.7173673,
                "address": "450 Grand St, Jersey City, NJ 07302, USA",
                "address1": "450 Grand St",
                "city": "Jersey City",
                "state": "NJ",
                "country": "US",
                "zip_code": "07302"
            },
            "company_name": "APM consi"
        }
    ],
    "error": null
}

This endpoint retrieves all customers.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/customer/

Query Parameters

Parameter Type Description
skip int32 Skip number of the customer to retrieve.
limit int32 Count of items in each page. Should be between 1 and 100 (inclusive).
searchTerm string Search term for search customer.
nameSearch string Name search term for search customer.
carrierId string Carrier Id of load for customer.
isDeleted boolean For get only deleted customers.
isGetAll boolean For get all customers(active + deleted).
customerType array Customer type for customer.
sortBy object For get sorted invoices which include key like createdAt.
choosenTerminals string Choose terminals for customers.
isIncludeDeleted boolean Is include deleted customers.
allIds array Get all custoemrs.
fieldName string Field name of the customer for searchTerm search.
isCustomerLogin boolean Customer Login or not.
account_hold boolean Customer account hold or not.
createdFrom date Customer created from date
createdTo date Customer created to date
updatedFrom date Customer updated from date
updatedTo date Customer updated to date

Create Customer

200 OK

{
    "_object": "/api/response",
    "self": "/v1//customer/",
    "version": "1.0.0",
    "data": {
        "statusCode": 201,
        "message": "Created Successfully",
        "data": {
            "user": {
                "__v": 0,
                "updatedAt": "2022-04-28T07:14:45.378Z",
                "createdAt": "2022-04-28T07:14:45.378Z",
                "customer": {
                    "__v": 0,
                    "updatedAt": "2022-04-28T07:14:44.942Z",
                    "createdAt": "2022-04-28T07:14:44.942Z",
                    "companyID": "erterter",
                    "address1": "aasdasdadsd",
                    "city": "Portland",
                    "state": "Oregon",
                    "country": "United States",
                    "zip_code": "97204",
                    "mobile": "",
                    "email": "8gemziog1rpn@portpro.io",
                    "billingEmail": "",
                    "extraEmail": "",
                    "credit_limit": 0,
                    "payment_terms": 0,
                    "balance": 0,
                    "carrier": "1234",
                    "qbEmail": "",
                    "portPassword": "",
                    "portUsername": "",
                    "customerTags": [],
                    "secondaryPhoneNo": "",
                    "currency": "",
                    "_id": "1234",
                    "doc_none": false,
                    "doc_pod": false,
                    "doc_tir": false,
                    "doc_all": true,
                    "isSendEmailContainerReadyForPickup": false,
                    "isSendEmailLoadAccepted": false,
                    "isSendEmailContainerAdd": false,
                    "isSendEmailContainerAvailable": false,
                    "isSendEmailPricingDetailEmail": false,
                    "isSendEmailDeliveryAppointmentChanged": false,
                    "isTIROptional": false,
                    "canEditLoad": false,
                    "assignedCSR": [],
                    "salesAgents": [],
                    "extraSubCustomer": [],
                    "employeeEmails": [],
                    "emailStatuses": [],
                    "pdfMap": [],
                    "isSendPODEmail": false,
                    "isSendContainerNotification": false,
                    "isSendNotificationEmail": false,
                    "usageCount": 1,
                    "geofence": {
                        "polygon": [],
                        "center": []
                    },
                    "customerType": [
                        "ALL"
                    ],
                    "isEmailNeedToSend": true,
                    "documents": [],
                    "newTerminal": [],
                    "isDeleted": false,
                    "account_hold": false,
                    "secondary_contact_name": null,
                    "main_contact_name": "yashkals",
                    "isAddressVerified": false,
                    "address": {
                        "address": "828 SW 2nd Ave, Portland, OR 97204, USA",
                        "lat": 45.5168016,
                        "lng": -122.6750425,
                        "address1": "aasdasdadsd",
                        "city": "asdad",
                        "state": "adsdasd",
                        "country": "sdfsdf",
                        "zip_code": "45641"
                    },
                    "company_name": "rtttttttt"
                },
                "email": "8gemziogzirpn@portpro.io",
                "username": "8gemzg11zirpn@portpro.io",
                "carrier": "1234",
                "role": "customer",
                "_id": "1234",
                "edi210Callers": [],
                "qboCustomFields": [],
                "qbBillingDateStatus": "APPROVED",
                "isInvoiceWithShortName": false,
                "isTerminalClass": false,
                "isCanada": false,
                "groupedCities": [],
                "itineraryColumnSorting": [],
                "isChassisTrackingEnabled": false,
                "isExtraDataFromTracer": false,
                "rowColorPreferences": [],
                "ftpConnections": [],
                "isAllowSystem": false,
                "accountHoldEnabled": false,
                "equipmentParameters": [],
                "requireReference": false,
                "isDefaultSSLAdded": true,
                "isOnBoardingDone": false,
                "isMailConnected": false,
                "reports": [],
                "groupChats": [],
                "groupedProfiles": [],
                "groupedCustomers": [],
                "defaultPayCustomers": [],
                "doubleDispatch": [],
                "permissions": [],
                "qbConnection": false,
                "isPickupNotificationShow": false,
                "isStatusNotificationShow": true,
                "documents": [],
                "acl": [],
                "newDeduction": [],
                "deduction": [],
                "deviceToken": "",
                "buildNo": 0,
                "os": "",
                "vApp": "",
                "work_number": "",
                "uniqueId": "gem849",
                "policy": "",
                "isDelinquet": false,
                "isTrialUser": false,
                "isExpired": false,
                "isMobileVerified": false,
                "isEmailVerified": true,
                "isDeleted": false,
                "isAdminVerified": true,
                "isAdminRejected": false,
                "isBlocked": false,
                "permissionRoles": [],
                "notifyBy": [],
                "approvedBy": [],
                "fleetCustomers": [],
                "passwordResetToken": "1",
                "referralCreditAmount": 0,
                "referralCode": "",
                "lastName": null,
                "name": "rtttttttt"
            }
        }
    },
    "error": null
}

This endpoint create customers.

HTTP Request

POST https://api1.brokerage.portpro.io/v1/customer

Request Body Parameters

Parameter Type Description
companyID* string Company id of customer.
company_name* string Company name of customer.
address* object Object of address, address1, city, state, country, zip_code, lat and lng.
address1* string Address1 of customer.
isAddressVerified* boolean Address verified or not of customer.
city* string City name of address.
state* string State name of address.
country* string Country name of address.
zip_code* string Zip code of address.
main_contact_name* string Main contact name of customer.
secondary_contact_name string Secondary contact name of customer.
mobile string Mobile number of customer.
email string Email of customer.
qbEmail string Qb Email of customer.
billingEmail string Billing email of customer.
extraEmail string Extra email of customer.
password string Password of customer.
credit_limit string Credit limit of customer.
payment_terms string Payment terms of customer.
account_hold boolean Account on hold or not of customer.
filename string File name document for customer.
isDeleted boolean Is deleted customer or not.
isEmailNeedToSend boolean Is deleted customer or not.
document file Document file of customer.
fileType string File type of file.
documents string Documents of customer.
customerType array Customer type of customer.
newTerminal array New Terminals of customer.
receiverEmail string Receiver email of customer.
geofence string Geofence of customer.
fleetCustomer string Fleet customer id.
notes string Notes for customer.
payType string Pay type of customer.
mcNumber string MC number of customer.
notificationEmails string Notification email of customer.
isSendNotificationEmail string Send notification email of customer.
isSendContainerNotification boolean Send container notification to customer or not.
isSendPODEmail boolean Is send POD notification to customer or not.
emailStatuses array Email statuses of customer.
portUsername string Port username of customer.
portPassword string Port password of customer.
doc_all boolean Is Document all of customer.
doc_tir boolean Is Document tir of customer.
doc_pod boolean Is Document pod of customer.
doc_none boolean Is Document none of customer.
extraSubCustomer array Document all of customer.
salesAgents array Sales agent of customer.
customerTags array Customer tags of customer.
balance number Balance of customer.
canEditLoad boolean Is customer can edit load or not.
isTIROptional boolean Is TIR option or not.
secondaryPhoneNo string Secondary phone no of customer.
officeHoursStart date Office hour start time of customer.
officeHoursEnd date Office hour end time of customer.
isSendEmailDeliveryAppointmentChanged boolean Send email for delivery appointment changed or not to customer.
isSendEmailPricingDetailEmail boolean Send email for pricing detail or not to customer.
isSendEmailContainerAvailable boolean Send email for container available or not to customer.
isSendEmailContainerAdd boolean Send email for container add or not to customer.
isSendEmailLoadAccepted boolean Send email for load accpeted or not to customer.
isSendEmailContainerReadyForPickup boolean Send email for container ready for pickup or not to customer.
currency string Currency of customer.

Update Customer

200 OK

{
    "_object": "/api/response",
    "self": "/v1//customer/1234",
    "version": "1.0.0",
    "data": {
        "statusCode": 201,
        "message": "Created Successfully",
        "data": {
            "_id": "1234",
            "updatedAt": "2022-04-28T06:41:25.925Z",
            "createdAt": "2022-04-28T05:46:47.564Z",
            "companyID": "asasdasdas",
            "address1": "aasdasdadsd",
            "city": "Portland",
            "state": "Oregon",
            "country": "United States",
            "zip_code": "97204",
            "mobile": "",
            "email": "nuwlklhxt8vc@portpro.io",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 0,
            "payment_terms": 0,
            "balance": 0,
            "carrier": "1234",
            "qbEmail": "",
            "portPassword": "",
            "portUsername": "",
            "customerTags": [],
            "secondaryPhoneNo": "",
            "currency": "",
            "__v": 0,
            "mcNumber": null,
            "notificationEmails": null,
            "receiverEmail": null,
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": true,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [],
            "employeeEmails": [],
            "emailStatuses": [],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": false,
            "usageCount": 1,
            "geofence": {
                "polygon": [],
                "center": []
            },
            "customerType": [
                "ALL"
            ],
            "isEmailNeedToSend": false,
            "documents": [],
            "newTerminal": [],
            "isDeleted": false,
            "account_hold": false,
            "secondary_contact_name": null,
            "main_contact_name": "yashkals",
            "isAddressVerified": false,
            "address": {
                "zip_code": "45641",
                "country": "sdfsdf",
                "state": "adsdasd",
                "city": "asdad",
                "address1": "aasdasdadsd",
                "lng": -122.6750425,
                "lat": 45.5168016,
                "address": "828 SW 2nd Ave, Portland, OR 97204, USA"
            },
            "company_name": "hhhhh456312"
        }
    },
    "error": null
}

This endpoint update customers.

HTTP Request

PUT https://api1.brokerage.portpro.io/v1/customer/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the customer object.

Request Body Parameters

Parameter Type Description
companyID string Company id of customer.
company_name string Company name of customer.
address object Object of address, address1, city, state, country, zip_code, lat and lng.
address1 string Address1 of customer.
isAddressVerified boolean Address verified or not of customer.
city string City name of address.
state string State name of address.
country string Country name of address.
zip_code string Zip code of address.
main_contact_name string Main contact name of customer.
secondary_contact_name string Secondary contact name of customer.
mobile string Mobile number of customer.
email string Email of customer.
qbEmail string Qb Email of customer.
billingEmail string Billing email of customer.
extraEmail string Extra email of customer.
credit_limit string Credit limit of customer.
payment_terms string Payment terms of customer.
account_hold boolean Account on hold or not of customer.
filename string File name document for customer.
isDeleted boolean Is deleted customer or not.
isEmailNeedToSend boolean Is deleted customer or not.
document file Document file of customer.
fileType string File type of file.
documents string Documents of customer.
customerType array Customer type of customer.
newTerminal array New Terminals of customer.
receiverEmail string Receiver email of customer.
geofence string Geofence of customer.
fleetCustomer string Fleet customer id.
notes string Notes for customer.
payType string Pay type of customer.
mcNumber string MC number of customer.
notificationEmails string Notification email of customer.
isSendNotificationEmail string Send notification email of customer.
isSendContainerNotification boolean Send container notification to customer or not.
isSendPODEmail boolean Is send POD notification to customer or not.
emailStatuses array Email statuses of customer.
portUsername string Port username of customer.
portPassword string Port password of customer.
doc_all boolean Is Document all of customer.
doc_tir boolean Is Document tir of customer.
doc_pod boolean Is Document pod of customer.
doc_none boolean Is Document none of customer.
extraSubCustomer array Document all of customer.
salesAgents array Sales agent of customer.
customerTags array Customer tags of customer.
balance number Balance of customer.
canEditLoad boolean Is customer can edit load or not.
isTIROptional boolean Is TIR option or not.
secondaryPhoneNo string Secondary phone no of customer.
officeHoursStart date Office hour start time of customer.
officeHoursEnd date Office hour end time of customer.
isSendEmailDeliveryAppointmentChanged boolean Send email for delivery appointment changed or not to customer.
isSendEmailPricingDetailEmail boolean Send email for pricing detail or not to customer.
isSendEmailContainerAvailable boolean Send email for container available or not to customer.
isSendEmailContainerAdd boolean Send email for container add or not to customer.
isSendEmailLoadAccepted boolean Send email for load accpeted or not to customer.
isSendEmailContainerReadyForPickup boolean Send email for container ready for pickup or not to customer.
currency string Currency of customer.

Upload Customer Document

The above command returns JSON structured like this:

{
    "_object": "/api/response",
    "self": "/document/",
    "version": "1.0.0",
    "data": {
        "documentType": "Customer Contract",
        "url": "https://demo-logistics.s3.amazonaws.com/documents/shipment_AA1LGj20125.png"
    },
    "error":null
}

This endpoint upload a document Customer.

HTTP Request

POST https://api1.brokerage.portpro.io/v1/customer/document

Request Parameters

Parameter Type Description
customerId* string The unique customer id.
documentType* string Document type of customer, One of: ["Customer Contract", "Rate Confirmation", "Email", "Other", "Credit App", "Credit Report", "Business License"]
file* file Customer document.

Retrieve a Single Customer

200 OK

{
    "_object": "/api/response",
    "self": "/v1//customer/1234",
    "version": "1.0.0",
    "data": {
        "address": {
            "address": "828 SW 2nd Ave, Portland, OR 97204, USA",
            "lat": 45.5168016,
            "lng": -122.6750425,
            "address1": "aasdasdadsd",
            "city": "asdad",
            "state": "adsdasd",
            "country": "sdfsdf",
            "zip_code": "45641"
        },
        "geofence": {
            "center": [],
            "polygon": []
        },
        "company_name": "hhhhh",
        "main_contact_name": "yashkals",
        "secondary_contact_name": null,
        "account_hold": false,
        "isDeleted": false,
        "newTerminal": [],
        "isEmailNeedToSend": true,
        "customerType": [
            "ALL"
        ],
        "usageCount": 1,
        "isSendNotificationEmail": false,
        "isSendContainerNotification": false,
        "isSendPODEmail": false,
        "pdfMap": [],
        "emailStatuses": [],
        "employeeEmails": [],
        "extraSubCustomer": [],
        "salesAgents": [],
        "canEditLoad": false,
        "isTIROptional": false,
        "isSendEmailDeliveryAppointmentChanged": false,
        "isSendEmailPricingDetailEmail": false,
        "isSendEmailContainerAvailable": false,
        "isSendEmailContainerAdd": false,
        "isSendEmailLoadAccepted": false,
        "isSendEmailContainerReadyForPickup": false,
        "doc_all": true,
        "doc_tir": false,
        "doc_pod": false,
        "doc_none": false,
        "_id": "1234",
        "updatedAt": "2022-04-28T05:46:47.564Z",
        "createdAt": "2022-04-28T05:46:47.564Z",
        "companyID": "asasdasdas",
        "address1": "aasdasdadsd",
        "city": "Portland",
        "state": "Oregon",
        "country": "United States",
        "zip_code": "97204",
        "mobile": "",
        "email": "84xy2ckgjfa4@portpro.io",
        "billingEmail": "",
        "extraEmail": "",
        "credit_limit": 0,
        "payment_terms": 0,
        "balance": 0,
        "carrier": "1234",
        "qbEmail": "",
        "portPassword": "",
        "portUsername": "",
        "customerTags": [],
        "secondaryPhoneNo": "",
        "currency": "",
        "assignedCSR": [],
        "documents": [],
        "isAddressVerified": false,
        "__v": 0
    },
    "error": null
}

This endpoint retrieves a specific customer.

Example of customer object you can find here

HTTP Request

GET https://api1.brokerage.portpro.io/v1/customer/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the customer object to be retrieved

Delete Customer

200 OK

{
    "_object": "/api/response",
    "self": "/v1//customer/1234",
    "version": "1.0.0",
    "data": {
        "statusCode": 200,
        "message": "Success",
        "data": {
            "success": true
        }
    },
    "error": null
}

This endpoint delete a specific customer.

Example of customer object you can find here.

HTTP Request

DELETE https://api1.brokerage.portpro.io/v1/customer/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the customer object to be delete

Retrieve Customer Discount

200 OK

{
    "_object": "/api/response",
    "self": "/v1/customer-discount",
    "version": "1.0.0",
    "data": [
        {
            "_id": "1234",
            "updatedAt": "2022-07-21T10:46:54.118Z",
            "createdAt": "2022-07-21T09:29:50.290Z",
            "discounts": [
                {
                    "type": "percentage",
                    "name": "ryan_fee",
                    "discounts": "10"
                }
            ],
            "caller": {
                "_id": "1234",
                "companyID": "TestCustomer",
                "mobile": "",
                "email": "portprodemo123456@yopmail.com",
                "billingEmail": "portprodemo@yopmail.com",
                "extraEmail": "new@yopmail.com,new12@yopmail.com",
                "payment_terms": 7,
                "receiverEmail": "",
                "isEmailNeedToSend": true,
                "address": {
                    "zip_code": "07036",
                    "country": "US",
                    "state": "NJ",
                    "city": "Linden",
                    "address1": "1560 Lower Rd",
                    "lng": -74.2452606,
                    "lat": 40.6115417,
                    "address": "1560 Lower Rd, Linden, NJ 07036, USA"
                },
                "company_name": "National Retail Store"
            },
            "carrier": {
                "_id": "8955",
                "carrier": {
                    "_id": "7777",
                    "homeTerminalTimezone": "America/Los_Angeles",
                    "mobile": 5624725010,
                    "company_name": "Test Customer Company"
                },
                "email": "customer@yopmail.com",
                "defaultAddressId": {
                    "_id": "545",
                    "updatedAt": "2022-12-27T04:58:17.378Z",
                    "createdAt": "2020-03-30T15:03:06.148Z",
                    "carrier": "658",
                    "company_address": "America",
                    "__v": 0,
                    "isDeleted": false,
                    "longitude": -95.712891,
                    "latitude": 37.09024
                },
                "lastName": "Customer",
                "name": "Test"
            },
            "__v": 0,
            "terminals": [],
            "consignee": [],
            "shipper": []
        }
    ],
    "error": null
}

This endpoint retrieves customer discount.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/customer-discount

Query Parameters

Parameter Type Description
searchText string Search text for search customer.
caller array Array of Customer Ids.
consignee array Array of Consignee Ids.
shipper array Array of Shipper Ids.
carrierId string Carrier Id of customer.

Retrieve Customer Rates

200 OK

{
    "_object": "/api/response",
    "self": "/v1/customer-rates",
    "version": "1.0.0",
    "data": [
        {
            "_id": "1234",
            "updatedAt": "2023-01-04T04:05:57.539Z",
            "createdAt": "2023-01-04T04:05:57.539Z",
            "__v": 0,
            "caller": {
                "_id": "1234",
                "email": "testcustomer@yopmail.com",
                "isEmailNeedToSend": true,
                "address": {
                    "address": "189 12th ave",
                    "lat": 47.6034707,
                    "lng": -122.3171236,
                    "address1": "189 12th Ave",
                    "city": "Seattle",
                    "state": "WA",
                    "country": "US",
                    "zip_code": "98122"
                },
                "company_name": "Mod^l-trucking"
            },
            "pricing": [],
            "carrier": {
                "_id": "1234",
                "carrier": {
                    "_id": "1234",
                    "homeTerminalTimezone": "America/Los_Angeles",
                    "mobile": 5624725010,
                    "company_name": "Daniel Baca Company"
                },
                "email": "testcustomer@yopmail.com",
                "defaultAddressId": {
                    "_id": "1234",
                    "updatedAt": "2022-12-27T04:58:17.378Z",
                    "createdAt": "2020-03-30T15:03:06.148Z",
                    "carrier": "5e820a2a0d093a3cdf37795b",
                    "company_address": "America",
                    "__v": 0,
                    "isDeleted": false,
                    "longitude": -95.712891,
                    "latitude": 37.09024
                },
                "lastName": "Customer",
                "name": "Test"
            },
            "terminals": [],
            "consignee": [
                {
                    "_id": "1234",
                    "companyID": "TestCustmer",
                    "mobile": "",
                    "email": "test@yopmail.com",
                    "address": {
                        "lng": -117.7048213,
                        "lat": 34.0040017,
                        "address": "4575 Schaefer Ave, Chino, CA 91710, USA",
                        "address1": "4575 Schaefer Ave",
                        "city": "Chino",
                        "state": "CA",
                        "country": "US",
                        "zip_code": "91710"
                    },
                    "company_name": "Interline"
                }
            ],
            "shipper": [
                {
                    "_id": "1234",
                    "companyID": "AMALGAMATEDTEXTILESINC4700",
                    "mobile": "",
                    "email": "shipper@yopmail.com",
                    "address": {
                        "zip_code": "92408",
                        "country": "US",
                        "state": "CA",
                        "city": "San Bernardino",
                        "address1": "520 E Orange Show Rd",
                        "lng": -117.2728478,
                        "lat": 34.080039,
                        "address": "520 E Orange Show Rd, San Bernardino, CA 92408, USA"
                    },
                    "company_name": "TEST CUSTOMER INC"
                }
            ]
        },
    ],
    "error": null
}

This endpoint retrieves customer rates.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/customer-rates

Query Parameters

Parameter Type Description
skip int32 Skip number of the customer to retrieve.
limit int32 Count of items in each page. Should be between 1 and 100 (inclusive).
searchText string Search text for search customer.
caller array Array of Customer Ids.
consignee array Array of Consignee Ids.
shipper array Array of Shipper Ids.
isZipCode boolean Zip code or not.
isCityState boolean City state or not.

Retrieve Customer Dynamic Rates

200 OK

{
    "_object": "/api/response",
    "self": "/v1/customer-dynamic-rates",
    "version": "1.0.0",
    "data": {
        "_id": "1234",
        "carrier": "1234",
        "__v": 0,
        "createdAt": "2021-01-12T19:10:32.864Z",
        "updatedAt": "2022-12-15T09:13:02.760Z",
        "rules": [
            {
                "_id": "1234",
                "name": "Over Weight",
                "type": "fixed",
                "query": [
                    {
                        "children": [
                            {
                                "operator": "ANY_IN",
                                "value": [
                                    "{\"value\":\"1234\",\"label\":\"20'\"}"
                                ],
                                "field": "containerSize"
                            },
                            {
                                "operator": "LARGER_EQUAL",
                                "value": "38000",
                                "field": "totalWeight"
                            }
                        ],
                        "isNegated": false,
                        "value": "AND",
                        "type": "GROUP"
                    }
                ],
                "index": 0,
                "amount": 200,
                "freeDays": 0,
                "minimumAmount": 0,
                "isManual": false,
                "terminals": []
            },
        ]
    },
    "error": null
}

This endpoint retrieves customer dynamic rates.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/customer-dynamic-rates

Consignees

Consignee Object

Here is consignee response object for parameter reference.

You can find consignee object in Consignee object

Retrieve All Consignees

200 OK

{
    "_object": "/api/response",
    "self": "/v1/consignee/",
    "version": "1.0.0",
    "count": 100,
    "data": [
        {
            "_id": "1234",
            "updatedAt": "2022-04-28T05:38:11.411Z",
            "createdAt": "2020-04-01T19:14:39.597Z",
            "companyID": "NationalRetailStore6574",
            "city": "Linden",
            "state": "NJ",
            "country": "US",
            "zip_code": "07036",
            "mobile": "",
            "email": "portprodeo123456@gmail.com",
            "billingEmail": "portprodemo@gmail.com",
            "extraEmail": "",
            "credit_limit": 250000,
            "payment_terms": 7,
            "carrier": "1234",
            "qbEmail": "",
            "payType": "Direct_Pay",
            "__v": 4,
            "receiverEmail": "",
            "mcNumber": null,
            "notificationEmails": "portprotest@gmail.com,PORTPRODEMO@GMAIL.COM",
            "portPassword": "",
            "portUsername": "",
            "balance": 0,
            "currency": "",
            "customerTags": [
                "consignee",
                "shipper",
                "containerReturn"
            ],
            "secondaryPhoneNo": "",
            "officeHoursEnd": null,
            "officeHoursStart": null,
            "address1": "1561 Lower Rd",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": true,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [],
            "employeeEmails": [],
            "emailStatuses": [
                "ENROUTE_PICKUP",
                "ARRIVED_PICKUP",
                "ENROUTE_DELIVERY",
                "ARRIVED_DELIVERY",
                "ENROUTE_RETURN",
                "ARRIVED_RETURN",
                "COMPLETED"
            ],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": true,
            "usageCount": 608,
            "geofence": {
                "zoom": 10.91,
                "polygon": [],
                "center": [
                    -74.0029393,
                    40.717718
                ]
            },
            "customerType": [
                "consignee",
                "caller"
            ],
            "isEmailNeedToSend": true,
            "documents": [],
            "newTerminal": [],
            "isDeleted": false,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "MICHAEL JOHNSON",
            "isAddressVerified": false,
            "address": {
                "lng": -74.2452606,
                "lat": 40.6115417,
                "address": "1560 Lower Rd, Linden, NJ 07036, USA",
                "address1": "1561 Lower Rd",
                "city": "Linden",
                "state": "NJ",
                "country": "US",
                "zip_code": "07036"
            },
            "company_name": "National Retail Store"
        },
        {
            "_id": "12345",
            "updatedAt": "2022-04-28T05:09:18.479Z",
            "createdAt": "2020-04-05T18:10:21.630Z",
            "companyID": "PerfecChristmasTrees2413",
            "city": "Phillipsberg",
            "state": "NJ",
            "country": "US",
            "zip_code": "08865",
            "mobile": "9085471225",
            "email": "californiaaca@gmail.com",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 0,
            "payment_terms": 0,
            "carrier": "1234",
            "qbEmail": "",
            "__v": 1,
            "receiverEmail": null,
            "mcNumber": null,
            "notificationEmails": "luis.japa@portpro.io",
            "balance": 0,
            "customerTags": [
                "consignee",
                "caller",
                "shipper",
                "containerReturn"
            ],
            "portPassword": "",
            "portUsername": "",
            "officeHoursEnd": null,
            "officeHoursStart": null,
            "secondaryPhoneNo": "",
            "currency": "",
            "address1": "999 US-22",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": false,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [
                {
                    "_id": "1234",
                    "company_name": "OEC Group"
                }
            ],
            "employeeEmails": [
                "jlogin.2020@gmail.com"
            ],
            "emailStatuses": [
                "DELIVERLOAD_DEPARTED"
            ],
            "pdfMap": [],
            "isSendPODEmail": true,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": true,
            "usageCount": 486,
            "geofence": {
                "zoom": 10.91,
                "polygon": [
                    [
                        [
                            -74.07189291219953,
                            40.727969701972825
                        ],
                        [
                            -74.07257517808742,
                            40.72706905958481
                        ],
                        [
                            -74.0716178049894,
                            40.72668544894236
                        ],
                        [
                            -74.0709685519723,
                            40.72761945359946
                        ],
                        [
                            -74.07189291219953,
                            40.727969701972825
                        ]
                    ]
                ],
                "center": [
                    -74.0029393,
                    40.717718
                ]
            },
            "customerType": [
                "consignee",
                "caller",
                "shipper",
                "containerReturn"
            ],
            "isEmailNeedToSend": true,
            "documents": [
                {
                    "description": "",
                    "userId": {
                        "_id": "1234",
                        "lastName": "Baca",
                        "name": "Daniel"
                    },
                    "date": "2020-04-13T21:18:39.144Z",
                    "url": "https://s3.amazonaws.com/production/shipment_t4FQq716900.docx",
                    "type": "Customer Contract",
                    "_id": "1234",
                    "checked": true
                }
            ],
            "newTerminal": [],
            "isDeleted": false,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "Rudy Deere",
            "isAddressVerified": false,
            "address": {
                "lng": 12,
                "lat": 12,
                "address": "999 US-22, Phillipsburg, NJ 08865",
                "address1": "999 US-22",
                "city": "Phillipsberg",
                "state": "NJ",
                "country": "US",
                "zip_code": "08865"
            },
            "company_name": "Perfect Christmas Trees"
        },
        {
            "_id": "12346",
            "updatedAt": "2022-04-27T19:00:40.437Z",
            "createdAt": "2020-11-18T16:51:26.495Z",
            "companyID": "CHICASTextilesInc6737",
            "city": "San Bernardino",
            "state": "CA",
            "country": "US",
            "zip_code": "92408",
            "mobile": "",
            "email": "test3@test.com",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 50000,
            "payment_terms": 7,
            "carrier": "1234",
            "qbEmail": "",
            "notificationEmails": "PORTPRODEMO@GMAIL.COM",
            "__v": 1,
            "mcNumber": null,
            "receiverEmail": "",
            "portPassword": "",
            "portUsername": "",
            "balance": 0,
            "customerTags": [],
            "currency": "",
            "secondaryPhoneNo": "",
            "address1": "520 E Orange Show Rd",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": false,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [
                {
                    "_id": "1234",
                    "company_name": "Interline"
                }
            ],
            "employeeEmails": [],
            "emailStatuses": [
                "ENROUTE_PICKUP",
                "ARRIVED_PICKUP",
                "ENROUTE_DELIVERY",
                "ARRIVED_DELIVERY",
                "ARRIVED_RETURN",
                "ENROUTE_RETURN",
                "COMPLETED"
            ],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": true,
            "usageCount": 336,
            "geofence": {
                "zoom": 10.91,
                "polygon": [],
                "center": [
                    -74.0029393,
                    40.717718
                ]
            },
            "customerType": [
                "consignee"
            ],
            "isEmailNeedToSend": false,
            "documents": [],
            "newTerminal": [],
            "isDeleted": false,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "",
            "isAddressVerified": false,
            "address": {
                "lng": -117.2728478,
                "lat": 34.080039,
                "address": "520 E Orange Show Rd, San Bernardino, CA 92408, USA",
                "address1": "520 E Orange Show Rd",
                "city": "San Bernardino",
                "state": "CA",
                "country": "US",
                "zip_code": "92408"
            },
            "company_name": "CHICAS Textiles Inc"
        }
    ],
    "error": null
}

This endpoint retrieves all consignees.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/consignee/

Query Parameters

Parameter Type Description
skip int32 Skip number of the consignee to retrieve.
limit int32 Count of items in each page. Should be between 1 and 100 (inclusive).
createdFrom date Consignee created from date
createdTo date Consignee created to date
updatedFrom date Consignee updated from date
updatedTo date Consignee updated to date

Ports/Shipper

Shipper Object

Here is shipper response object for parameter reference.

You can find port/shipper object in Shipper object

Retrieve All Shippers

200 OK

{
    "_object": "/api/response",
    "self": "/v1/port/",
    "version": "1.0.0",
    "count": 100,
    "data": [
        {
            "_id": "1234",
            "updatedAt": "2022-04-28T05:38:11.410Z",
            "createdAt": "2020-09-22T19:59:29.465Z",
            "companyID": "GCTBAYONNE9648",
            "city": "Jersey City",
            "state": "NJ",
            "country": "US",
            "zip_code": "07305",
            "mobile": "8888888888",
            "email": "r56lg6h96h678r@portpro.io",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 0,
            "payment_terms": 0,
            "carrier": "12340",
            "qbEmail": "r56lg6hw96he678r@portpro.io",
            "notificationEmails": "",
            "__v": 5,
            "mcNumber": null,
            "receiverEmail": null,
            "balance": 0,
            "currency": "",
            "customerTags": [],
            "portPassword": "",
            "portUsername": "",
            "secondaryPhoneNo": "",
            "officeHoursEnd": null,
            "officeHoursStart": null,
            "SyncToken": "0",
            "qbId": "36",
            "address1": "302 Port Jersey Blvd",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": true,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": true,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [],
            "employeeEmails": [],
            "emailStatuses": [],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": false,
            "usageCount": 894,
            "geofence": {
                "zoom": 10.91,
                "polygon": [],
                "center": [
                    -74.0029393,
                    40.717718
                ]
            },
            "customerType": [
                "shipper",
                "containerReturn"
            ],
            "isEmailNeedToSend": true,
            "documents": [],
            "newTerminal": [],
            "isDeleted": false,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "JOSE",
            "isAddressVerified": false,
            "address": {
                "lng": -74.0798703,
                "lat": 40.6748196,
                "address": "302 Port Jersey Blvd, Jersey City, NJ 07305, USA",
                "address1": "302 Port Jersey Blvd",
                "city": "Jersey City",
                "state": "NJ",
                "country": "US",
                "zip_code": "07305"
            },
            "company_name": "GCT BAYONNE"
        },
        {
            "_id": "12341",
            "updatedAt": "2022-04-27T19:20:55.565Z",
            "createdAt": "2020-10-21T18:33:09.168Z",
            "companyID": "WBCT2937",
            "city": "Los Angeles",
            "state": "CA",
            "country": "US",
            "zip_code": "90731",
            "mobile": "3107325536",
            "email": "eqy5bal30fym8y3@portpro.io",
            "billingEmail": "",
            "extraEmail": "",
            "credit_limit": 0,
            "payment_terms": 0,
            "carrier": "12342",
            "qbEmail": "",
            "notificationEmails": "",
            "__v": 0,
            "balance": 0,
            "currency": "",
            "customerTags": [],
            "mcNumber": null,
            "officeHoursEnd": null,
            "officeHoursStart": null,
            "portPassword": "",
            "portUsername": "",
            "receiverEmail": null,
            "secondaryPhoneNo": "",
            "address1": "2050 John S Gibson Blvd",
            "qbId": "121",
            "doc_none": false,
            "doc_pod": false,
            "doc_tir": false,
            "doc_all": true,
            "isSendEmailContainerReadyForPickup": false,
            "isSendEmailLoadAccepted": false,
            "isSendEmailContainerAdd": false,
            "isSendEmailContainerAvailable": false,
            "isSendEmailPricingDetailEmail": false,
            "isSendEmailDeliveryAppointmentChanged": false,
            "isTIROptional": false,
            "canEditLoad": false,
            "assignedCSR": [],
            "salesAgents": [],
            "extraSubCustomer": [],
            "employeeEmails": [],
            "emailStatuses": [],
            "pdfMap": [],
            "isSendPODEmail": false,
            "isSendContainerNotification": false,
            "isSendNotificationEmail": false,
            "usageCount": 751,
            "geofence": {
                "zoom": 13.01,
                "polygon": [
                    [
                        [
                            -118.2786734799977,
                            33.7676968387204
                        ],
                        [
                            -118.29318468464578,
                            33.76088444464931
                        ],
                        [
                            -118.29113604398952,
                            33.749671200466295
                        ],
                        [
                            -118.276710199369,
                            33.75499412581607
                        ],
                        [
                            -118.26672307616965,
                            33.766987239604035
                        ],
                        [
                            -118.26527195570512,
                            33.76670339831213
                        ],
                        [
                            -118.2786734799977,
                            33.7676968387204
                        ]
                    ]
                ],
                "center": [
                    "-118.2722",
                    "33.7609"
                ]
            },
            "customerType": [
                "shipper",
                "containerReturn"
            ],
            "isEmailNeedToSend": true,
            "documents": [],
            "newTerminal": [],
            "isDeleted": false,
            "account_hold": false,
            "secondary_contact_name": "",
            "main_contact_name": "Jorge",
            "isAddressVerified": false,
            "address": {
                "lng": -118.2887177,
                "lat": 33.7560558,
                "address": "2050 John S Gibson Blvd, San Pedro, CA 90731, USA",
                "address1": "2050 John S Gibson Blvd",
                "city": "Los Angeles",
                "state": "CA",
                "country": "US",
                "zip_code": "90731"
            },
            "company_name": "WBCT"
        }
    ],
    "error": null
}

This endpoint retrieves all shippers.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/shipper/

Query Parameters

Parameter Type Description
skip int32 Skip number of the shipper to retrieve.
limit int32 Count of items in each page. Should be between 1 and 100 (inclusive).
createdFrom date Port created from date
createdTo date Port created to date
updatedFrom date Port updated from date
updatedTo date Port updated to date

Terminals

Terminal Object


Demo terminal object

      {
        "isDeleted": true,
        "_id": "1234",
        "updatedAt": "2021-12-28T04:32:05.681Z",
        "createdAt": "2021-12-09T07:15:16.063Z",
        "userId": "2345",
        "address": {
            "zip_code": "97204",
            "country": "US",
            "state": "OR",
            "city": "Portland",
            "lng": -122.6750425,
            "lat": 45.5168016,
            "address": "828 SW 2nd Ave, Portland, OR 97204, USA"
        },
        "name": "dp123",
        "__v": 0
    }

Here is terminal response object for parameter reference.

You can find terminal object in Terminal object

Create Terminal

200 OK

{
    "_object": "/api/response",
    "self": "/v1/terminal/",
    "version": "1.0.0",
    "data": {
        "statusCode": 200,
        "message": "Success",
        "data": {
            "__v": 0,
            "updatedAt": "2022-04-29T08:45:39.058Z",
            "createdAt": "2022-04-29T08:45:39.058Z",
            "userId": "1234",
            "address": {
                "zip_code": "97204",
                "country": "US",
                "state": "OR",
                "city": "Portland",
                "lng": -122.6750425,
                "lat": 45.5168016,
                "address": "828 SW 2nd Ave, Portland, OR 97204, USA"
            },
            "name": "rrrrrrrrr",
            "_id": "1234",
            "isDeleted": false
        }
    },
    "error": null
}

This endpoint create terminal.

HTTP Request

POST https://api1.brokerage.portpro.io/v1/terminal

Request Body Parameters

Parameter Type Description
name* string Name id of terminal.
address* object Object of address model which include state, city, address etc

Update Terminal

200 OK

{
    "_object": "/api/response",
    "self": "/v1/terminal/1234",
    "version": "1.0.0",
    "data": {
        "statusCode": 200,
        "message": "Success",
        "data": {
            "_id": "1234",
            "updatedAt": "2022-04-29T08:52:28.757Z",
            "createdAt": "2022-04-29T08:45:39.058Z",
            "userId": "1234",
            "address": {
                "zip_code": "97204",
                "country": "US",
                "state": "OR",
                "city": "Portland",
                "lng": -122.6750425,
                "lat": 45.5168016,
                "address": "828 SW 2nd Ave, Portland, OR 97204, USA"
            },
            "name": "Appp",
            "__v": 0,
            "isDeleted": false
        }
    },
    "error": null
}

This endpoint update terminal.

HTTP Request

PUT https://api1.brokerage.portpro.io/v1/terminal/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the terminal object to be update

Request Body Parameters

Parameter Type Description
name string Name id of terminal.
address object Object of address model which include state, city, address etc

Retrieve All Terminals

200 OK

{
    "_object": "/api/response",
    "self": "/v1/terminal",
    "version": "1.0.0",
    "count": 10,
    "data": [
        {
            "_id": "1234",
            "updatedAt": "2022-04-29T08:52:28.757Z",
            "createdAt": "2022-04-29T08:45:39.058Z",
            "userId": "1234",
            "address": {
                "address": "828 SW 2nd Ave, Portland, OR 97204, USA",
                "lat": 45.5168016,
                "lng": -122.6750425,
                "city": "Portland",
                "state": "OR",
                "country": "US",
                "zip_code": "97204"
            },
            "name": "Appp",
            "__v": 0,
            "isDeleted": false
        },
        {
            "_id": "1234",
            "updatedAt": "2022-04-29T08:58:35.877Z",
            "createdAt": "2022-04-29T08:58:35.877Z",
            "userId": "1234",
            "address": {
                "address": "828 SW 2nd Ave, Portland, OR 97204, USA",
                "lat": 45.5168016,
                "lng": -122.6750425,
                "city": "Portland",
                "state": "OR",
                "country": "US",
                "zip_code": "97204"
            },
            "name": "rrrrrrrrr",
            "__v": 0,
            "isDeleted": false
        }
    ],
    "error": null
}

This endpoint retrieves all terminals.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/terminal/

Query Parameters

Parameter Type Description
searchTerm string Search term for search terminal
createdFrom date Terminal created from date
createdTo date Terminal created to date
updatedFrom date Terminal updated from date
updatedTo date Terminal updated to date

Retrieve a Single Terminal

200 OK

{
    "_object": "/api/response",
    "self": "/v1/terminal/1234",
    "version": "1.0.0",
    "data": {
        "statusCode": 200,
        "message": "Success",
        "data": {
            "_id": "1234",
            "updatedAt": "2022-04-29T08:58:35.877Z",
            "createdAt": "2022-04-29T08:58:35.877Z",
            "userId": "1234",
            "__v": 0,
            "isDeleted": false
        }
    },
    "error": null
}

This endpoint retrieves a specific terminal.

Example of terminal object you can find here.

HTTP Request

GET https://api1.brokerage.portpro.io/v1/terminal/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the terminal object to be retrieved

Delete Terminal

200 OK

{
    "_object": "/api/response",
    "self": "/v1/terminal/1234",
    "version": "1.0.0",
    "data": {
        "statusCode": 200,
        "message": "Success",
        "data": {
            "_id": "1234",
            "updatedAt": "2022-04-29T08:58:35.877Z",
            "createdAt": "2022-04-29T08:58:35.877Z",
            "userId": "1234",
            "__v": 0,
            "isDeleted": true
        }
    },
    "error": null
}

This endpoint delete a specific terminal.

Example of terminal object you can find here.

HTTP Request

DELETE https://api1.brokerage.portpro.io/v1/terminal/<id>

Request Parameters

Parameter Type Description
id* string The unique id for the terminal object to be delete

Embedded Objects

Caller

Caller Object

    {
      "_id": "1234",
      "companyID": "ABC!@#$ERT",
      "city": "Jersey City",
      "state": "NJ",
      "country": "US",
      "zip_code": "07302",
      "mobile": "",
      "email": "md.teli@portpro.io",
      "billingEmail": "",
      "extraEmail": "",
      "payment_terms": 0,
      "isEmailNeedToSend": true,
      "main_contact_name": "as",
      "address": {
        "lng": -74.05453709999999,
        "lat": 40.7173673,
        "address": "450 Grand St, Jersey City, NJ 07302, USA"
      },
      "company_name": "SMITHSON WAREHOUSE",
      "receiverEmail": null,
      "currency": "",
      "doc_all": true,
      "doc_none": false,
      "doc_pod": false,
      "doc_tir": false,
      "officeHoursEnd": null,
      "officeHoursStart": null
    }
Parameter Type Description
_id string Unique identifier for the object
companyID string Company ID of caller
city string City name of caller
state string State name of caller
country string Country name of caller
zip_code string Zip code of caller
mobile string Mobile number of caller
email string Email of caller
billingEmail string Billing email of caller
extraEmail string Extra email of caller
payment_terms int Payment terms
isEmailNeedToSend boolean Is email need to send or not
main_contact_name string Main contact name of caller
address object Address object of caller, where lng and lat belongs to longitude and latitude
company_name string Company name of caller
receiverEmail string Receiver email of caller
currency string Currency name of caller
officeHoursStart string Office hour start time of caller company
officeHoursEnd string Office hour end time of caller company
doc_all boolean Is documents all or not
doc_none boolean Is documents none or not
doc_pod boolean Is documents pod or not
doc_tir boolean Is documents tir or not

Carrier

Carrier Object

    {
      "_id": "123",
      "carrier": {
        "_id": "123",
        "USDOTNumber": "2178221",
        "mobile": 8000477510,
        "company_name": "NEW JERSEY TRUCKER",
        "homeTerminalTimezone": "America/Halifax",
        "defaultAddress": "123",
        "billingEmail": "undefined",
        "distanceMeasure": "ml"
      },
      "email": "example@gmail.com",
      "defaultAddressId": {
        "_id": "123",
        "updatedAt": "2019-03-14T11:27:31.953Z",
        "createdAt": "2019-03-14T11:27:31.953Z",
        "carrier": "123",
        "company_address": "111, West Hartford, Connecticut 06119, United States",
        "isDeleted": false,
        "longitude": null,
        "latitude": null,
        "__v": 0
      },
      "lastName": "NEW JERSEY TRUCKER",
      "name": "NEW JERSEY TRUCKER",
      "invoiceLogo": "https://example.s3.amazonaws.com/production/tms/123web.png"
    }
Parameter Type Description
_id string Unique identifier for the object
USDOTNumber string USD ot Number
mobile string Mobile number of carrier
email string Email of carrier
billingEmail string Billing email of carrier
defaultAddress object Default address id
company_name string Company name of carrier
homeTerminalTimezone string Timezone of home terminal
distanceMeasure string Distance measurement for carrier
defaultAddressId object Default address object of carrier
lastName string Last name of caller
name string Name of carrier
invoiceLogo string Invoice logo link for carrier

Consignee

Consignee Object

    {
      "address": {
        "address": "VIP Circle, Hirabag, Amroli -, Gujarat, India", 
        "lat": 21.2315432, 
        "lng": 72.8662072
      }
      "city": "Independence"
      "companyID": "VIPCIRCLE2355"
      "company_name": "VIP CIRCLE"
      "country": "US"
      "email": "vip@gggg.com"
      "main_contact_name": "VIP CIRCLE"
      "mobile": "2000000002"
      "state": "KS"
      "zip_code": "67301"
      "_id": "123"
    }
Parameter Type Description
_id string Unique identifier for the object
companyID string Company ID of consignee
city string City name of consignee
state string State name of consignee
country string Country name of consignee
zip_code string Zip code of consignee
mobile string Mobile number of consignee
main_contact_name string Main contact name of consignee
address object Address object of consignee, where lng and lat belongs to longitude and latitude
company_name string Company name of consignee

Routing Order

Routing Order Object

    {
        "isVoidOut": false,
        "distance": 0,
        "address": {
          "address": "1200 Corbin St, Elizabeth, NJ 07201, USA",
          "lat": 40.6806736,
          "lng": -74.1662324
        },
        "_id": "1234",
        "company_name": "MAHER",
        "loadAssignedDate": "2021-11-30T08:54:29.637Z"
        "prevType": "PULLCONTAINER"
        "zip_code": "07201",
        "country": "US",
        "state": "NJ",
        "city": "Elizabeth",
        "customerId": {
          "_id": "1234",
          "city": "Elizabeth",
          "state": "NJ",
          "country": "US",
          "zip_code": "07201",
          "geofence": {
            "polygon": [],
            "zoom": 10.91,
            "center": [
              -74.0029393,
              40.717718
            ]
          },
          "address": {
            "lng": -74.1662324,
            "lat": 40.6806736,
            "address": "1200 Corbin St, Elizabeth, NJ 07201, USA"
          },
          "company_name": "MAHER",
          "isTIROptional": true
        },
        "type": "PULLCONTAINER"
    }
Parameter Type Description
isVoidOut boolean Is void out or not
distance int32 distance of carrier done
address object Address objects
_id string Unique identifier for the object
customerId object Customer details object
geofence object Geofence object which has polygo and center array and zoom value
isTIROptional boolean Is TIR optional or not
type string Current type of carrier load
loadAssignedDate date/string Load assigned date
prevType string Previous type of load

Invoice Item

Invoice Item Object

      {
          "amount":"0.00"
          "name":"Base Price"
          "description":"WAM Import Load"
          "type":"fixed"
          "chargePerDay":0,
          "chargePerMinute":0,
          "freeMinutes":0,
          "freeDays":0,
          "discountValue":"0",
          "discountAmount":0,
          "finalAmount":"500.00",
          "unit":"0.00",
          "perType": "perday"
      }
Parameter Type Description
amount int32 Amount of item
name string Name of charge
description string Description of charge
type string Type of charge
chargePerDay int32 Charge per day of item
chargePerMinute int32 Charge per minute of item
freeMinutes int32 Free minutes of item
freeDays int32 Free days of item
discountValue int32 Discount value of item
discountAmount int32 Discount amount of item
finalAmount int32 Final amount amount of item
unit int32 units of item
perType string Per type of item

Document

Document Object

      { 
        "checked": true
        "date": "2021-11-30T08:31:10.198Z"
        "type": "Other"
        "url": "https://example.com/axle-logistics/scanner/1638261048874_1638261053774.pdf"
        "userId": { 
          "_id": "1234", 
          "lastName": "NEW JERSEY TRUCKER", 
          "name": "NEW JERSEY TRUCKER"}
        "_id": "1234"
      }
Parameter Type Description
_id string Unique identifier for the object
checked boolean Document is checked or not
date date/string Document upload date
url string URL of document
userId object Object if uploaded by user name, lastName

Payment

Payment Object

      { 
        "amount": 500
        "checkNo": "yes"
        "createdAt": "2021-11-30T08:39:33.935Z"
        "createdBy": {
          "_id": "123", 
          "lastName": "NEW JERSEY TRUCKER", 
          "name": "NEW JERSEY TRUCKER"
        }
        "document": "https://example.com/production/tms/shipment_DGqTdA1003.jpeg"
        "documentType": "Other"
        "notes": "Data check"
        "paymentDate": "2021-11-30T05:00:00.000Z"
        "_id": "123"
      }
Parameter Type Description
_id string Unique identifier for the object
checkNo string Check no of payment
createdAt date/string Payment create date
document string URL of document
createdBy object Object if created payment by user name, lastName
documentype string Document type which uploaded
notes string Payment note
paymentDate date/string Payment date

Terminal

Terminal Object

      {
        "isDeleted": true,
        "_id": "1234",
        "updatedAt": "2021-12-28T04:32:05.681Z",
        "createdAt": "2021-12-09T07:15:16.063Z",
        "userId": "2345",
        "address": {
            "state": "MH",
            "city": "Pune",
            "address": "Pune, Maharashtra, India",
            "zip_code": "394210",
            "_id": "1234"
        },
        "name": "dp123",
        "__v": 0
    }
Parameter Type Description
_id string Unique identifier for the object
userId string UserId of terminal.
createdAt date/string Payment create date
isDeleted boolean Terminal is deleted or not
address object Object of address model which include state, city, address etc
name string Name of terminal

Items

Items Object

          {
            "commodity": "Shoes",
            "description": "Nice Bulk Shoes",
            "pieces": 50,
            "weight": 100,
            "weightKgs": 45.36,
            "pallets": 5
          }
Parameter Type Description
commodity string Commodity name.
description string Description of commodity.
pieces int32 Pieces of commodity.
weight int32 Weight of commodity.
weightKgs int32 Weight in kgs of commodity.
pallets int32 Number of pallets.