PromoProducts.io JSON API Launched

Published on July 18, 2018

I'm excited to announce the launch of my latest project, the PromoProducts.io JSON API.

The PromoProducts.io JSON API gives developers an alternative way to consume PromoStandards-based services. With its JSON-based request and response model, the API is ideal for developers who are unfamiliar with or struggling with SOAP (the messaging protocol used by PromoStandards).


Supports All PromoStandards Services

The PromoStandards JSON API Service supports all of the PromoStandards service types - including those that are still in beta. That includes:

Inventory 1.2.1
Inventory 2.0.0-RC4 (beta)
Invoice 0.0.1 (beta)
Media Content 1.1.0
Order Shipment Notification 1.0.0
Order Status 1.0.0
Product Data 1.0.0
Product Pricing and Configuration 1.0.0


How The JSON API Works

To send requests to the JSON API Service, you simply POST a JSON request that includes information about the supplier whose service that you want to get data from, the ID and password that the supplier has assigned to you, information about the type of API call you want to make (ex: Inventory, Order Status, etc) and a few other values depending on the data that you want to retrieve.

For example, suppose that you want to get inventory information for a Starline product. You would send the following JSON payload.

{
  "apiKey": "your-api-key",
  "supplier": "STAR",   
  "id": "your-id",
  "password": "your-password",  
  "service": "INV",
  "version": "1.2.1",  
  "function": "getInventoryLevels",
  "productID": "AF200",
  "productIDType": "Supplier"
}

The JSON-encoded response that you'll get back will look something like this.

{
  "Status": "200",
  "Response": {
    "Envelope": {
      "Body": {
        "Reply": {
          "productID": "AF200",
          "ProductVariationInventoryArray": {
            "ProductVariationInventory": [
              {
                "partID": "AF200-35-00",
                "partDescription": "Tempo Sports Fitness Belt",
                "quantityAvailable": "1500",
                "attributeColor": "Gray",
                "attributeSize": "NA",
                "entryType": "exact",
                "validTimestamp": "2018-07-13T17:47:26.7337365Z"
              },
              {
                "partID": "AF200-36-00",
                "partDescription": "Tempo Sports Fitness Belt",
                "quantityAvailable": "1050",
                "attributeColor": "Red",
                "attributeSize": "NA",
                "entryType": "exact",
                "validTimestamp": "2018-07-13T17:47:26.749361Z"
              }
              ...
            ]
          }
        }
      }
    }
  }
}

Learn More

For more information about the PromoProducts.io JSON API, visit https://json.promoproducts.io. And if you have any comments or questions about the service, please contact me.