PromoStandards Inventory 2.0: Early Beta Testing

Published on December 19, 2017

A few weeks ago, I wrote about the draft specification for the PromoStandards Inventory 2.0 service. Yesterday, Starline opened up their Inventory 2.0 endpoints for beta testing. I had a chance to test the service, and here's what I found.

In these examples, I'm showing requests and responses for Starline # SL235SS (Product ID 33235), which is a 30 oz Urban PeakĀ® Vacuum Tumbler.

First, I made a call to the getFilterValues function to get the variations for the product. Here's what the request looked like:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetFilterValuesRequest xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/">
<wsVersion xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">2.0.0</wsVersion>
<id xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">REDACTED</id>
<password xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">REDACTED</password>
<productId xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">33235</productId>
</GetFilterValuesRequest>
</s:Body>
</s:Envelope>

Here's what the response looked like:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <GetFilterValuesResponse xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/">
      <FilterValues>
        <productId xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">33235</productId>
        <FilterArray>
          <Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
            <partId>SL235SS-32-00</partId>
            <PartColorArray>
              <partColor>White</partColor>
            </PartColorArray>
          </Filter>
          <Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
            <partId>SL235SS-34-00</partId>
            <PartColorArray>
              <partColor>Black</partColor>
            </PartColorArray>
          </Filter>
          <Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
            <partId>SL235SS-36-00</partId>
            <PartColorArray>
              <partColor>Red</partColor>
            </PartColorArray>
          </Filter>
          <Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
            <partId>SL235SS-37-00</partId>
            <PartColorArray>
              <partColor>Blue</partColor>
            </PartColorArray>
          </Filter>
          <Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
            <partId>SL235SS-38-00</partId>
            <PartColorArray>
              <partColor>Stainless</partColor>
            </PartColorArray>
          </Filter>
          <Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
            <partId>SL235SS-52-00</partId>
            <PartColorArray>
              <partColor>Titanium</partColor>
            </PartColorArray>
          </Filter>
        </FilterArray>
      </FilterValues>
    </GetFilterValuesResponse>
  </s:Body>
</s:Envelope>

So the product is available in White, Black, Red, Blue, Stainless, and Titanium variations, and the response includes the Part IDs for each of those variations.

Next, I made a call to getInventoryLevels function, and passed it a filter option so that only information for the red variation was returned. Here's the request that I sent:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetInventoryLevelsRequest xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/">
<wsVersion xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">2.0.0</wsVersion>
<id xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">REDACTED</id>
<password xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">REDACTED</password>
<productId xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">33235</productId>
<Filter xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
<partId>SL235SS-36-00</partId>
<PartColorArray>
<partColor>Red</partColor>
</PartColorArray>
</Filter>
</GetInventoryLevelsRequest>
</s:Body>
</s:Envelope>

And here's the response:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <GetInventoryLevelsResponse xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/">
      <Inventory xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/">
        <productId>33235</productId>
        <PartInventoryArray>
          <PartInventory>
            <partId>SL235SS-36-00</partId>
            <mainPart>true</mainPart>
            <partColor>Red</partColor>
            <partDescription>SL235SS-30oz SS TUMBLER</partDescription>
            <quantityAvailable>
              <Quantity>
                <uom>EA</uom>
                <value>3600</value>
              </Quantity>
            </quantityAvailable>
            <manufacturedItem>false</manufacturedItem>
            <InventoryLocationArray>
              <InventoryLocation>
                <inventoryLocationId>1</inventoryLocationId>
                <inventoryLocationName>Grand Island</inventoryLocationName>
                <Address>
                  <addressLines>3036 Alt Blvd.</addressLines>
                  <city>Grand Island</city>
                  <country>US</country>
                  <postalCode>14072</postalCode>
                  <region>NY</region>
                </Address>
                <inventoryLocationQuantity>
                  <Quantity>
                    <uom>EA</uom>
                    <value>3600</value>
                  </Quantity>
                </inventoryLocationQuantity>
                <onOrderQuantity>
                  <Quantity>
                    <uom>EA</uom>
                    <value>6432</value>
                  </Quantity>
                </onOrderQuantity>
                <FutureAvailabilityArray>
                  <FutureAvailability>
                    <Quantity>
                      <uom>EA</uom>
                      <value>6204</value>
                    </Quantity>
                    <availableOn>2017-12-28T00:00:00</availableOn>
                  </FutureAvailability>
                  <FutureAvailability>
                    <Quantity>
                      <uom>EA</uom>
                      <value>228</value>
                    </Quantity>
                    <availableOn>2017-12-29T00:00:00</availableOn>
                  </FutureAvailability>
                </FutureAvailabilityArray>
              </InventoryLocation>
            </InventoryLocationArray>
            <lastModified>2017-12-19T09:41:57.7806384Z</lastModified>
          </PartInventory>
        </PartInventoryArray>
      </Inventory>
    </GetInventoryLevelsResponse>
  </s:Body>
</s:Envelope>

In this example, Starline has 3600 of the tumblers available, and all of them are available in their Grand Island, New York warehouse. Also notice that the response includes information regarding "on order quantity" and "future availability." Starline has 6432 of the tumblers on order with their supplier, is expecting to receive 6204 of the tumblers on 12/28, and the another 228 more on 12/29.

The current specification for the Inventory 2.0 service is now available on the PromoStandards site, and can be found here: http://www.promostandards.org/service/view/14/