Troubleshooting

See also:


Check API Status

To check the current operational status of the PB Shipping APIs, see the Pitney Bowes API Status Page.


Troubleshoot Latency

The Pitney Bowes servers process requests and send responses within 800 milliseconds. If you are encountering latency, troubleshoot the problem by looking at each of the following in isolation:

We recommend starting with the PB Shipping APIs. Pitney Bowes has tools to quickly discover if the latency is on our end.

Check the PB Shipping APIs

To check the current operational status of the PB Shipping APIs, see the Pitney Bowes API Status Page.

To troubleshoot an ongoing latency issue, contact Pitney Bowes at ShippingAPISupport@pb.com and provide a detailed description of the problem, including metrics. Pitney Bowes has tools to quickly discover if the latency is on our end.

Check the Network

To check the network:

Use a Network Analyzer

To test your network, we recommend using a network analyzer like Wireshark to measure where slowness might be occurring. Pitney Bowes can help you set up the parameters of a Wireshark test. Please do not hesitate to contact Pitney Bowes for assistance.

When testing the network:

  • Measure traffic from a single node. When doing so, make sure you are measuring traffic for the correct node. For example, a Create Shipment request received at your Phoenix warehouse might originate in your Denver office.

  • Measure traffic from a load balancer.

  • Measure all traffic going to an IP address.

  • Filter for the API call for which you are experiencing latency. By default, Wireshark will measure every API call going over the network, so you must apply filters to capture metrics only for the specific call.

    For example, if you are experiencing latency in printing labels, make sure you are measuring traffic only for Create Shipment requests and not also including, say, Create Manifest requests.

Deploy your Application in a Different Data Center

Keep in mind how your network routes traffics and whether the network routes traffic through servers you are unaware of. To check for routing issues, deploy your application in a different data center. If the latency disappears, the issue might be how the first data center is routing traffic.

Check Your Application

Check the following:

  • In your logs, check the timestamp of the request received on the firewall layer, load balancer, and application servers. Check the timestamp of the response leaving your application network.
  • Check for any variance in your test environment to production environment.
  • Check the code used to make HTTP connections. Check code snippets, open-source libraries, and packages.


Troubleshoot an Error Message

  1. If your API request returns an error message, check the Error Codes tables to see if there is a documented solution for the returned error.
  2. If you do not find a solution, and if you received a 4XX error, please see Troubleshoot HTTP 4XX Errors.
  3. If you do not find a solution, and if you received a 5XX error, please see Troubleshoot HTTP 5XX Errors.
  4. If the problem persists, please contact Support.

Troubleshoot HTTP 4XX Errors

If the HTTP status code is in the 4XX range, you may have issued a faulty request. Do the following:

  • Check for exceptions and prerequisites in the Things to Consider section of the documentation for your API call.
  • Check that you are using the correct parameters, headers and elements, and the correct capitalization and spelling. See the documentation page for the API call.
  • Check that you are using the correct version of the API call. To check the version number, see API Resources and Operations.
  • The correct credentials for the environment, i.e. sandbox or production. See API Environments.

Troubleshoot HTTP 5XX Errors

If the HTTP status code is in the 5XX range there might be an issue with the PB Shipping APIs system. Do the following:

  1. If you issued the Create Shipment request and received the HTTP 500 Internal Server Error, see Troubleshoot the 500 Internal Server Error below.
  2. If you received an error other than the HTTP 500 Internal Server Error, or if the API call is not a Create Shipment request, try the call again.
  3. If the problem persists, please contact Support.

Troubleshoot the 500 Internal Server Error

If you issued the Create Shipment request and received the HTTP 500 Internal Server Error:

  1. If the API returned the PB-APIM-ERR-1006 error code in the error object, your request failed because of throttling limits. Re-issue the create label request. Exit these steps.
  2. If you did not receive the PB-APIM-ERR-1006 error code, issue the Retry Shipment API to check if the label was created. If the response returns the Shipment Object then the label was created and you can exit these steps.
  3. If the label was not created, create a new label with a new Transaction ID.
  4. If the problem persists, please contact Support.

Troubleshoot a Problem Printing ZPL2 Labels

If you encounter a problem printing ZPL2 labels, the issue could be that your printer’s firmware does not support the Unicode character set. By default, the PB Shipping APIs generate ZPL2 labels using Unicode, which supports international characters. If you encounter a problem printing ZPL2 labels, contact your Zebra printer provider to update your printer’s firmware to the latest version. (Note that the printer’s firmware is not the same as the printer’s drivers.)

As an optional workaround if the firmware option is not available, you can use the PRINTER_MODEL shipment option to generate labels using the ASCII character set. It is important to note, however, that if you use ASCII, international characters might not print properly. It is highly recommended you update your firmware if possible. To use PRINTER_MODEL, see Shipment Options.