Transaction Reports FAQs

How do I get transaction history for a developer or merchant?

You can do any of the following to view transaction history:

  • Use the Transaction Reports API. The following example returns all transactions for a developer account:

    https://api.pitneybowes.com/shippingservices/v2/ledger/developers/42666131/transactions/reports
    

    The following example uses the merchantId query parameter to return all transactions for a specific merchant:

    https://api.pitneybowes.com/shippingservices/v2/ledger/developers/42666131/transactions/reports?merchantId=4215494610
    
  • On Developer Hub, click Ship, then click Transaction History. The page returns all transactions for the developer account. To return transactions for a specific merchant, use the Filter Criteria.

  • On the Merchant Portal, log in as the merchant. Click the merchant’s username, then click Your Transactions. The page returns all the merchant’s transactions.

How do I filter for Auto Refund transactions?

Issue the Transaction Reports API call with the transactionType query parameter set to POSTAGE REFUND. This returns all refunds, both Auto Refunds and manual refunds. Auto Refunds have the refundRequestor field set to Auto Refund Processor. A given Auto Refund can have two records in the response: one for the initial request and one for the resolution. If there are two records, the record with the more recent timestamp displays the current status.

The following example shows an Auto Refund with two records: one for the initial request and one for the resolution.

{
    "transactionId": "c3424-a747-345c-46a083a464d9",
    "transactionDateTime": "2018-08-31T16.33:38.247+0000",
    "transactionType": "POSTAGE REFUND",
    ...,
    "refundStatus": "REQUESTED",
    "refundDenialReason": null,
    "printStatus": null,
    "shipmentId": "USPS2208620450087004",
    "refundRequestor": "Auto Refund Processor",
    "externalId": null,
    "adjustmentReason": null
},
{
    "transactionId": "c3424-a747-345c-46a083a464d9",
    "transactionDateTime": "2018-09-12T19:12:59.694+0000",
    "transactionType": "POSTAGE REFUND",
    ...,
    "refundStatus": "ACCEPTED",
    "refundDenialReason": null,
    "printStatus": null,
    "shipmentId": "USPS2208620450087004",
    "refundRequestor": "Auto Refund Processor",
    "externalId": null,
    "adjustmentReason": null
}

How do I filter for SBR transactions?

To retrieve a report that displays only SBR transactions, issue the Transaction Reports API call with the printStatus query parameter set to one of the following:

  • SBR: Returns all SBR labels.
  • SBRPrinted: Returns labels that are printed but not yet scanned into the USPS mailstream.
  • SBRCharged: Returns labels that are scanned into the USPS mailstream. Note that once an SBR label is scanned, it typically takes two days for the API to display the event.

See also: How do I know if an SBR label has been used?

Do transaction reports provide real-time data?

No, transaction reports do not provide real time data. There can be a delay of up to 24 hours after a transaction occurs for the transaction to appear in the transaction report.

Is there a limit on the number of transactions reported?

The current limit is 2000 records per call to the Transaction Reports API. Pitney Bowes recommends keeping the expected number of transactions per page to under 500, to make sure all transactions get processed.

Why is the Reports API ignoring my entered dates?

Make sure you are using the correct date format in the request. The following is the correct format. Be sure to include the Z at the end.

fromDate=YYYY-MM-DDT00:00:00.00Z
toDate=YYYY-MM-DDT00:00:00.00Z

Also, make sure you have no misspellings or incorrect cases in the query parameter keyword.