Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Main Menu Configuration Custom Channel Partners

 


At the 1st screen click the new button.


 


There are four text fields and two check boxes to be completed.  Also, two check boxes are to be considerd.  

 

 API Credentials

The following are brief descriptions of the fields.  

...

                                            

Header Name

Alternate Header Name

Format

Description

Required

order.channelPartnerOrderId

 

String

A unique order ID from the external system.

Y

order.paymentMethod


String

The method of payment. Credit Card or Purchase Order

Y

order.noRealtimePaymentProcessing

 

Boolean

Leaves the order in Accounts Receivable instead of processing the card in real-time. 


order.skipPaymentProcessing


Boolean

Skip over the payment processing and move the order on to shipping. 


order.considerRecurring 
BooleanIf set to true, then we will pass the recurring flag to the gateways that support it (Authorize.Net and PayPal Web Payments Pro) 

order.autoApprovePurchaseOrder

 

Boolean

Automatically approve the purchase order. 


order.storeIfPaymentDeclines

 

Boolean

Store the order in Accounts Receivable if the credit card declines

Recommend - Y

order.treatWarningsAsErrors 
BooleanTreat warnings (like the pre-oder warning) as errors that prevent the order from importingDefaults to Y
order.storeCompleted 
BooleanStore the order in the completed orders stage of the system.  This is used for importing historical orders from other carts. 

order.creditCardAuthorizationReferenceNumber


String

If you authorized the order outside of UltraCart, this is the transaction identifier that UltraCart will use to capture the order.

 


order.creditCardAuthorizationAmount


Number

If you authorized the order outside of UltraCart, this is the amount of the authorization.

 


order.creditCardAuthorizationDts

 

Timestamp

If you authorized the order outside of UltraCart, this is the timestamp of the authorization.
Required format: MM/DD/YYYY HH:MM:SS
Example  07/01/2014 14:23:32 Required format: MM/DD/YYYY HH:MM:SS
Example:  07/01/2014 14:23:32

 


order.creditCardType


String

Visa, MasterCard, AMEX, or Discover

Y - CC Orders

order.creditCardNumber

 

String

15 or 16 digit credit card number (spaces or dashes OK)

Y - CC Orders

order.creditCardToken


String

Token of the credit card (Stripe.com or other tokenizing gateway supported by UltraCart). 


order.creditCardExpirationMonth

 

Number

Month 1 through 12  (January = 1, December = 12)

Y - CC Orders

order.creditCardExpirationYear

 

Number

Four Digit Year

Y - CC Orders

order.creditCardExpirationMonthYear 
StringThe format MM/YY or MM/YYYY 

order.creditCardVerificationNumber

 

Number

 

 



order.rotatingTransactionGatewayCode 
StringThe rotating transaction gateway code to use for this order. 

order.purchaseOrderNumber


String

The purchase order number.

Y- Purchase Order

order.billToFirstName


String

 


Y

order.billToLastName


String 


Y

order.billToTitle

 

String

 

 



order.billToCompany


String

 

 



order.billToAddress1


String

 


Y

order.billToAddress2

 

String

 

 



order.billToCity

 

String

 


Y

order.billToState


String 


Y

order.billToPostalCode

 

String 


Y

order.billToCountry

 

String

Use the full spelling that UltraCart uses or provide the ISO-3166 two letter country code.

Y

order.billToDayPhone


String

 

 



order.billToEveningPhone

 

String

 

 



order.email

 

String

 

 



order.ccEmail


String

 

 



order.associatedWithCustomerProfileIfPresent


String

If this is yes, the order will be associated with the customer profile that has the same email (if it exists) and they will receive their discounted pricing.

 


order.shipToFirstName


String 


Y - physical goods

order.shipToLastName

 

String

 


Y - physical goods

order.shipToTitle

 

String 

 



order.shipToCompany

 

String

 

 



order.shipToAddress1


String 


Y - physical goods

order.shipToAddress2


String 

 



order.shipToCity


String

 


Y - physical goods

order.shipToState


String 


Y - physical goods

order.shipToPostalCode


String 


Y - physical goods

order.shipToCountry


String

Use the full spelling that UltraCart uses or provide the ISO-3166 two letter country code.

Y - physical goods

order.shipToPhone

 

String 


Y - physical goods

order.shipToEveningPhone

 

String

 

 



order.shippingMethod


String

If the order requires shipping then you either need to specify the name of the method in this field, or pass order.leastCostRoute = true and let UltraCart pick the method of shipment

Maybe

order.arbitraryTax


Number

The tax charged by the external system

 


order.arbitraryTaxableSubtotal


Number

The taxable subtotal the tax was based upon by the external system

 


order.arbitraryTaxRate

 

Number

The tax rate used by the external system

 


order.arbitraryShippingHandlingTotal


Number

The shipping/handling cost charged by the external system

 


order.taxExempt


Boolean 

 



order.giftMessage


String

 

 



order.deliveryDate


Date

If specified, use the format MM/DD/YYYY 


order.shipOnDate

 

Date 

 



order.ipAddress


String

The IP address of the remote customer (pass 127.0.0.1) if not available

Y

order.shipToResidential


Boolean

Will default to a business if not specified

