Order Update API

Guides on how to use CCNow

Order Update API

Overview

Your account may be configured so that you can submit order queries or alerts to the CCNow order receiver URL (https://www.ccnow.com/cgi-local/oapi_receive.cgi) rather than manually logging into your backroom GUI for these operations. For example you can set up an automated system whereby a process on your hosted web site sends "order has shipped" alerts to the CCNow order system. Currently the CCNow order receive API supports these operations:

  • Request a list of orders that are currently "pending" (i.e. those that are awaiting your processing and marking as shipped).
  • Request the status for a particular order.
  • Send an alert to mark a pending order as shipped or canceled.
  • Upload shipment tracking information and/or order discount amount for orders in "pending" state.

You may also want to utilize the Server Notification API to have the CCNow order system send alerts to remote URL (e.g. on your hosted web server) to receive alerts for various events in the life cycle of your orders.

top menu ↑

Order Status Codes

When requesting a status for an order the following table lists possible states in the order lifecycle:

receivedNew order placed by consumer.
paypal_holdAwaiting consumer completing payment at the PayPal server.
processingOrder undergoing screening, fraud review, and payment processing.
vacation_holdOrder being held until you mark "return to office" in your backroom.
preorder_holdOrder being held until a product pre-order date has been reached.
getman_holdOrder being held until consumer provides proof of credit card ownership.
pendingOrder has been approved and is now ready for client to process and indicate shipped.
canceledOrder has been canceled.
mark_canceledOrder in queue to be canceled.
declinedPayment for order has been declined.
rejectedOrder has been rejected due to not meeting CCNow product guidelines, missing order information, or consumer fraud.
mark_shippedOrder in queue to be marked completed.
completedOrder processed and marked shipped in CCNow system.
testCompleted test order.
refundedOrder partially or fully refunded.
chargebackChargeback issued on order.
top menu ↑

Order API Fields

This table includes the fields to include in your post to CCNow order receive URL:

FieldRequired?Description and Notes
x_clientidYesAccount login ID.
x_storeidNoAccount login ID.
You only need to provide this alternate account ID if you are using linked CCNow accounts. In this case x_storeid is account which is associated with web store and x_clientid is account where payment is made.
x_passwordYesPassword to access your account via order receiver API. Note that this is not the password you use to log into your backroom. You will be given this password when your account is activated to use this API.
x_orderid_NNoWhen querying status or sending order status change for a particular order, this field is the nine digit CCNow order number. You can specify either with or without hyphens. Note that "N" is an arbitrary integer; if you are sending multiple orders in a batch request, then just create a sequence from 1 to NMAX.
x_action_NNoThis specifies the "action" associated with order number tied to sequence number "N". Available options:
  • query: return the status code for this order.
  • cancel: cancel this order.
  • ship: this will process the order as shipped.
  • adjust: add a discount amount to this order; also include x_amount_N field. (Note that this will automatically do a partial refund on the order after the order reaches completion after being marked shipped).
  • track: add shipment tracking information to order; also include x_trackname_N and x_tracknumber_N fields and optionally x_notes_N field.
x_notes_NNoReason message if x_action_N = "adjust" or "cancel". Shipment tracking notes if x_action_N = "track". In all cases these notes should be appropriate to be made available to the consumer in their order correspondence.
x_amount_NNoOrder discount adjustment (always in USD) if x_action_N = "adjust".
x_trackname_NNoTracking service (Fedex, DHL, etc) if x_action_N = "track".
x_tracknumber_NNoTracking number if x_action_N = "track".
top menu ↑

Examples

Below are a few examples.

Example DescriptionData POSTed to CCNow API URLOutput Returned
Get list of pending orders.x_clientid=amylove
x_password=123456789
396-10-1142 pending
397-10-1159 pending
Get list of pending orders.
No current pending orders in account.
x_clientid=amylove
x_password=123456789
message no_pending_orders
Get list of pending orders.
CCNow receiver currently offline.
x_clientid=amylove
x_password=123456789
error_message system down for maintenance
Get status of an orderx_clientid=amylove
x_password=123456789
x_orderid_1=397101142
x_action_1=query
396-10-1142 pending
Mark an order canceled and an order shipped.x_clientid=amylove
x_password=123456789
x_orderid_1=396-10-1142
x_orderid_2=397-10-1159
x_action_1=cancel
x_action_2=ship
x_notes_1=Test order
396-10-1142 mark_canceled
397-10-1159 mark_shipped
Mark an order shipped;
also apply a discount and include tracking information.
x_clientid=amylove
x_password=123456789
x_orderid_1=396101142
x_action_1=adjust
x_amount_1=5.50
x_orderid_2=396101142
x_action_2=track
x_trackname_2=UPS
x_tracknumber_2=1234
x_notes_2=Package should arrive in a week. Thankyou for your order.
x_orderid_3=396101142
x_action_3=ship
396-10-1142 mark_shipped
top menu ↑