vinSUITE
Web Services v2.00 API Documentation
Loading...
Searching...
No Matches
Miscellaneous Notes

API testing tools

This page contains a list of useful tools a developer can use to test various aspects of the API calls.

SoapUI

SoapUI is a free and open source cross-platform Functional Testing solution. Great tool to test XML calls. Also, SoapUI can be used to retrieve sample request and response XML objects.
Download

Postman

This is an excellent tool to help debug RESTful calls. Although currently vinSUITE provide only SOAP APIs, you can still communicate with the web services using JSON format.
Postman is a Google Chrome extension.
Download

JSON format

JSON or JavaScript Object Notation, is an open standard format that uses human-readable text to transmit data objects consisting of attribute-value pairs.
It is used primarily to transmit data between a server and web application, as an alternative to XML.
You should always include Content-Type: application/json in the request header when sending JSON request to vinSUITE API. Currently, only POST HTTP method is allowed.
To call individual web methods, append a method name after webservice entry point or asmx file:
For example, to call AddOrder make a POST request to https://ws.ewinerysolutions.com/2.0/EWSWebServices.asmx/AddOrder and provide JSON string in the body.
All of the call related information should go in the request node:

{
  request:
  {
  ...
  }
}


Naming convention changes

This version introduced several changes in the naming convention to provide a more intuitive interface for new developers. If you have a working integration designed for older API versions such as 1.13 or earlier, please take a note of these changes.

Object names

In previous versions several Add/Update and Get methods reused same objects in their requests and responses. This convention introduced some confusion in several Add/Update methods where they were exposing fields that were ignored by the webservices.
In version 2.00 these methods now have their unique request objects that expose fields that are only relavent to their specific webservice call.

Method Name v1.x v2.0
AddUpdateMember Member eWineryWS.Objects.MemberAdd
GetMember Member, Member.MemberType (array of type MemberType),
Member.Clubmembership (array of type Clubmembership)
eWineryWS.Objects.MemberGet
(Please note MemberGet.MemberTypes and MemberGet.ClubMemberships array types)
AddUpdateClubMembership Clubmembership eWineryWS.Objects.ClubMembershipAdd
GetClubMembership Clubmembership eWineryWS.Objects.ClubMembershipGet
AddRemoveMemberTypesToMember MemberType eWineryWS.Objects.MemberTypeAdd
GetMemberTypes MemberType eWineryWS.Objects.MemberTypeGet
AddOrder Order, Order.OrderItem (array of type OrderItem) eWineryWS.Objects.OrderAdd
(Please note OrderAdd.OrderItems array type)
AddGroupOrder Order, Order.OrderItem (array of type OrderItem) eWineryWS.Objects.OrderAdd
(Please note OrderAdd.OrderItems array type)
GetOrder Order, Order.OrderItem (array of type OrderItem) eWineryWS.Objects.OrderGet
(Please note OrderGet.OrderItems array type)
AddUpdateProduct Product eWineryWS.Objects.ProductAdd
GetProduct Product eWineryWS.Objects.ProductGet
AddUpdateWine Wine eWineryWS.Objects.WineAdd
GetWine Wine eWineryWS.Objects.WineGet

Field names

Due to the object hierarchy enhancements introduced in v2.0 several field names were renamed, although their purpose did not change. Please see OrderAdd, OrderGet, ClubmembershipAdd, ClubmembershipGet, MemberAdd and MemberGet objects for more details

Method names

Get methods such GetOrder were renamed to indicate that their corresponding response objects will return multiple records.
GetOrder was renamed to GetOrders, GetMember - GetMembers and so on.

Other notes

Below is a list of other useful notes and tips that API users can refer to speed up the development of their custom integrations.

First Party Product prices, SKUs and inventory pools.

Every non-wine product has at least one product price associated with it. Each product price also defines a unique inventory pool and has its own SKU.
For example, if you have a t-shirt product in your winery, you might then have various sizes such as Small, Medium or Large associated with this t-shirt.
In vinSUITE system, each size will have its own price and inventory pool with different item counts. Moreover, each size will have its own unique SKU, although these SKUs will reference the same product description.
Using t-shirt example, the price SKUs might look something like this: "TSHIRT-S" for small, "TSHIRT-M" for medium and so on.
If you would like to edit or sell this t-shirt, you would have to use one of these SKUs in AddUpdateProduct or AddOrder requests.