Last updated

Introduction

"Advancing transportation technology through API connections"

The Core Services API is designed to be easy to use and simple to test to help project44's customers and partners get up and running quickly. Use the API endpoints to connect to your Carriers and other Capacity Providers to obtain rate quotes, dispatch and track shipments and retrieve the documents needed for invoicing and reconciling payments.

The current version of the API is v4, which is not backward compatible. Any organization who went live before August 2018 will require a version bump to use the new APIs. Contact your project44 representative to learn more about upgrading to v4.

Getting Started

The project44 API is a RESTful API. This means that the API is designed to allow you to work with objects using familiar HTTP verbs like so:

  • read = GET
  • create = POST
  • update = PUT
  • delete = DELETE

All production API requests are made to:

Americas: https://na12.api.project44.com/api/v4

Europe: https://eu12.api.project44.com/api/v4

There is also a testing sandbox to use when developing and testing applications, with requests being made to:

Americas:https://na12.api.sandbox.p-44.com/api/v4

The following domains will continue to be supported (though we recommend switching to the above domains):

Americas Production: https://cloud.p-44.com/api/v4

Americas Production: https://cloud-v2.p-44.com/api/v4

Europe Production: https://cloud.eu.p-44.com/api/v4

Europe Production: https://cloud-v2.eu.p-44.com/api/v4

Americas Sandbox: https://test.p-44.com/api/v4

The Core Services API is available to project44 customers and integration partners and all organizations must acquire valid credentials prior to using the web services. All the API endpoints require authentication. Please see the Authentication section below for additional information.

Supported Data Formats

The project44 API uses JSON as the default format.

Why JSON?

JSON is inherently more efficient than XML as fewer bits are being passed across the wire, and less machine time is required to process the data on either end. JSON is a string representation of a key/value pair where the values can be arrays, strings, integers or even full objects. The key names are relevant and enable JSON parsers to quickly scan through the records and convert them into objects developers can interact with in code. JSON is also lightweight, which means existing objects and collections can be serialized and deserialized quickly and easily.

Software Development Kits (SDKs)

While you can use project44 APIs by making direct HTTP requests, we provide client library code for all our APIs that make it easier to access them from your favorite languages.

Currently we support Java and C# client libraries. See the SDKs page for links to the updated SDKs.

Connectivity Troubleshooting

As a result of project44 infrastructure changes, some customers have reported experiencing issues with connectivity to project44. Below we have documented issue symptoms and corrective action you can take.

IP Change

SUMMARY: The underlying IPs associated with the endpoint customer(s) are pushing data to changed at the time of the outage. If customer IT teams have IP whitelisting configured on customer firewall or other network security systems for external traffic to project44, this would have caused the outage.

REMEDY: project44 Tech suggests updating your firewall whitelists to permit traffic on a DNS/URL-basis, as opposed explicitly whitelisting the underlying IPs. This change in configuration in customer system(s) would eliminate risk of outage when project44 makes necessary infrastructure changes in the future.

Certificate Issues

Pinning Certificates

SUMMARY: Autorotation of certificates was enabled at the time some customers began experiencing 'handshake' connectivity errors. This may negatively affect customers if they pin leaf or intermediate certs.

REMEDY: We do not recommend pinning leaf or intermediate certs as they might be revoked and rotated without notice.

Allowable Cipher Changes

SUMMARY: Cipher ECDHE-ECDSA-AES256-SHA is no longer allowed by project44 systems due to a second order effect of critical infrastructure changes. This is causing some customers to experience 'handshake' errors.

REMEDY: Varies based on IT system, but customers should remove support for the ECDHE-ECDSA-AES256-SHA Cipher in favor of any of the Ciphers now Supported below.

Ciphers Currently Supported

  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-CHACHA20-POLY1305
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-CHACHA20-POLY1305
  • ECDHE-ECDSA-AES128-SHA256
  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-RSA-AES128-SHA256
  • ECDHE-RSA-AES128-SHA
  • AES128-GCM-SHA256
  • AES128-SHA256
  • AES128-SHA
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-AES256-SHA384
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-SHA384
  • ECDHE-RSA-AES256-SHA
  • AES256-GCM-SHA384
  • AES256-SHA256
  • AES256-SHA
  • DES-CBC3-SHA
  • AEAD-AES128-GCM-SHA256
  • AEAD-AES256-GCM-SHA384
  • AEAD-CHACHA20-POLY1305-SHA256