![]() |
vinSUITE
Web Services v2.00 API Documentation
|
This page contains a list of useful tools a developer can use to test various aspects of the API calls.
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
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 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: { ... } }
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.
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 |
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
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.
Below is a list of other useful notes and tips that API users can refer to speed up the development of their custom integrations.
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.