IBC. Inc.

IBC Zipx Customer Service

Introduction

This service is used to manage the Zipx station database. With this service you will be allowed to view, add and update the database entries for your station.

Your client must use GET, POST, PUT and DELETE HTTP methods to successfully submit your entries or to remove your entry contacts.

The service URL is:
 https://api.pactrak.com/zipx/addresses 

This is a secured service, please visit the IBC authority service first to produce your administrative token using the Zipx REST services the URL:
 https://api.pactrak.com/authority/token?_zipx 

How to submit your data

For this service there are two resources available:

The main entries URL: https://api.pactrak.com/zipx/addresses/##[+] .
The customer contact entries URL: https://api.pactrak.com/zipx/addresses/##-#+/contacts.

The ## correspond to your station code, designated by IBC. The customer contact entries include that station code as the prefix, a hyphen
- '-' and your reference ID for that customer.

You may produce HTTP GET, POST, PUT and DELETE requests to these URLs providing the appropriate Zipx station code or your specific Zipx entry number.

These are samples of correctly formatted URL's for station #22.
(Not all HTTP requests are displayed).

  1. GET on https://api.pactrak.com/zipx/addresses/22 — Retrieves all the entries for station code 22.
  2. GET on https://api.pactrak.com/zipx/addresses/22-546464 — Retrieves the entry with ID: 22-566464 and the entry contacts.
  3. GET on https://api.pactrak.com/zipx/addresses/22-546464/contacts — Retrieves the entry contacts for ID: 22-566464.
  4. DELETE on https://api.pactrak.com/zipx/addresses/22-546464/contacts?name=WorkPhone — Delete the entry contact with the name 'WorkPhone'.

Each request entry should be submitted with a token parameter:
For example: https://api.pactrak.com/zipx/addresses/08?token=EROIPISDF:LLX...

IBC Zipx JSON Structure

The REST service currently accepts the following JSON structure to correctly report your information.

{ /* The following structure is available to read, create and update */
customer: {
account: "", /* Should be of the form ##-????? where ## is the designated station code * Required for POST and PUT */
name: "", /* The associated name for the account - Required for POST. Max 30 chars. */
provide_service: "", /* Choose between 'Y' and 'N' to designate the account as active or inactive. Required for POST. */
address1: "", /* The address to be stored for the user. Max 25 chars. */
address2: "", /* Max 25 chars. */
city: "", /* Max 25 chars. */
state: "", /* Max 2 chars. */
zip: "", /* Max 10 chars. */
country: "", /* Max 15 chars. */
contact: "", /* Max 20 chars. */
phone: "", /* Max 15 chars. */
comments: "" /* Max 40 chars. */
},
customer_contacts: /* For POST you need to always reference it as an array. */
[
{
id: "", /* Should match the account number specified in customer account. Required for POST and PUT entries. */
name: "", /* A unique name for the entry. Ie: WorkPhone or HomeEmail Required for POST entries. Max 63 chars.*/
description: "", /* Max 25 chars. */
email: "", /* Max 25 chars. */
send_notices: "", /* Indicator if email notices should be submitted. 'Y' or 'N'. Max 1 char. */
phone: "" /* Max 25 chars. */
}
]
}

JSON format Notes

For GET requests you will receive the JSON structures for customer and customer contacts described above.
Note: the listings of the station response do not show the customer_contact entries.

The response objects will only show the properties that have been set. Missing or null values will not be displayed on the JSON response object.

For POST, PUT requests you will need to supply the the JSON structure as input to complete your transactions. POST entries should be submitted as a parameter named 'feed'. PUT can also be submitted as a parameter named feed (usually appended to the URL) or in the body of the AJAX request.

You can combine the customer and customer_entries structure for POST entries.

For PUT entries you should submit a single structure, either customer or customer_contact entry.

Here is a sample JQuery ajax call to the service.
$.ajax(
{
type: "", /* Use POST, PUT or DELETE */
url: "https://api.pactrak.com/zipx/addresses/......",
data: data /* POST: {'feed':JSON.stringify( my_json_form )} | PUT: JSON.stringify( my_json_form ) */ ,
success: ......,
error: .....
}
);

After making a POST or PUT submission you should expect a return of the following JSON structure:

Response JSON structure.

{
/**
* The HTTP response code
* @type Integer.
*/
"code": 200,

/**
* Response message relevant to the action requested.
* @type String.
*/
"message":"",

/**
* Detailed Response message relevant to the action requested.
* @type String.
*/
"developerMessage":"",

/**
* A link to the resource.
* @type String.
*/
"href":"/url_to_service_or_resource",
}

Developer Resources

Restful services are capable of receiving requests form web based or standalone applications. We have tested our services to comply with REST standards, returning appropriate HTTP codes to help developers using commonly used frameworks as JQuery or Prototype.

Additionally, there are many examples from many different programming languages such as C#, Java, PHP and C++.

If you desire to test or need Java sample code, the following project is an example of how to call an HTTP Rest service using HTTP POST protocol, IBCPost.