Cart service provider
Service providers are wrapper objects designed to make it easier to interact with Connect pipelines. The providers implement no logic other than calling Connect pipelines. All of the business logic is implemented in the pipeline processors.
For each method in the provider, there is a corresponding Request and Result object used, for example, GetCarts takes a GetCartsRequest object and returns a GetCartsResult object. In some cases, the response objects are re-used when returning the same data.
Customized versions of the default request and result arguments can be used by calling the overloaded generics based versions of the methods.
The Cart service provider contains the following methods for interacting with cart data.
GetCarts method
TheGetCarts method is used to query cart data against the external commerce system and does not return a collection of Carts, but a collection of CartBase objects that only contains the summary of the main cart data.
|
Name: |
GetCarts |
|
Description: |
Gets the carts that match the specified criteria. Calls the |
|
Usage: |
Called when a list of carts is needed. Examples include:
|
|
Signature: |
GetCartsResult GetCarts(GetCartsRequest request) |
|
Input: | |
|
UserId – Optional - The ids of the users whose carts should be retrieved. If no value is specified, the user IDs are not considered when retrieving carts. | |
|
CustomerId – Optional – The ids of the customers whose carts should be retrieved. If no value is specified the customer IDs are not considered when retrieving carts. | |
|
CartName – Optional - The names of the carts that should be retrieved. If no value is specified, the cart names are not considered when retrieving carts. | |
|
CartStatus – Optional – The status of carts that should be retrieved. Examples include Active and Abandoned. If no value is specified, the cart statuses are not considered when retrieving carts. This could be used in a B2B scenario when you want to display a list of available carts to a user but only carts that are not locked. | |
|
IsLocked – Optional – If provided it means the search also filters on whether the cart is locked or not. | |
|
ShopName – Optional. Name of shop to search for carts in. | |
|
Output: | |
|
IEnumerable<CartBase> – A collection of CartBase objects. The lists represent the carts that match the criteria specified in the request. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create request to get the carts.
var request = new GetCartsRequest("MyStore")
{
UserIds = new Collection<string> { "John" },
CustomerIds = new Collection<string> { "JohnCustomerId" },
Names = new Collection<string> { "JohnsName" },
Statuses = new Collection<string> { "InProcess" },
IsLocked = false
};
// Call service provider and receive the result.
var result = cartServiceProvider.GetCarts(request);CreateOrResumeCart method
|
Name: |
CreateOrResumeCart |
|
Description: |
Initiate the creation of a shopping cart and in the process:
|
|
Usage: |
Called when a shopping cart is needed upon visitor arrival to shop. |
|
Signature: |
|
|
Input: |
All four input parameters are used to search and match against existing carts for the current visitor, but only two of them are mandatory. |
|
UserId – Mandatory | |
|
CustomerId – Optional | |
|
CartId or CartName – Mandatory to load or resume cart. Optional when creating cart. | |
|
ShopName – Mandatory | |
|
Output: | |
|
Cart – A Cart object instance which represents the shopping cart. In case multiple carts already exist for the current visitor and it is undecided which one to return, then no cart is returned. | |
|
IEnumerable<CartBase> - In case multiple carts already exist for the current visitor and it is undecided which one to return, then a list of CartBase objects are returned. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create the request.
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Bred");
// Call the service provider to get the cart
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
// Read the id of the returned cart
var id = cart.ExternalId;
// Create request to remove the cart.
var deleteCartRequest = new DeleteCartRequest(cart);
// Call the service provider and receive the result.
cartServiceProvider.DeleteCart(deleteCartRequest);LoadCart method
|
Name: |
LoadCart |
|
Description: |
Gets the cart with given Cart ID on the specified shop. Calls the |
|
Usage: |
Called when a specific cart is needed |
|
Signature: |
Note The |
|
Input: | |
|
CartId – Mandatory | |
|
ShopName - Mandatory | |
|
Output: | |
|
Cart – A cart object instance which represents the shopping cart that matches the criteria specified in the request. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create the request
var request = new LoadCartRequest("Autohaus", "Bred");
// call the service provider to get the cart
var cart = cartServiceProvider.LoadCart(request).Cart;SaveCart method
|
Name: |
SaveCart |
|
Description: |
Saves the specified cart in the external system if supported as well as in Sitecore EA state. Calls the Called from other service layer methods implicitly, but not called explicitly |
|
Usage: |
Called when a specific cart needs to be persisted. The method should be executed after any operation that modified the cart resulting in a change of cart. It is executed implicitly when updating the cart, adding, deleting or updating cart lines, as well as locking and un-locking the cart. |
|
Signature: |
|
|
Input: | |
|
Cart – Mandatory | |
|
Output: | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create cart and lock it.
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Mark");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
// add a cartline to the cart
var cartLine1 = new CartLine
{
Quantity = 1,
Product = new CartProduct
{
ProductId = "Audi Q10",
Price = new Price(55, "USD")
}
};
var cartLines = new Collection<CartLine> { cartLine1 };
var addCartLinesRequest = new AddCartLinesRequest(cart, cartLines);
cart = cartServiceProvider.AddCartLines(addCartLinesRequest).Cart;
var saveCartRequest = new SaveCartRequest(cart);
var result = cartServiceProvider.SaveCart(saveCartRequest);AddCartLines method
|
Name: |
AddCartLines |
|
Description: |
Responsibility is to add lines to cart. |
|
Usage: |
Called when a list of cart lines is about to be added to the shopping cart, when the user clicks Add To Cart. |
|
Signature: |
|
|
Input: | |
|
Cart – Required - The cart must be unmodified. Any changes made to the cart instance will be disregarded. Only the cart Id and ShopName are considered for retrieving and modifying the cart. | |
|
IEnumerable<CartLine> CartLines – Mandatory- A collection of cart lines to add. | |
|
ForceNewLines – Optional – If true, the cart lines items will be added as new cart lines in the customer cart. Otherwise, the lines will be merged into existing cart lines if possible. Note This parameter is only supported if the external commerce system supports this functionality. | |
|
Output: | |
|
Cart - Cart object that represent the updated cart in the external system. | |
|
AddedCartLineExternalIds – A list of the External IDs of the lines that were added to the cart. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Prepare parameters for getting cart for visitor ID Ivan in shop Autohaus
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Ivan");
// Get a cart, new or existing
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
// Create cart line with subline to add to the cart
var cartLines = new List<CartLine>(new Collection<CartLine>
{
new CartLine
{
Product = new CartProduct
{
ProductId = "Audi",
Price = new Price(10000, "USD") },
Quantity = 1,
SubLines = new Collection<CartLine>
{
new CartLine
{
Product = new CartProduct
{
ProductId = "Winter Tyres",
Price = new Price(100, "USD")
},
Quantity = 4
},
new CartLine
{
Product = new CartProduct
{
ProductId = "Summer Tyres",
Price = new Price(80, "USD")
},
Quantity = 4
}
}
}
}
);
// Create request with prefix and prefix lines
var request = new AddCartLinesRequest(cart, cartLines);
// Add prefix lines into prefix
var result = cartServiceProvider.AddCartLines(request);
var resultCart = result.Cart;RemoveCartLines method
|
Name: |
RemoveCartLines |
|
Description: |
Responsibility is to remove lines from cart. |
|
Usage: |
Called when one or more cart lines are about to be removed from the shopping cart, when the user updates the cart by removing one or more lines. |
|
Signature: |
|
|
Input: | |
|
Cart - Mandatory. The cart must be unmodified. Any changes made to the cart instance will be disregarded. Only the cart Id and ShopName are considered for retrieving and modifying the cart. | |
|
IEnumerable<CartLine> CartLines – Mandatory - A collection of cart linesto remove. ExternalCartLineId, LineNumber or the object reference can be used to identify the line(s) to be removed. The default Connect based implementation removes lines by object reference. | |
|
Output: | |
|
Cart - Cart object that represents the updated cart in the external system. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create cart with "Audi Q10", "BMW X7" and "Citroen C3"
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "John");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
var cartLine1 = new CartLine
{
Quantity = 1,
Product = new CartProduct
{
ProductId = "Audi Q10",
Price = new Price(55, "USD")
}
};
var cartLine2 = new CartLine
{
Quantity = 2,
Product = new CartProduct
{
ProductId = "BMW X7",
Price = new Price(10, "USD")
}
};
var cartLine3 = new CartLine
{
Quantity = 1,
Product = new CartProduct
{
ProductId = "Citroen C3",
Price = new Price(25, "USD")
}
};
var cartLines = new Collection<CartLine>
{
cartLine1, cartLine2, cartLine3
};
var addCartLinesRequest = new AddCartLinesRequest(cart, cartLines);
cart = cartServiceProvider.AddCartLines(addCartLinesRequest).Cart;
// Create request to remove cart line "BMW X7".
var request = new RemoveCartLinesRequest(cart, cart.Lines.Where(l => l.Product.ProductId == "BMW X7").ToArray());
// Call service provider and receive the result.
var result = cartServiceProvider.RemoveCartLines(request);UpdateCartLines method
|
Name: |
UpdateCartLines |
|
Description: |
Responsibility is to update lines on cart. |
|
Usage: |
Occurs when a shopping cart is about to be updated referring to lines already in the cart. In terms of UI, it is when the user updates the cart regarding a specific product. Most typically it is when:
|
|
Signature: |
|
|
Input: | |
|
Cart - Mandatory - The cart must be unmodified. Any changes made to the cart instance will be disregarded. Only the cart Id and ShopName are considered for retrieving and modifying the cart. | |
|
IEnumerable<CartLine> CartLines – Mandatory- A collection of cart linesto update on cart. | |
|
Output: | |
|
Cart – Cart object that represents the updated cart in the external system. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create cart with "Audi Q10", "BMW X7" and "Citroen C3"
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "John");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
var cartLine1 = new CartLine
{
Quantity = 1,
Product = new CartProduct
{
ProductId = "Audi Q10",
Price = new Price(55, "USD")
}
};
var cartLine2 = new CartLine
{
Quantity = 2,
Product = new CartProduct
{
ProductId = "BMW X7",
Price = new Price(10, "USD")
}
};
var cartLines = new Collection<CartLine> { cartLine1, cartLine2 };
var addCartLinesRequest = new AddCartLinesRequest(cart, cartLines);
cart = cartServiceProvider.AddCartLines(addCartLinesRequest).Cart;
var bmw = cart.Lines.First(i => i.Product.ProductId == "BMW X7");
bmw.Product.Price = new Price(110000, "USD");
bmw.Quantity = 3;
// Create request to update cart lines.
var updateCartLinesRequest = new UpdateCartLinesRequest(cart, new Collection<CartLine> { bmw });
// Call service provider and receive the result.
var result = cartServiceProvider.UpdateCartLines(updateCartLinesRequest);DeleteCart method
|
Name: |
DeleteCart |
|
Description: |
Responsibility is to delete a cart permanently:
|
|
Usage: |
Must be called when a cart needs to be deleted. In terms of the UI, this could be:
|
|
Signature: |
|
|
Input: | |
|
Cart - Mandatory. The cart must be unmodified. Any changes made to the cart instance will be disregarded. Only the cart Id and ShopName are considered for retrieving and modifying the cart. | |
|
Output: | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create the request.
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Bred");
// Call the service provider to get the cart
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
// Read the id of the returned cart
var id = cart.ExternalId;
// Create request to remove the cart.
var deleteCartRequest = new DeleteCartRequest(cart);
// Call the service provider and receive the result.
cartServiceProvider.DeleteCart(deleteCartRequest);UpdateCart method
|
Name: |
UpdateCart |
|
Description: |
Responsibility is to pass an updated cart to the external commerce system. Triggers an event in DMS telling that the cart is being updated. |
|
Usage: |
The method should be executed after any operation that modifies the cart, typically when Adjustments have been added, removed or modified. |
|
Signature: |
|
|
Input: | |
|
Cart - Mandatory - The cart to be updated. The cart must be unmodified. Any changes made to the cart instance will be disregarded. Only the cart Id and ShopName are considered for retrieving and modifying the cart. | |
|
Cart Base – An instance of the Cart Base containing the changes to be made to the cart Typically the only properties allowed to be modified are: UserId, CustomerId, CartName and, potentially, ShopName. Whether the IsLocked and CartStatus values are considered, depends on business logic in the external commerce system. Null values will not be considered, but blank values will be. | |
|
Output: | |
|
Cart – Cart object that represents the updated cart in the external system. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create prefix.
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Peter");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
// Create the instance of the CartBase with properties that should be changed in existing prefix.
var changes = new CartBase
{
CustomerId = "Customer Peter",
Name = "Peter's Cart",
ShopName = "Autohaus"
};
// Create request to update the prefix.
var updateCartRequest = new UpdateCartRequest(cart, changes);
// Call service provider with prepared request and receive the result.
var result = cartServiceProvider.UpdateCart(updateCartRequest);LockCart method
|
Name: |
LockCart |
|
Description: |
Responsibility is to set the cart in a locked state where it is ready to be committed to an order but before any optional payment transaction is performed:
When the cart is in a locked state, it indicates two things:
There is a corresponding |
|
Usage: |
Typically executed during the checkout process, just before any payment transaction is about to be executed and before turning the cart into an order. In terms of UI, it is triggered when a user in the checkout flow has clicked Confirm and in a B2C scenario is going to pay and the order is created. |
|
Signature: |
|
|
Input: | |
|
Cart - Mandatory | |
|
Output: | |
|
Cart – Cart object that represent the updated cart in the external system. | |
|
SystemMessages - Collection of messages from the external system. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create a sample cart.
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Jho");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
// Create request to lock this cart.
var lockCartRequest = new LockCartRequest(cart);
// Call service provider and receive the result.
var result = cartServiceProvider.LockCart(lockCartRequest);UnlockCart method
|
Name: |
UpdateCartLines |
|
Description: |
Responsibility is to set the cart in an unlocked state:
By default a cart is in an unlocked state and can be edited. There is a corresponding |
|
Usage: |
Typically called if a user returns to a cart and decides to modify the content after starting the checkout process and payment transaction, but its implementation specifies how it should be handled. |
|
Signature: |
|
|
Input: | |
|
Cart – Mandatory | |
|
Output: | |
|
Cart – Cart object that represents the updated cart in the external system. | |
|
SystemMessages - Collection of messages from the external system. This is how error conditions can be reported. |
Usage example:
var cartServiceProvider = new CartServiceProvider();
// Create cart and lock it.
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "Mark");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
var lockCartRequest = new LockCartRequest(cart);
cart = cartServiceProvider.LockCart(lockCartRequest).Cart;
// Create request to unlock this cart.
var unlockCartRequest = new UnlockCartRequest(cart);
// Call service provider and receive the result.
var result = cartServiceProvider.UnlockCart(unlockCartRequest);MergeCart method
|
Name: |
MergeCart |
|
Description: |
Responsibility is to merge two specified carts:
|
|
Usage: |
Typically called when a user logs in and the system notices an anonymous cart exists. |
|
Signature: |
|
|
Input: | |
|
UserCart – Mandatory AnonymousCart - Mandatory | |
|
Output: | |
|
Cart – Cart object representing the merged user cart. | |
Usage example:
var cartServiceProvider = new CartServiceProvider();
var userCart = new Cart
{
ExternalId = "0",
ShopName = "first shop",
Lines = new List<CartLine>
{
new CartLine
{
Quantity = 1,
Product = new CartProduct
{
ProductId = "Audi Q10",
Price = new Price(55, "USD")
}
}
}
};
var anonymousCart = new Cart
{
ExternalId = "1",
ShopName = "first shop",
Lines = new List<CartLine>
{
new CartLine
{
Quantity = 1,
Product = new CartProduct
{
ProductId = "BMW M5",
Price = new Price(75, "USD")
}
}
}
};
var request = new MergeCartRequest(userCart, anonymousCart);
var mergeredCart = cartServiceProvider.MergeCart(request).Cart;
cartServiceProvider.DeleteCart(new DeleteCartRequest(anonymousCart));AddParties method
|
Name: |
AddParties |
|
Description: |
Responsibility is to add parties to a cart. |
|
Usage: |
Typically called when adding party information to a cart. |
|
Signature: |
RequestResponse |
|
Input: | |
|
Cart – Mandatory Parties - Mandatory | |
|
Output: | |
|
Parties – The read-only list of all parties associated with this cart after the add. | |
Usage example:
var cartServiceProvider = new CartServiceProvider();
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "John");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
var partyList = new List<Party>
{
new Party
{
PartyId = "123", FirstName = "Joe", LastName = "Smith",
Address1 = "123 Street", City = "Ottawa",
State = "Ontario", Country = "Canada"
},
new Party
{
PartyId = "456", FirstName = "Jane", LastName = "Smith",
Address1 = "234 Street", City = "Toronto",
State = "Ontario", Country = "Canada"
}
};
var addPartiesRequest = new AddPartiesRequest(cart, partyList);
var addPartiesResult = cartServiceProvider.AddParties(addPartiesRequest);RemoveParties method
|
Name: |
RemoveParties |
|
Description: |
Responsibility is to remove parties from a cart. |
|
Usage: |
Typically called when removing party information. |
|
Signature: |
RequestResponse |
|
Input: | |
|
Cart – Mandatory Parties – Mandatory – The list of parties to remove from the cart. | |
|
Output: | |
|
Parties – The read-only list of all parties associated with this cart after the remove. | |
Usage example:
var cartServiceProvider = new CartServiceProvider();
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "John");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
var partyList = new List<Party>
{
new Party
{
PartyId = "123", FirstName = "Joe", LastName = "Smith",
Address1 = "123 Street", City = "Ottawa",
State = "Ontario", Country = "Canada"
},
new Party
{
PartyId = "456", FirstName = "Jane", LastName = "Smith",
Address1 = "234 Street", City = "Toronto",
State = "Ontario", Country = "Canada"
}
};
var addPartiesRequest = new AddPartiesRequest(cart, partyList);
var addPartiesResult = cartServiceProvider.AddParties(addPartiesRequest);
var removePartiesRequest = new RemovePartiesRequest(cart, new List<Party>
{
partyList[0]
});
var removePartiesResult = cartServiceProvider.RemoveParties(removePartiesRequest);UpdateParties method
|
Name: |
UpdateParties |
|
Description: |
Responsibility is to update a list of parties within a cart. |
|
Usage: |
Typically called when parties need to be updated. |
|
Signature: |
RequestResponse |
|
Input: | |
|
Cart – Required Parties – Required – The list of parties to update in the cart. | |
|
Output: | |
|
Parties – The read-only list of all parties associated with this cart after the update. | |
Usage example:
var cartServiceProvider = new CartServiceProvider();
var createCartRequest = new CreateOrResumeCartRequest("Autohaus", "John");
var cart = cartServiceProvider.CreateOrResumeCart(createCartRequest).Cart;
var party1 = new Party
{
PartyId = "123",
FirstName = "Joe",
LastName = "Smith",
Address1 = "123 Street",
City = "Ottawa",
State = "Ontario",
Country = "Canada"
};
var party2 = new Party
{
PartyId = "456",
FirstName = "Jane",
LastName = "Smith",
Address1 = "234 Street",
City = "Toronto",
State = "Ontario",
Country = "Canada"
};
var partyList = new List<Party> { party1, party2 };
var addPartiesRequest = new AddPartiesRequest(cart, partyList);
var addPartiesResult = cartServiceProvider.AddParties(addPartiesRequest);
party1.Address1 = "678 Road";
party1.City = "London";
var updatePartiesRequest = new UpdatePartiesRequest(cart, new List<Party> { party1 });
var removePartiesResult = cartServiceProvider.UpdateParties(updatePartiesRequest);AddPaymentInfo method
|
Name: |
AddPaymentInfo |
|
Description: |
Responsibility is to add payment information to a cart. |
|
Usage: |
Typically called during a checkout flow to add the payment info for processing of an order. |
|
Signature: |
RequestResponse |
|
Input: | |
|
Cart – Mandatory Payments – Mandatory – a list of payment info to be added to the cart. | |
|
Output: | |
|
Payments – The read-only list of payments associated with the cart after the add. | |
Usage example:
var cartService = new CartServiceProvider();
var cart = cartService.CreateOrResumeCart(new
CreateOrResumeCartRequest("MyShop", "Me")).Cart;
var paymentList = new List<PaymentInfo>
{
new PaymentInfo() { ExternalId = "1", PaymentMethodID = "1"},
new PaymentInfo() { ExternalId = "2", PaymentMethodID = "2"}
};
var addPaymentRequest = new AddPaymentInfoRequest(cart, paymentList);
var addPaymentResult = cartService.AddPaymentInfo(addPaymentRequest);RemovePaymentInfo method
|
Name: |
RemovePaymentInfo |
|
Description: |
Responsibility is to remove payment information from a cart. |
|
Usage: |
Typically called when a user wants to change their payment information. |
|
Signature: |
RequestResponse |
|
Input: |
Cart – Mandatory Payments – Mandatory– A list of payment info to be removed from the cart. |
|
Output: |
Payments – The read-only list of payments associated with the cart after the remove. |
Usage example:
var cartService = new CartServiceProvider();
var cart = cartService.CreateOrResumeCart(new
CreateOrResumeCartRequest("MyShop", "Me")).Cart;
var paymentList = new List<PaymentInfo>
{
new PaymentInfo() { ExternalId = "1", PaymentMethodID = "1"},
new PaymentInfo() { ExternalId = "2", PaymentMethodID = "2"}
};
var addPaymentRequest = new AddPaymentInfoRequest(cart, paymentList);
var addPaymentResult = cartService.AddPaymentInfo(addPaymentRequest);
var removePaymentRequest = new RemovePaymentInfoRequest(cart, new
List<PaymentInfo> {paymentList[0]});
var removeResult = cartService.RemovePaymentInfo(removePaymentRequest);AddShippingInfo method
|
Name: |
AddShippingInfo |
|
Description: |
Responsibility is to add shipping information to a cart. |
|
Usage: |
Typically called during a checkout flow to add the shipping info for processing of an order. |
|
Signature: |
RequestResponse |
|
Input: | |
|
Cart – Mandatory ShippingInfo – Mandatory – A list of shipping info to add to the cart. | |
|
Output: | |
|
ShippingInfo – A read-only list of shipping info associated with the cart after the add. | |
Usage example:
var cartService = new CartServiceProvider();
var cart = cartService.CreateOrResumeCart(new
CreateOrResumeCartRequest("MyShop", "Me")).Cart;
var shippingList = new List<ShippingInfo>
{
new ShippingInfo() { ExternalId = "1", ShippingMethodID = "1"},
new ShippingInfo() { ExternalId = "2", ShippingMethodID = "2"}
};
var addRequest = new AddShippingInfoRequest(cart, shippingList);
var addResult = cartService.AddShippingInfo(addRequest);RemoveShippingInfo method
|
Name: |
RemoveShippingInfo |
|
Description: |
Responsibility is to remove shipping information from a cart |
|
Usage: |
Typically called during a checkout flow to remove the shipping info for processing of an order. |
|
Signature: |
RequestResponse |
|
Input: | |
|
Cart – Mandatory ShippingInfo – Mandatory – A list of shipping info to remove from the cart. | |
|
Output: | |
|
ShippingInfo – A read-only list of shipping info associated with the cart after the remove. | |
Usage example:
var cartService = new CartServiceProvider();
var cart = cartService.CreateOrResumeCart(new
CreateOrResumeCartRequest("MyShop", "Me")).Cart;
var shippingList = new List<ShippingInfo>
{
new ShippingInfo() { ExternalId = "1", ShippingMethodID = "1"},
new ShippingInfo() { ExternalId = "2", ShippingMethodID = "2"}
};
var addRequest = new AddShippingInfoRequest(cart, shippingList);
var addPaymentResult = cartService.AddShippingInfo(addRequest);
var removeRequest = new RemoveShippingInfoRequest(cart, new
List<ShippingInfo> {shippingList[0]});
var removeResult = cartService.RemoveShippingInfo(removeRequest);