ballerinax/hubspot.crm.commerce.discounts Ballerina library

1.0.0

Overview

HubSpot is an AI-powered customer relationship management (CRM) platform.

The ballerinax/hubspot.crm.commerce.discounts connector offers APIs to connect and interact with the HubSpot Discounts API endpoints, specifically based on the HubSpot REST API.

Setup guide

You need a HubSpot developer account with an app to use HubSpot connectors.

To create a HubSpot Developer account, click here

Step 1: Create HubSpot Developer Project

  1. Login to HubSpot developer account.

  2. Create a public app by clicking on "Create app".

    Building public image

  3. Click on "Create app".

    Creating App

  4. Under "App Info"

    • Enter Public app name.
    • Update App logo (optional).
    • Update Description (optional).

    Entering App details

    Then move to "Auth" tab.

  5. Setup the "Redirect URLs" with respective links.

    Auth Tab

    Finally Create the app.

Step 2: Get Client ID and Client secret

Navigate to "Auth" tab.

Client ID & Secret

Step 3: Get access token and refresh token

  1. Set scopes under "Auth" tab for your app based on the API requirements.

    API Reference page.

    Enable scopes required for HubSpot CRM Discounts API.

    • crm.objects.line_items.read
    • crm.objects.line_items.write
    • oauth
  2. Under "Auth" tab under Sample install URL (OAuth) section copy the full URL.

    https://app.hubspot.com/oauth/authorize?client_id=<client_id>&redirect_uri=<redirect_url>&scope=<scopes>
    
  3. Choose the preferred account.

    Choosing Accounts

    Choose account and authorize the client.

  4. Check URL tab and find the authorization code.

  5. Send a http request to the HubSpot.

    • Linux/MacOS

      Copy
      curl --request POST \
      --url https://api.hubapi.com/oauth/v1/token \ --header 'content-type: application/x-www-form-urlencoded' \
      --data 'grant_type=authorization_code&code=<code>&redirect_uri=http://localhost:9090&client_id=<client_id>&client_secret=<client_secret>'
  6. Above command returns the access token and refresh token.

  7. Use these tokens to authorize the client.

Quickstart

Follow the below steps to use the HubSpot CRM Commerce Discounts connector in your Ballerina application.

Step 1: Import the module

Import the hubspot.crm.commerce.discounts module and oauth2 module.

Copy
import ballerina/oauth2;
import ballerinax/hubspot.crm.commerce.discounts;

Step 2: Instantiate a new connector

  1. Instantiate a OAuth2RefreshTokenGrantConfig with the obtained credentials and initialize the connector with it.

    Copy
    configurable string clientId = ?;
    configurable string clientSecret = ?;
    configurable string refreshToken = ?;
    
    ConnectionConfig config = {
        auth: {
            clientId,
            clientSecret,
            refreshToken,
            credentialBearer: oauth2:POST_BODY_BEARER
        }
    ;
    inal Client hubSpotClient = check new (config);
  2. Create a Config.toml file inside the Ballerina package and add the following configurations with the values retrieved in the earlier steps.

    Copy
    clientId = <Client Id>
    clientSecret = <Client Secret>
    refreshToken = <Refresh Token>

Step 3: Invoke the connector operation

Now, utilize the available connector operations. A sample use case is shown below.

Create a New Discount

Copy
SimplePublicObjectInputForCreate payload = {
   associations: [],
   objectWriteTraceId: "1234",
   properties: {
      "hs_label": "test_discount",
      "hs_duration": "ONCE",
      "hs_type": "PERCENT",
      "hs_value": "40",
      "hs_sort_order": "2"
   }
};

SimplePublicObject createResponse = check hubspotClient->/.post(payload);

List all discounts

Copy
GetCrmV3ObjectsDiscountsQueries params = {
   'limit: 10,
   archived: false,
   properties: ["hs_label", "hs_value", "hs_type"]
};

CollectionResponseSimplePublicObjectWithAssociationsForwardPaging response = check hubspotClient->/.get(queries=params);

Examples

The HubSpot CRM Commerce Discounts connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:

  1. Discount Manager - see how the HubSpot API can be used to create discount and manage it through endpoints.
  2. Festival Discounts - see how the HubSpot API can be used to create and to manage multiple discounts at a time.

Import

import ballerinax/hubspot.crm.commerce.discounts;Copy

Metadata

Released date: 29 days ago

Version: 1.0.0

License: Apache-2.0


Compatibility

Platform: any

Ballerina version: 2201.10.0

GraalVM compatible: Yes


Pull count

Total: 0

Current verison: 0


Weekly downloads


Source repository


Keywords

discounts

hubspot

CRM

commerce


Contributors

Other versions

1.0.0