Printer's Plan Shipping Workflow API Follow
Printer’s Plan Shipping Workflow API:
Printer’s Plan Shipping Workflow API
Communicating with the Printer’s Plan Shipping API requires Basic HTTP Auth using iso-8859-1 encoding and this authorization is required for both the Get and Post request.
GET Requests
The following requests can be made to the Printer’s Plan Shipping API to extract shipment data:
- Get Shipment(s) by Job Number.
- Get Shipment by Shipment Number.
- Get Shipment(s) by Last Modified Date.
GET Shipment by Job Number
When requesting Printer’s Plan Shipment information by the Printer’s Plan Job Number the following format must be used:
[Web Endpoint]/ShipApiListener.aspx?action=export&jobnumber=[Printer’s Plan JobNumber]&provider=[provider]
Here is a description of each URL Parameter:
action |
This value will always be export when requesting shipment information. |
jobnumber |
The Printer’s Plan job number. |
provider |
This value stores the name of the shipping provider and must be in all lowercase. If the provider name is unknown use Printer’s Plan (which is encoded as printer%20plan)
|
Example:
For authorization on this example request, use PrintersPlan as the username and password. This request will return all the shipments for the requested job number.
GET Shipment by Shipment Number
When requesting Printer’s Plan Shipment information by the Shipment Number the following format must be used:
[Web Endpoint]/ShipApiListener.aspx?action=export&shipmentno=[Printer’s Plan Shipment Number]&provider=[provider]
Here is a description of each URL Parameter:
action |
This value will always be export when requesting shipment information. |
shipmentnumber |
The Printer’s Plan shipment number |
provider |
This value stores the name of the shipping provider. This value must be in all lowercase. If the provider name is unknown use printersplan
|
Example:
For authorization on this example request, use PrintersPlan as the username and password. This request will return the shipment data for the requested shipment number.
GET Shipment by Last Modified Date
When requesting Printer’s Plan Shipment information by the Last Modified Date the following format must be used:
[Web Endpoint]/ShipApiListener.aspx?action=export&start_date=[Start Date]&end_date=[End Date]&Provider=[provider]
Here is a description of each URL Parameter:
action |
This value will always be export when requesting shipment information. |
start_date |
The start date in UTC time. Format: MM/dd/YYYY HH:mm (24 hour notation). For example 11/24/2020 21:09 |
end_date |
The end date in UTC time. |
provider |
This value stores the name of the shipping provider. This value must be in all lowercase. If the provider name is unknown use printersplan
|
Example:
For authorization on this example request, use PrintersPlan as the username and password. This request will return all the shipments for the requested time period that are assigned to the selected provider.
Example GET Response Body
Below is an example of the XML request body that will be generated when making a GET API call for a Printer’s Plan shipment record. You can find detailed definitions of the fields in the Printer’s Plan API Reference Guide.
<Shipments> <Shipment> <ShipNo> <![CDATA[215]]> </ShipNo> <OrderNumber> <![CDATA[2777]]> </OrderNumber> <OrderDate> <![CDATA[11/23/2020 12:00:00 AM]]> </OrderDate> <OrderStatus> <![CDATA[Ready to Ship]]> </OrderStatus> <LastModified> <![CDATA[11/23/2020 1:07:27 PM]]> </LastModified> <ShippingCarrier> <![CDATA[FedEx]]> </ShippingCarrier> <ShippingService> <![CDATA[Next-Day]]> </ShippingService> <Customer> <CustomerCode> <![CDATA[41]]> </CustomerCode> <BillTo> <Name> <![CDATA[Ann M Linz]]> </Name> <Company> <![CDATA[ABC Company]]> </Company> <Phone> <![CDATA[410-727-4565]]> </Phone> <Email> <![CDATA[alinz@abc.com]]> </Email> </BillTo> <ShipTo> <Name> <![CDATA[Jesse Boyd]]> </Name> <Company> <![CDATA[ABC Company]]> </Company> <Address1> <![CDATA[9645 Saratoga Blvd.]]> </Address1> <Address2> <![CDATA[]]> </Address2> <City> <![CDATA[Baltimore]]> </City> <State> <![CDATA[MD]]> </State> <PostalCode> <![CDATA[21207]]> </PostalCode> <Country> <![CDATA[us]]> </Country> <Phone> <![CDATA[]]> </Phone> </ShipTo> </Customer> <Items> <Item> <ItemID> <![CDATA[11865]]> </ItemID> <Name> <![CDATA[Brochures]]> </Name> <Weight> <![CDATA[0]]> </Weight> <WeightUnits>Ounces</WeightUnits> <Quantity> <![CDATA[1000]]> </Quantity> </Item> </Items> </Shipment> </Shipments> |
Printer’s Plan API Reference Guide:
Name |
XPath |
Type |
Description |
Shipments |
Shipments |
Container |
Root Node |
Shipment |
Shipments/Shipment |
Container |
Container node for a shipment |
ShipNo |
Shipments/Shipment/ShipNo |
String |
Unique identifier for a shipment. |
OrderNumber |
Shipments/Shipment/OrderNumber |
String |
Printer’s Plan Job Number. |
OrderDate |
Shipments/Shipment/OrderDate |
Date/Time |
The date the shipment was created |
OrderStatus |
Shipments/Shipment/OrderStatus |
String |
The status of the Printer’s Plan order |
LastModified |
Shipments/Shipment/LastModified |
Date/Time |
The last time the shipment record was modified |
ShippingCarrier |
Shipments/Shipment/ShippingCarrier |
String |
The shipping carrier for the shipment |
ShippingService |
Shipments/Shipment/ShippingService |
String |
The shipping service for the shipment |
Customer |
Shipments/Shipment/Customer |
Container |
Container node for the customer data |
CustomerCode |
Shipments/Shipment/Customer/CustomerCode |
String |
Printer’s Plan customer number |
BillTo |
Shipments/Shipment/Customer/BillTo |
Container |
Container node for the customer’s billing data |
Name |
Shipments/Shipment/Customer/BillTo/Name |
String |
The name of the default payer assigned to the customer account. |
Company |
Shipments/Shipment/Customer/BillTo/Company |
String |
The billing company |
Phone |
Shipments/Shipment/Customer/BillTo/Phone |
String |
The billing phone |
|
Shipments/Shipment/Customer/BillTo/Email |
String |
The email address of the default payer assigned to the customer account. |
ShipTo |
Shipments/Shipment/Customer/ShipTo |
Container |
Container node for the shipping information |
Name |
Shipments/Shipment/Customer/ShipTo/Name |
String |
Attention field of Printer’s Plan shipment |
Company |
Shipments/Shipment/Customer/ShipTo/Company |
String |
Company field of Printer’s Plan shipment |
Address1 |
Shipments/Shipment/Customer/ShipTo/Address1 |
String |
Line one address of Printer’s Plan shipment |
Address2 |
Shipments/Shipment/Customer/ShipTo/Address2 |
String |
Line two address of Printer’s Plan shipment |
City |
Shipments/Shipment/Customer/ShipTo/City |
String |
City of Printer’s Plan shipment |
State |
Shipments/Shipment/Customer/ShipTo/State |
String |
State of Printer’s Plan shipment |
PostalCode |
Shipments/Shipment/Customer/ShipTo/PostalCode |
String |
Zip code of Printer’s Plan shipment |
Country |
Shipments/Shipment/Customer/ShipTo/Country |
String |
2-character country code of Printer’s Plan shipment |
Phone |
Shipments/Shipment/Customer/ShipTo/Phone |
String |
Phone number of Printer’s Plan shipment record |
Items |
Shipments/Shipment/Items |
Container |
Container node for shipment items |
Item |
Shipments/Shipment/Items/Item |
Container |
Container node for shipment item |
ItemID |
Shipments/Shipment/Items/Item/ItemID |
String |
Item ID for Printer’s Plan shipment |
Name |
Shipments/Shipment/Items/Item/Name |
String |
Description of Printer’s Plan shipment |
Weight |
Shipments/Shipment/Items/Item/Weight |
String |
Weight of a single line item |
WeightUnits |
Shipments/Shipment/Items/Item/WeightUnits |
String |
Ounces |
Quantity |
Shipments/Shipment/Items/Item/Quantity |
String |
Quantity shipped in Printer’s Plan shipment |
POST Request
The POST request allows shipment data to be returned to Printer’s Plan. The following information on a Printer’s Plan shipment can be updated via the post request:
- Tracking Number
- Shipping Charge
- Date Shipped
- Shipping Carrier
- Shipping Service
The following URL format is required for a post request:
[Web Endpoint]/ShipApiListener.aspx?action=shipnotify&provider=[provider]
Example:
For authorization on this example request, use PrintersPlan as the username and password. This request will return all the shipments for the requested time period that are assigned to the selected provider.
Below is an example of the XML body when making a POST request for a shipment.
<?xml version="1.0" encoding="utf-8"?> <ShipNotice> <OrderID>4045</OrderID> <ShipNo>792</ShipNo> <Carrier>FedEx</Carrier> <Service></Service> <ShipDate>11/24/2020</ShipDate> <TrackingNumber>1Z909084330298430820</TrackingNumber> <ShippingCost>15.00</ShippingCost> </ShipNotice> |
Shipment Notification Field Definitions
Name |
XPath |
Type |
Description |
ShipNotice* |
ShipNotice |
Container |
Root Node |
OrderID |
ShipNotice/ |
String |
Printer’s Plan Job Number |
ShipNo* |
ShipNotice/ |
String |
Unique identifier for Printer’s Plan shipment. |
Carrier |
ShipNotice/ |
String |
The shipping carrier for the shipment |
Service |
ShipNotice/ |
String |
The shipping service for the shipment |
ShipDate |
ShipNotice/ |
Date |
Date of the shipment |
TrackingNumber |
ShipNotice/ |
String |
Tracking number for the shipment |
ShippingCost |
ShipNotice/ |
String |
Shipment cost |