Home > API General, Retail/Merchandise > SWS SellRetailWithAccountMultiple Method

SWS SellRetailWithAccountMultiple Method


Creates a retail assessment for multiple items and attaches it to an account. Once you have a response, you will need to call the GetTotalDue method. This will provide the total amount that needs to be paid using the MakePayment method. To add multiple different items to the account you will need to have an array of “SellRetailWithAccount” for each item that should be added to the account.

Parameters

Name DataType Is Required
AccountID Long Required
Description The account’s ID number to which the retail will be attached. This is returned when you use the CreateNewAccount method or can be retrieved with the SearchBy method.
Item AVAIL_SITE_RETAIL_ITEMS Required
Description The object containing the required item information.
Quantity Integer Required
Description The total number of items to be sold.
TaxExemptNumber String Optional
Description If the company or individual is tax exempt, enter their tax ID number here.

Returned Parameters

Name DataType
AssessmentID Long
Description An assessment ID is created for every assessment set up in store.
ErrorString String
Description If the creation of the assessment failed this will give details as to why.
RetailItemID Long
Description The retail item’s ID number.
Successful Boolean
Description Indicates if the assessments were added successfully to the account (“True”) or not (“False”).

Example

As with every method we need to pass in credentials. We do this with the LookupUser request object.

We will assume you have a web reference, let us name it SWS, in your Visual Studio project. At this point we need to define our objects.  We will need the standard service object, a SellRetailWithAccountMultiple request object, and a SellRetailMultiple response object. We will also need SellRetailWithAccount request object as the above request takes an array of these items and we will need a response from the GetAvailableRetailItems method. We can define and create those like this:

 // Create a request and response objects
SWS.WSSoapClient service = new SWS.WSSoapClient();
SWS.SellRetailWithAccountMultiple_Request request = 
                                new SWS.SellRetailWithAccountMultiple_Request();
SWS.SellRetailMultiple_Response response;

SWS.SellRetailWithAccount_Request[] requestItems = 
                                new SWS.SellRetailWithAccount_Request[1];
SWS.GetAvailableRetailItems_Request retailItemReq = 
                                new SWS.GetAvailableRetailItems_Request();

Here is a sample code of the request object:

// SellRetailWithAccountMultiple Request
retailItemReq.SiteID = 123456;

requestItems[0].AccountID = 123456;
requestItems[0].Quantity = 2;
requestItems[0].Item = 
        service.GetAvailableRetailItems(user_request, retailItemReq).Details[0];

request.RetailItems = requestItems;

Finally we can call the method and pass across the login object and the request object to retrieve our requested information. It’s a good idea to do this in a Try Catch block.

   ' Call the method that will load the response object
try
{
  response = service.SellRetailWithAccountMultiple(user_request, request);
}
catch (Exception ex)
{
  MessageBox.Show(ex.Message);
}

Note that if something goes wrong the service will respond with an exception. You will want to capture the message in the exception so it can be debugged.

For a full list of methods see SWS Methods.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s