Troubleshooting

See also: Error Codes, Best Practices


Check API Status

To check the current operational status of the PB Shipping APIs, see the API Status web 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 API Status web 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

If your API request returns an error message:

  1. Check the Error Codes tables to see if there is a documented solution for the returned error.

  2. If the HTTP status code is in the 400 range, you may have issued a faulty request.

    Check for exceptions and prerequisites in the Things to Consider section of the documentation for your API call.

    Check also that you are using:

    • The correct version of the API call, either /v1 or /v2 depending on the API call. To check the version number, see API Resources.
    • The correct credentials for the environment. The sandbox and production environments use different credentials. See API Environments.
    • The correct capitalization and spelling. See the documentation page for the API call.
    • The correct parameters, headers and elements for the request. See the documentation page for the API call.
  3. If the HTTP status code is in the 500 range there might be an issue with the PB Shipping APIs system. Do one of the following:

    • If the error occurred for an API call other than Create Shipment, try the call again.
    • If the error occurred for a Create Shipment request, check if the label was created by invoking the Retry Shipment API. If the label was not created, resubmit the Create Shipment request.

    To check the system status, see the API Status web page.

    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.