API Order Processing and Status Retrieval

Processing Your Orders Made Simple - that's us! To further accomodate our rapidly growing customer base we have implemented Version 1.0 of our Vervante API.

The Vervante API will allow you to send your orders automatically, using standard REST API methods. You can also retrieve order status and tracking information on demand.

Contact your Vervante representative for more information, or to get setup for testing.


 Author orders API.

    Retrieve orders for a specific author (affiliate) for a specified
    date range.

 Production URL: https://www.vervante.com/c/v/retrieve*  *Must be activated for access
Development URL: *Inquire for testing access*


    * API via "retrieve" actionmap.
    * Can only access API via SSL.
    * Author must successfully log in against affiliate table.
    * Author must supply start and end dates for order range.

    Payload accepts JSON only, with application/json content type.

    Ex. payload:
    {
       "username"   : "foobar",
       "password"   : "silly-secret",
       "start_date" : "20180815",
       "end_date"   : "20180821"
    }

    Note only date format supported is YYYYMMDD.

    Response will always include the following keys:

    * status

    Corresponds with the HTTP response code. Possible values:
      + 200 (success)
      + 401 (login failed)
      + 403 (API called in http)
      + 404 (No orders found)
      + 500 (Anything else that goes wrong, unanticipated)

    * message

    Details regarding the "status" code.

    On successful call, response will also include an "orders" key,
    containing an array of all the orders found for the author over
    the requested date range.

	Sample Response:
	
	{
    "message": "OK",
    "orders": [
        {
            "address1": "2088 W Jackson Ave",
            "address2": "",
            "city": "Aransas Pass",
            "email": "joesmith@gmail.com",
            "fname": "Joe",
            "lname": "Smith",
            "order_id": "",
            "order_number": "O888888",
            "order_ymd": "20190501",
            "shipmode": "priority (USPS Priority Mail)",
            "shipped_mode": "Priority Mail Regional Rate Box A",
            "shipped_on": "20190503",
            "state": "TX",
            "status": "shipped",
            "tracking_number": "940xxxxxxxxxxxxx1011",
            "tracking_number_multi": null,
            "zip": "78336"
        },
        {
            "address1": "5050 peach orchard rd",
            "address2": "",
            "city": "Harrison",
            "email": "JackJ@yahoo.com",
            "fname": "Jack",
            "lname": "Johnson",
            "order_id": "",
            "order_number": "O99999",
            "order_ymd": "20190501",
            "shipmode": "priority (USPS Priority Mail)",
            "shipped_mode": "Priority Mail Regional Rate Box B",
            "shipped_on": "20190503",
            "state": "AR",
            "status": "shipped",
            "tracking_number": "940xxxxxxxxxxxxx1288",
            "tracking_number_multi": null,
            "zip": "72601"
        },	
		    ],
    "status": 200
}

    There is no upper limit for records built into the code, so authors
    should use good judgment regarding the date ranges requested.

-------------------------------------------------------------------------

    Send orders for a specific author (affiliate).

 Production URL: https://www.vervante.com/c/v/sendorders* *must be activated for access
Development URL: *Inquire for testing access*


    * API via "sendorders" actionmap.
    * Can only access API via SSL.
    * Author must successfully log in against affiliate table.
    * Author must supply required order fields and item skus
    * Partno and quantity are expected as array format, and should contain matching
      members. ie if you have 3 "partno" members, you are required to have 3 "quantity" members.
      See example below.

    Payload accepts JSON only, with application/json content type.

    Ex. payload:
    { "username" : "author_username",
      "password" : "author_password",
      "fname":"joe",
      "lname":"smith",
      "address1":"123 Street",
      "city":"Duluth",
      "state":"MN",
      "zip":"55612",
      "email":"johnsmith@gmail.com",
      "partno":["V4089999999","V408170999998"],
      "quantity":["2","5"]
     }

    Response will always include the following keys:

    * status

    Corresponds with the HTTP response code. Possible values:
      + 200 (success)
      + 401 (login failed)
      + 403 (API called in http)
      + 500 (Anything else that goes wrong)

    * message

    Details regarding the "status" code.

    On successful call, response will also include an "mailorder_code" key,
    which can be used for troubleshooting. This is not the ultimate "Vervante
    order number", but rather an intermediate number used during processing.

    Ex. response.
    {
        "message": "OK",
        "orders": {
            "mailorder_code": "1596532"
         },
        "status": 200
    }

    The following fields are required for a domestic (in US) order:
    
    fname    - string
    lname    - string
    address1 - string
    city     - string
    state    - string
    zip      - string
    partno   - array
    quantity - array

    The following fields are required for an international (non US) order:
    
    fname    - string
    lname    - string
    address1 - string
    city     - string
    country  - string - 2 letter country code, ie US, CA, AU etc
    partno   - array
    quantity - array

    If a required field is missing, the order will fail and an error will be returned:
 
    Ex. error:
    {
        "message": "Request failed due to lack of required fields, city: required",
        "status": "500"
    }

    The following fields are optionally accepted:

    country
    email
    fax
    b_fname
    b_lname
    b_address1
    b_address2
    b_city
    b_state
    b_zip
    b_country
    phone_night
    phone_day
    fax
    company
    shipmode
    order_id

    You can obviously only submit valid skus to be ordered, if there is an error (ie typo) 
    for one or more skus, and provided that there are other valid skus on the order, only 
    the "bad" skus will be removed, and a warning returned.

    {
       "message": "OK - with warnings",
       "orders": {
         "mailorder_code": "1596559"
    },
       "status": 200,
       "warnings": "Invalid sku V4081709799, qty:50, removed. "
    }

   Currently only one order may be submitted at a time.