Developer API
If you are reading this document there is a good chance that you
are looking for a tighter integration than ODBC or ABOL Sync.
iabol API is designed to work with the iabol.com web interface and
not to replace it. It’s an extention to the functionality of iabol to
developers and integrators. The iabol API is divided in 2 components.

|
 |
Ship API - for shipment processing related functions like ship, void, manifest, track
Data API - for importing and exporting (coming soon) order, shipment and address book data |
iabol is a constantly growing product, and so is the API. Every month new carriers and capabilities are added, so please do not hesitate to reach out to api@iabol.com with your inquiries. Please also keep in mind that this document is limited to the US origin market. However, iabol is used in many countries around the world, so contact us if you have needs to ship from other territories around the world. iabol API’s XML interface is the core engine behind iabol 2.0 and utilizes these core interfaces.

1. It is important to understand that using the API does perform the same background logic as
using iabol. Any shipment processed or voided is reflected in the iabol 2.0 UI as if the web.
browser was utilized. This means that iabol 2.0 needs to be properly configured for the API to
return proper results. For example, if the intention is to ship UPS through the API, UPS needs
to be properly configured (use the Add Carrier wizard) in iabol 2.0
2. To take it a step further:
Even if UPS is properly configured and has only Ground and Express services enabled, only
these two services are available for shipping through the API.
This concept carries through all aspects of the iabol API. Another example is that if a user
is deleted, the credentials will not work with API either.
Benefits
- Ship across multiple carriers with one API.
- Switch between multiple shipping sites by switching credentials.
- Combine use iabol and API together (UP in shipping department, API in intranet).
- Manage accessible API services with the iabol UI.
- Track shipments from multiple carriers with one API.
Funtionality
- Shipping: Process a shipment and return a shipping label
Ship API will process a shipment based on the authentication and shipment criteria passed to the web service. The API supports multi-piece as as well as international shipments. The web service returns the label in the requested format (ZPL, EPL, PNG) as base 64 encoded string.
- Voiding: Void a shipment based on tracking number
Sending a void request flags the shipment as voided in iabol and passes it on to any carriers that require it. For example, voiding an Endicia package will automatically trigger a refund request to send the postage back to your Endicia postage account.
- Closing out: Close Out current shipments / Perform and End of Day request
Although some carriers do not require the user to perform an End of Day close out in the online world, we still encourage users in a daily close out routine. It helps with reporting and daily management of shipments. By calling the ship API with either a carrier code or service code, the API user has very granular control over the manifesting process.
- Tracking: Track a shipment by tracking NBR or reference NBR
Same as the iabol application, the iabol API has access to all available carriers tracking interfaces. So by calling one API, you have access to all iabol supported carriers shipment statuses. However, please be aware that iabol only allows tracking shipments that were prepared by iabol.

The Data API is designed to allow developers to "push" data into iabol. The API two types of data integration:
1. Order Import
- Submit order data that can be used to process a shipment. this data can be as simple as an address and weight, or as complex as an international multi-piece shipment. The submitted data is available through the Import Data Module in iabol.
- The API allows developers to control how to handle resubmitted information. So for example, if there is a changes in an internal system, the change can be easily replicated by resubmitting the data and requesting to replace the existing information with the newly submitted.
2. Address Book
- Allows developers to populate a user (private) or shipper / site (public) address book through the API. For example, you have an internally developed client management tool, the API allows you to populate the address book from this application. The data API can assist you in loading or updating the information..