Recommended

order.mailingListOptIn


Boolean

Will default to opted out if not specified

Recommended

order.specialInstructions


String

Special instructions from the customer about shipment

 


order.screenBrandingThemeCode


String

The screen branding theme code to associate the order with. 

Y

order.advertisingSource

 

String

 

 



order.customField1


String

Custom value such as the DNIS of the caller up to 50 characters. 


order.customField2


String

Custom value up to 50 characters.

 


order.customField3


String

Custom value up to 50 characters.

 


order.customField4

 

String

Custom value up to 50 characters. 


order.customField5

 

String

Custom value up to 50 characters. 


order.customField6


String

Custom value up to 50 characters. 


order.customField7

 

String

Custom value up to 50 characters. 


order.taxCounty


String

Tax county name if the state the order is going to charges tax at the county level. 


order.affiliateId


String

The affiliate ID to associate the order with.

 


order.gift


Boolean

True/False if the order is a gift (defaults to false)

 


order.giftEmail


String

Email to send the gift receipt to. 


order.leastCostRoute


Boolean

Either this needs to be True or the name of a shipping method must be specified in *order.shippingMethod*

Maybe

order.leastCostRouteShippingMethods[#]


String

Restrict the least cost routing to these shipping methods. 


order.coupons[#]

 

String

Coupons to apply to the order. 


order.items[#].itemId

order.items.itemId

String

Item ID of the item

Y

order.items[#].quantity

order.items.quantity

Integer

Quantity to purchase

Y

order.items[#].arbitraryUnitCost

order.items.arbitraryUnitCost

Number

Specific price for the item.

 


order.items[#].autoOrderSchedule

order.items.autoOrderSchedule

String

Auto order schedule if the item is a customer selectable auto order. Should be one of the following values:

  • Weekly

  • Every 10 Days

  • Biweekly

  • Every 24 Days

  • Every 28 Days

  • Monthly

  • Every 45 Days

  • Every 2 Months

  • Every 3 Months

  • Every 4 Months

  • Every 6 Months

  • Yearly

 


order.items[#].upsell

order.items.upsell

Boolean

Flag indicating the item was an upsell (default to false) 


order.items[#].autoOrderLastRebillDateorder.items.autoOrderLastRebillDateDateThe last time the order was rebilled.  This will determine when the next shipment occurs.  This is used for importing historical auto orders from another system.  The format for the date is MM/DD/YYYY.Y - if importing historical orders for items that have auto order schedules.

order.items[#].options[#].name

order.items.options[#].name

String

Name of the option

Y - if the item has options

order.items[#].options[#].value

order.items.options[#].value

String

Value of the option

Y - if the item has options

...


Multiple Rows Per Order or Multiple Columns for Items

...

Uploading via the Web Interface.

First navigate to: 


Panel

Main Menu Configuration Checkout Custom Channel Partners

...

Click on the "import orders" button as shown below.

 


On the next screen click the Browse button, navigate within your system and locate the file to be imported. Want all the imported orders marked as "completed"?  Click the check box as shown below.  Lastly, click the Submit Job button at the bottom.

 


Info
titleImport as Completed Orders

Use this flag if your are importing historical orders.  This will keep them from processing payments on those orders.

...

ErrorRemediation steps
Invalid column name [order.items[#].itemId].  Please see Channel Partner API -

Edit the column header text and replace the # with a number, starting with 0 and adding additional columns for additional items in a single order as described in the section above -> [order.items[0].itemId]
(See previous section of this document "Multiple Rows Per Order or Multiple Columns for Items" for more details.)
 

Invalid column name [order.items[#].quantity].  Please see Channel Partner API -Edit the column header text and replace the # with a number, starting with a 0 and adding in in additional columns for additional items in a single order -> [order.items[0].quantity
(See previous section of this document "Multiple Rows Per Order or Multiple Columns for Items" for more details.) 
  

 




FTPing the File to UltraCart's Virtual FTP Server

...

SettingValue
Servermerchantftp.ultracart.com
Username<merchant id>/<channel partner code>
PasswordThe FTP/API password configured for this channel partner.

...


Once you connect to the server you will see the following folders:

...

Note
titleEncryption

You must transfer the order data over FTP SSL or PGP encrypt the file if you are using FTP.  To use PGP encryption make sure you use the UltraCart public PGP key uc-file-transfer-pgp-public-2015.pgp

 


Processing Reports

The reports produced after processing contain three columns represented in a CSV format.  The table below shows an example.

channelPartnerOrderIdultraCartOrderIderror
1000 
Invalid credit card number.
1000 
Billing first name not specified.
1001DEMO-00123456 

In the example above the channel partner order 1000 produced two errors.  The channel partner order 1001 imported successfully as UltraCart order ID DEMO-00123456.

If you upload the spreadsheet via the web interface then you will retrieve the processing report from the report pickup section.  If you upload it to the FTP interface then you can retrieve the processing report from /import/out/ on the FTP server. 


Shipment Confirmation

When orders that are imported via the Channel Partner API are shipped, UltraCart automatically produces a shipment confirmation CSV file and places it on the FTP server under /export/shipment/.  The format of the CSV file looks like this:

...