Add or Update Cart (Java)

This tutorial is intended for view on larger devices.

Email Yourself a link for later

Add Or Update Cart (JAVA)

This tutorial is designed to help you understand how to manipulate cart data using Bronto’s REST API. In order to work with cart data your account needs to have the New Order Service.

Start Tutorial

Prerequisites

In order to use Bronto’s REST API to work with cart data you need to have an account that uses Bronto’s New Order Service. If you have the Cart Recovery app, you are using New Order Service. You also should have successfully set up your commerce configuration settings so that your site is connected to Bronto. All of your commerce configuration settings can be found and modified by logging into the platform and navigating to Home->Settings->Commerce.

Finally, all of the Java code examples provided use the JAX-RS library. If you want to use the examples as written you will need to install this library before you start.

Setup Hallmonitor Client

If you haven’t already, you need to set up Hallmonitor in order to be able to authenticate and work with Bronto’s REST API. Hallmonitor is an OAuth 2.0 compliant service that is used to request and refresh access tokens for Bronto’s APIs. You must create a client key and client secret for Hallmonitor in order to authenticate with Hallmonitor and get an API token.

  1. In the Bronto platform, navigate toHome > Settings > Data Exchange.
  2. Under the REST Integrations section, click Create New Integration.
  3. Enter a Client Name.
  4. Select the appropriate client permissions.
  5. Click Save.
  6. A client key (ID) and secret are generated and shown on the Data Exchange page. Save the the client key and client secret shown in the REST Integrations section of the Data Exchange page. You will use it in the next step to create an API token.

    Import JAX-RS Library

    To use the example code provided, you will need to have installed the JAX-RS library. Import this library at the the start of your session if you want to use our example code as written. Otherwise, import the library of your choice and adjust the code samples to work with your library.

    Set Global Variables

    Map the string variables you will use to construct requests and store responses in the following steps. This isn’t strictly required, but it will save you from having to type these string variables multiple times.

    Because we are adding and updating a cart in this tutorial we’ve provided the variables for each of these calls. However, you will likely only need to either add or update a cart, so you only need to create the variables relevant to your situation. For example, if you only want to add a Cart you would not include the UPDATE_CART_PATH or CART_ID.

    Get Authentication Token

    This call returns an authentication token as well as a refresh token to be used once the access token expires. The access token expires after 1 hour. The refresh token expires after 30 days. You will need to use this token to access Bronto’s API.

    Use Token To Authenticate With Bronto’s API

    Each request to the external API must include an HTTP Authorization header. The header value should specify a “Bearer” authorization scheme followed by a space and then the OAuth2 access token.

    A 403 Forbidden response will be returned if no authorization header is provided, if a scheme other than Bearer is specified, if the token is unknown/expired, or if the token has an insufficient scope to execute the request.

    Add Cart

    To leverage your Cart data in Bronto you must first add your Cart to Bronto. To do this, first build the Add Cart request data, making sure to match the Bronto defined names for each field. The example provided shows every valid field you can pass in for a Cart. Note, Carts in a COMPLETE or EXPIRED status cannot be updated or abandoned. If you are adding a new Cart you probably want it in the ACTIVE status, which is also the default status if none is provided.

    When you add the Cart, only set createContact to true if the Contact does not already exist in Bronto. If createContact is true and you provide an emailAddress that is not currently associated with a Contact, a transactional contact will be created. A transactional Contact can only be sent transactional emails until the Contact opts in to receiving messages from you, so make sure any message that is sent to this type of contact using the Cart Is Abandoned workflow has been approved for transactional sending.

    After you have added the Cart, check the response to make sure your request was successful. If it was not, use the information provided in the response to troubleshoot you issue. Generally, if you have an issue adding an order it’s because the customerCartId already existed in Bronto or not all of the required data was included in the request. Grab the cartId from the response data to use in future requests.

    View A Cart’s Data

    This is optional and just shows how to get a Cart using the cartId from a previous AddCart request. Note that the Bronto generated ‘cartId’ is used to identify the Order in these requests, not the user supplied ‘customerCartId.’

    Update Cart

    When you update a Cart, first build the request data. You can update any of the fields available in the AddCart request except for customerCartId.

    When you add the Cart, only set createContact to true if the Contact does not already exist in Bronto. If createContact is true and you provide an emailAddress that is not currently associated with a Contact, a transactional contact will be created. A transactional Contact can only be sent transactional emails until the Contact opts in to receiving messages from you, so make sure any message that is sent to this type of contact using the Cart Is Abandoned workflow has been approved for transactional sending.


      Was this article helpful?

      Not HelpfulHelpful (No Ratings Yet)
      Loading...

      We welcome your feedback!

      Please let us know how this article could be improved.
      *Name and Email are optional fields.