Immediate Order Processing
The Immediate Order Processing API can gather consumers’ shopping cart, address, and payment information on the client’s website without linking to an external URL (an Online Store). Use this API to:
Implement or keep shopping cart solution on the client server Transmit order data to OMS for payment and order processing Design the appearance of the shopping cart and ordering process Keep track of consumer orders in the client database Provide a single user experience for consumers
Getting Started
System Requirements
To use the Immediate Order Processing API, there must be a server with Internet access that the shopping cart software can gather the order data.
Writing the Application
The client needs to write the Immediate Create Order application. This application gathers order data from the shopping cart and generates an XML package. It then uses a Remote Procedure Call (RPC) to pass the package to the OMS server. When the order data enters the OMS system, it returns a success response with an OMS Order Number. The order is then processed in OMS.
The application can be written in any programming or scripting language that can handle an RPC, including PHP, ASP, Cold Fusion, JSP, JAVA, C, and so on.
Process Flow
The process for the OMS Immediate Order Processing API XML-RPC is summarized here:
Consumer product data is gathered in the manufacturer side shopping cart.Part numbers, UPCs, product name, retail prices, actual prices, margins, quantities, and other product data must be in the cart. Consumer shipping and billing address information is collected securely on the manufacturer’s site. Consumer payment information, including gift cards and promotions, is also collected. The shopping cart constructs a single XML package with this information. The XML package is transmitted to OMS using the prepared RPC. A response is generated from the RPC.A success response provides an order number. An error response provides specific information about the error. The order number and an order summary should be presented to the consumer. An order summary email with details such as billing and shipping information should be sent to the consumer. The consumer order process is complete and the order is sent to the retailer network for fulfillment.
Programming the Immediate Order Processing API
Server and RPC Information
Create an XML-RPC message that calls immediate.create_order and passes an array of the parameters listed in the table below that defines the package elements, below. Create an XML-RPC client that connects to the following server:
Server file name: /xmlAdvServer.php Server address: xml.shopatron.com Server port: 80 (may use HTTPS port: default is 443)
Applying Tax Rules
Optionally, you can include tax rules to specify how tax is applied to a particular line item in an order. Tax rules apply tax to the line item, based on who fills the order and where they fill it. For each line item, the tax rule can be:
Merchant specific – If the specified merchant fills the order, the associated tax amount is applied. Fulfillment partner specific – If the specified fulfillment partner (or retailer) fills the order, the associated tax amount is applied, regardless of location. Fulfillment location specific – If a fulfillment partner fills the order from the specified location, the associated tax amount is applied. Catch all – These rules apply if the order is filled by any merchant, fulfillment partner, or fulfillment location that is not covered by other specified rules.
Required and Optional Parameters
There are a number of possible parameters:
Element Required Parent Element Type Occurs Description UserName Yes None string 1/order A valid, active OMS username with correct permissions. Password Yes None string 1/order The password for the user account. ManufacturerID Yes None int 1/order OMS manufacturer ID. CatalogID Yes None int 1/order The OMS-assigned Catalog ID. Order Block Yes None struct 1/order Main body of XML package. Acts only as container of other structs. PaymentInfo Yes Order Block struct n/order Include one Payment Info structure for each method of payment. PayType Yes PaymentInfo struct n/struct Payment type (credit card) used for order. Account1 Yes PayType string 1/struct Credit card number. Account2 Yes PayType string 1/struct Credit card CCV number. Account3 Yes PayType string 1/struct Credit card expiration date (MM_YYYY). MaxAmount Optional PayType double 1/struct When multiple PaymentInfo structures are included, this parameter identifies the maximum amount that can be charged to this one. If there is only one PayType, no MaxAmount may be specified. TxnID (Transaction ID) Optional PayType string 1/struct When a merchant gift card is used, this is the merchant’s authorization code. FeePercentage Optional PPayType double 1/struct When a merchant gift card is used, this parameter indicates the percentage of the gift card sale that will be transferred to Kibo. BillingAddress Yes PayType struct 1/struct Billing address information. Phone Yes BillingAddress string 1/struct Phone number associated with the billing address. Address1 Yes BillingAddress string 1/struct First line of billing address. The maximum length is 50. Address2 Optional BillingAddress string 1/struct Second line of billing address. The maximum length is 50. Address3 Optional BillingAddress string 1/struct Third line of billing address. The maximum length is 50. City Yes BillingAddress string 1/struct City for billing address. State Yes BillingAddress string 1/struct State for billing address. This is a two-digit state code. Zip Yes BillingAddress string 1/struct Zip or postal code for billing address. This is a five-digit code. Country Yes BillingAddress string 1/struct Two-character country code for the billing address. ContactInfo Yes Order Block struct 1/order Contact information for the consumer who placed the order. Email Yes ContactInfo string 1/struct Consumer’s email address. Phone Yes ContactInfo string 1/struct Consumer’s phone number. FirstName Yes ContactInfo string 1/struct Consumer’s first name. LastName Yes ContactInfo string 1/struct Consumer’s last name. OrderItems Yes Order Block struct n/order Information about an item in the order. CartItemID Yes OrderItems int 1/struct The cart ID of the item. CustomItemData Yes OrderItems struct n/order The manner in which Line Number IDs are sent to be used later in the return transition. The name value pairs can be any data. Escape any special characters (i.e. ampersands “&”). ManufacturerPartNumber Yes OrderItems string 1/struct The merchant’s part number for the item. The maximum length is 47. UPC Optional OrderItems string 1/struct The item’s UPC code. Name Yes OrderItems string 1/struct The product name of the item. Options Optional OrderItems struct n/struct Information about an option for the item. OptionsText Yes, if Options is included Options string 1/struct A text string that identifies options for the item. The maximum length is 400. RetailPrice Yes OrderItems double 1/struct The retail price of the item. ActualPrice Yes OrderItems double 1/struct The actual price that the consumer is paying for the item. ADM Yes OrderItems double 1/struct Average dealer margin for the item (for example, .5 for 50%). Quantity Yes OrderItems int 1/struct Quantity for the item. Shipping Yes OrderItems double 1/struct Shipping charge for the item. TaxRules Optional OrderItems struct 1/struct Tax rules to be applied to the item. Tax Yes, if TaxRules is included TaxRules double 1/struct Tax amount for the item. MfgId Optional TaxRules int 1/struct The fulfilling merchant’s OMS ID. RetailerId Optional TaxRules int 1/struct Retailer ID for the fulfiller, as assigned by OMS. ForcedOverride Optional TaxRules int 1/struct 0-No; 1-Yes. If 0, tax rules are always applied. If set to false (default), tax rules do not apply if tax would not apply otherwise. ShippingAddress Yes Order Block struct 1/order Shipping information. Address1 Yes ShippingAddress string 1/struct First line of the shipping address. Address2 Optional ShippingAddress string 1/struct Second line of the shipping address. Address3 Optional ShippingAddress string 1/struct Third line of the shipping address. City Yes ShippingAddress string 1/struct City for the shipping address. State Yes ShippingAddress string 1/struct State for the shipping address. Zip Yes ShippingAddress string 1/struct Zip or postal code for the shipping address. Country Yes ShippingAddress string 1/struct Two-character country code for the shipping address. ShippingMethod Optional Order Block struct 1/order Shipping method information for the order. ShipType Optional ShippingMethod string 1/struct The shipping type for the order. Acceptable values are: standard (for standard shipping), 1day (for 1-day guaranteed next-day delivery), 2day (for 2-day guaranteed delivery), 3day (for 3-day guaranteed delivery), ispu (for in-store pickup or Local Search First), sts (for Ship-to-Store), and sts+ (for shopper’s choice). Note: These values are case-sensitive. ExternalID Optional Shipping Method string 1/struct This is the unique store ID, typically numeric, to identify the store that an item will be picked up at. FailoverChoice Yes, for ShipType sts+. N/A for others. Shipping Method string 0-1 / struct Secondary shipment type requested by consumer. Acceptable values are: standard (fails over to Standard fulfillment), sts (fails over to Ship-to-Store), and stsx (fails over to Canceled). LookupZip Yes, for ispu, sts, sts+ only Shipping Method string 1/struct The ZIP code of the shipping location. SMSNumber Optional Shipping Method string 1/struct The consumer’s phone number for the pickup notification. RetailerID Yes, for ispu, sts, sts+ only Shipping Method int 1/struct The OMS RetailerID of the fulfillment partner who is fulfilling this order. RetailerLocationID Yes, for ispu, sts, sts+ only Shipping Method int 1/struct The OMS Retailer LocationID of the fulfillment partner who is fulfilling this order. If this is the default location, use a blank string. GiftInfo Optional Order Block struct 1/order Information for gift orders. RecipientName Yes, if GiftInfo is included GiftInfo string 1/struct Name of the gift recipient. GiftMessage Yes, if GiftInfo is included GiftInfo string 1/struct Message for the gift recipient. The maximum length is 1000. OrderComment Optional Order Block string 1/order Comment entered by the consumer when the order was placed. CustomerIP Yes Order Block string 1/order IP address from which the order was placed. ExOrderID Yes Order Block string 1/order External Order ID, from your system. OptInRetailer Yes Order Block int 1/order Indicates if the retailer can use the email address from this order for marketing purposes: 0-No; 1-Yes LandingCode Optional Order Block string 1/order The source code for this order, as stored in the OMS database. isTestOrder Optional Order Block int 1/order Indicates if the order is intended as a test order. Will bypass credit card authorization. 1-Test order; 0-“Real” order CustomData Optional Order Block struct 1/order A container for optional information like Loyalty Program ID. LanguageID Optional Order Block int 1/order The language for the order. The following values are accepted: 1 (US English), 2 (UK English), 5 (DE German), and 7 (FR French). CurrencyID Optional Order Block int 1/order The currency type for the order. The following currency types are supported: 1 (US Dollar), 2 (Canadian Dollar), 3 (British Pound), 5 (German Euro), 6 (French Euro), 7 (Italian Euro), 8 (Spanish Euro), 9 (British Euro), and 10 (Dutch euro).
Example Requests
This first example is a minimal XML-RPC message.
<?xml version="1.0"?>
<methodCall>
<methodName>immediate.create_order</methodName>
<params>
<param>
<value>
<string>xml_user</string>
</value>
</param>
<param>
<value>
<string>a373f71ac0cbad09390e01b27a0ba726</string>
</value>
</param>
<param>
<value>
<int>490</int>
</value>
</param>
<param>
<value>
<int>3</int>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>PaymentInfo</name>
<value>
<struct>
<member>
<name>1</name>
<value>
<struct>
<member>
<name>PayType</name>
<value>
<string>CC</string>
</value>
</member>
<member>
<name>Account1</name>
<value>
<string>9999999999999999</string>
</value>
</member>
<member>
<name>Account2</name>
<value>
<string>123</string>
</value>
</member>
<member>
<name>Account3</name>
<value>
<string>2009-08</string>
</value>
</member>
<member>
<name>BillingAddress</name>
<value>
<struct>
<member>
<name>Phone</name>
<value>
<string>(805)547-8369</string>
</value>
</member>
<member>
<name>Address1</name>
<value>
<string>2074 Parker St.</string>
</value>
</member>
<member>
<name>City</name>
<value>
<string>San Luis Obispo</string >
</value>
</member>
<member>
<name>State</name>
<value>
<string>CA</string>
</value>
</member>
<member>
<name>Zip</name>
<value>
<string>93401</string>
</value>
</member>
<member>
<name>Country</name>
<value>
<string>US</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ContactInfo</name>
<value>
<struct>
<member>
<name>Email</name>
<value>
<string>testuser@kibocommerce.com</string>
</value>
</member>
<member>
<name>Phone</name>
<value>
<string>(555) 555-1234</string>
</value>
</member>
<member>
<name>Firstname</name>
<value>
<string>Tom</string>
</value>
</member>
<member>
<name>Lastname</name>
<value>
<string>Jones</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>OrderItems</name>
<value>
<struct>
<member>
<name>0</name>
<value>
<struct>
<member>
<name>CartItemID</name>
<value>
<int>1544295</int>
</value>
</member>
<member>
<name>CustomItemData</name>
<value>
<struct>
<member>
<name>custom name here</name>
<value>
<string>custom value here</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ManufacturerPartNumber</name>
<value>
<string>40600921807</string>
</value>
</member>
<member>
<name>UPC</name>
<value>
<string>642331772463</string>
</value>
</member>
<member>
<name>Name</name>
<value>
<string>RH XL 5000 Set Mens Driver,3W,5W,4H-5H,6-9iron,PW,SW,Putter,Stand Bag, Top-Flite Shaft Regular Std(Black)</string>
</value>
</member>
<member>
<name>RetailPrice</name>
<value>
<double>299</double>
</value>
</member>
<member>
<name>ActualPrice</name>
<value>
<double>299</double>
</value>
</member>
<member>
<name>ADM</name>
<value>
<double>.5</double>
</value>
</member>
<member>
<name>Quantity</name>
<value>
<int>1<int>
<value>
</member>
<member>
<name>Shipping</name>
<value>
<double>8.90</double>
</value>
</member>
<member>
<name>TaxRules</name>
<value>
<struct>
<member>
<name>0</name>
<value>
<struct>
<member>
<name>Tax</name>
<value>
<double>5.32</double>
</value>
</member>
<member>
<name>MfgId</name>
<value>
<int> 138</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>1</name>
<value>
<struct>
<member>
<name>Tax</name>
<value>
<double>10</double>
</value>
</member>
<member>
<name>RetailerId</name>
<value>
<int>2687</int>
</value>
</member>
<member>
<name>RetailerLocationId</name>
<value>
<int>0</int>
</value>
</member>
<member>
<name>ForcedOverride</name>
<value>
<int>0</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>2</name>
<value>
<struct>
<member>
<name>Tax</name>
<value>
<double>5.362</double>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ShippingAddress</name>
<value>
<struct>
<member>
<name>Phone</name>
<value>
<string>(805)547-8368</string>
</value>
</member>
<member>
<name>Address1</name>
<value>
<string>2074 Parker Street</string>
</value>
</member>
<member>
<name>City</name>
<value>
<string>San Luis Obispo</string>
</value>
</member>
<member>
<name>State</name>
<value>
<string>CA</string>
</value>
</member>
<member>
<name>Zip</name>
<value>
<string>93401</string>
</value>
</member>
<member>
<name>Country</name>
<value>
<string>US</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ShippingMethod</name>
<value>
<struct>
<member>
<name>ShipType</name>
<value>
<string>sts+</string>
</value>
</member>
<member>
<name>FailoverChoice</name>
<value>
<string>sts</string>
</value>
</member>
<member>
<name>LookupZip</name>
<value>
<int>93401</int>
</value>
</member>
<member>
<name>SMSNumber</name>
<value>
<int>8054419989</int>
</value>
</member>
<member>
<name>RetailerID</name>
<value>
<int>2687</int>
</value>
</member>
<member>
<name>RetailerLocationID</name>
<value>
<int>8006</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>CustomerIP</name>
<value>
<string>11.123.456.789</string>
</value>
</member>
<member>
<name>ExOrderID</name>
<value>
<string>9876543</string>
</value>
</member>
<member>
<name>OptInRetailer</name>
<value>
<int>0</int>
</value>
</member>
<member>
<name>CurrencyID</name>
<value>
<int>1</int>
</value>
</member>
<member>
<name>LanguageID</name>
<value>
<int>1</int>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
This request contains all of the required parameters.
<?xml version="1.0"?>
<methodCall>
<methodName>immediate.create_order</methodName>
<params>
<param>
<value>
<string>xml_user</string>
</value>
</param>
<param>
<value>
<string>a373f71ac0cad09390e01b27a0ba726</string>
</value>
</param>
<param>
<value>
<int>490</int>
</value>
</param>
<param>
<value>
<int>3</int>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>PaymentInfo</name>
<value>
<struct>
<member>
<name>3</name>
<value>
<struct>
<member>
<name>PayType</name>
<value>
<string>CC</string>
</value>
</member>
<member>
<name>Account1</name>
<value>
<string>9999999999999999999 </string>
</value>
</member>
<member>
<name>TxnId</name>
<value>
<string>123456</string>
</value>
</member>
<member>
<name>BillingAddress</name>
<value>
<struct>
<member>
<name>Phone</name>
<value>
<string>(805)547-8369 </string>
</value>
</member>
<member>
<name>Address1</name>
<value>
<string>2074 Parker Street</string>
</value>
</member>
<member>
<name>Address2</name>
<value>
<string>Suite 100</string>
</value>
</member>
<member>
<name>Address3</name>
<value>
<string></string>
</value>
</member>
<member>
<name>City</name>
<value>
<string>San Luis Obispo</string>
</value>
</member>
<member>
<name>State</name>
<value>
<string>CA </string>
</value>
</member>
<member>
<name>Zip</name>
<value>
<string>93401</string>
</value>
</member>
<member>
<name>Country</name>
<value>
<string>US</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>Account2</name>
<value>
<string>123</string>
</value>
</member>
<member>
<name>Account3</name>
<value>
<string>01_2010</string>
</value>
</member>
<member>
<name>FeePercentage</name>
<value>
<double>5</double>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ContactInfo</name>
<value>
<struct>
<member>
<name>Email</name>
<value>
<string>testuser@kibocommerce.com</string>
</value>
</member>
<member>
<name>Phone</name>
<value>
<string>(555) 555-1234</string>
</value>
</member>
<member>
<name>Firstname</name>
<value>
<string>Tom</string>
</value>
</member>
<member>
<name>Lastname</name>
<value>
<string>Jones</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>OrderItems</name>
<value>
<struct>
<member>
<name>0</name>
<value>
<struct>
<member>
<name>CartItemID</name>
<value>
<int>1544295</int>
</value>
</member>
<member>
<name>CustomItemData</name>
<value>
<struct>
<member>
<name>custom name here</name>
<value>
<string>custom value here</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ManufacturerPartNumber</name>
<value>
<string>40600921807</string>
</value>
</member>
<member>
<name>UPC</name>
<value>
<string>642331772463</string>
</value>
</member>
<member>
<name>Name</name>
<value>
<string>RH XL 5000 Set Mens Driver,3W,5W,4H-5H,6-9iron,PW,SW,Putter,Stand Bag,Top-Flite Shaft Regular Std(Black)</string>
</value>
</member>
<member>
<name>Options</name>
<value>
<struct>
<member>
<name>0</name>
<value>
<string>Set Composition:Driver,3 Wood,5 Wood,4H-5H,6-9 iron,PW,SW, Putter,Stand Bag</string>
</value>
</member>
<member>
<name>1</name>
<value>
<string>Shaft Origin:Factory Installed - Stock</string>
</value>
</member>
<member>
<name>2</name>
<value>
<string>Gender:Mens</string>
</value>
</member>
<member>
<name>3</name>
<value>
<string>Shaft:Regular</string>
</value>
<member>
<name>RetailPrice</name>
<value>
<double>299</double>
</value>
</member>
<member>
<name>ActualPrice</name>
<value>
<double>299</double>
</value>
</member>
<member>
<name>ADM</name>
<value>
<double>0.3</double>
</value>
</member>
<member>
<name>Quantity</name>
<value>
<int>1</int>
</value>
</member>
<member>
<name>Shipping</name>
<value>
<double>8.90</double>
</value>
</member>
<member>
<name>TaxRules</name>
<value>
<struct>
<member>
<name>0</name>
<value>
<struct>
<member>
<name>Tax</name>
<value>
<double>5.32 </double>
</value>
</member>
<member>
<name>MfgId</name>
<value>
<int>138</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>1</name>
<value>
<struct>
<member>
<name>Tax</name>
<value>
<double>10 </double>
</value>
</member>
<member>
<name>RetailerId </name>
<value>
<int>2687</int>
</value>
</member>
<member>
<name> RetailerLocationId</name>
<value>
<int>0</int>
</value>
</member>
<member>
<name>ForcedOverride </name>
<value>
<int>0</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>2</name>
<value>
<struct>
<member>
<name>Tax</name>
<value>
<double>5.362 </double>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ShippingAddress</name>
<value>
<struct>
<member>
<name>Phone</name>
<value>
<string>(805)547-8368</string>
</value>
</member>
<member>
<name>Address1</name>
<value>
<string>2074 Parker Street</string>
</value>
</member>
<member>
<name>Address2</name>
<value>
<string>Suite 100</string>
</value>
</member>
<member>
<name>Address3</name>
<value>
<string></string>
</value>
</member>
<member>
<name>City</name>
<value>
<string>San Luis Obispo</string>
</value>
</member>
<member>
<name>State</name>
<value>
<string>CA</string>
</value>
</member>
<member>
<name>Zip</name>
<value>
<string>93401</string>
</value>
</member>
<member>
<name>Country</name>
<value>
<string>US</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>ShippingMethod</name>
<value>
<struct>
<member>
<name>ShipType</name>
<value>
<string>sts</string>
</value>
</member>
<member>
<name>LookupZip</name>
<value>
<int>93401</int>
</value>
</member>
<member>
<name>SMSNumber</name>
<value>
<int>8054419989</int>
</value>
</member>
<member>
<name>RetailerID</name>
<value>
<int>2687</int>
</value>
</member>
<member>
<name>RetailerLocationID</name>
<value>
<int>8006</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>GiftInfo</name>
<value>
<struct>
<member>
<name>RecipientName</name>
<value>
<string>Joe Jones</string>
</value>
</member>
<member>
<name>GiftMessage</name>
<value>
<string>Happy Bday Dad</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>OrderComment</name>
<value>
<string></string>
</value>
</member>
<member>
<name>CustomerIP</name>
<value>
<string>11.123.456.789</string>
</value>
</member>
<member>
<name>ExOrderID</name>
<value>
<string>9876543</string>
</value>
</member>
<member>
<name>CurrencyID</name>
<value>
<int>1</int>
</value>
</member>
<member>
<name>LanguageID</name>
<value>
<int>1</int>
</value>
</member>
<member>
<name>OptInRetailer</name>
<value>
<int>0</int>
</value>
</member>
<member>
<name>LandingCode</name>
<value>
<string>9876543</string>
</value>
</member>
<member>
<name>CustomData</name>
<value>
<struct>
<member>
<name>LoyaltyProgramID</name>
<value>
<string>123456789</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
Example Responses
Unlike REST APIs, the XML-RPC APIs do not return HTTP status codes to indicate success or failure. For success, the RPC returns an OMS Order Number. On an error, the RPC returns a response message with the faultCode and faultString.
A full list of faultCode and faultString options can be found below:
Code Description order_id Success. Order created and order_id (Order Number) returned. Order Blocks, ItemID, CartItemID Order is still being bid on, and is not assigned yet. 99 Error: Invalid Authorization. 2 Error: Order data not correct. Examine error message. 5 Error: Order resolve is currently running. 11 Error: Authorization Failure.
Successful responses may look like the below sample:
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>OrderID</name>
<value>
<string>19545449</string>
</value>
</member>
<member>
<name>Items</name>
<value>
<struct>
<member>
<name>0</name>
<value>
<struct>
<member>
<name>ItemID</name>
<value>
<string>9999999</string>
</value>
</member>
<member>
<name>CartItemID</name>
<value>
<string>1544295</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>1</name>
<value>
<struct>
<member>
<name>ItemID</name>
<value>
<string>8888888</string>
</value>
</member>
<member>
<name>CartItemID</name>
<value>
<string>1544296</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
An error response includes an error code and reason:
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value>
<int>99</int>
</value>
</member>
<member>
<name>faultString</name>
<value>
<string>Invalid Authorization</string>
</value>
</member>
</struct>
</value>
</fault>
</methodResponse>
Handling Errors
If you receive an error response fault code after sending the order information to OMS, take the following steps:
Record the outgoing package and the associated fault code response from OMS. Test for connectivity to the server. Hold the XML package for future transmission to OMS’s servers. Send an email to OMS Merchant Support; include the time and date of the failed transmission. When Kibo support staff responds, resend the failed attempts.