Module hubspot.crm.commerce.discounts
ballerinax/hubspot.crm.commerce.discounts Ballerina library
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
-
Login to HubSpot developer account.
-
Create a public app by clicking on "Create app".
-
Click on "Create app".
-
Under "App Info"
- Enter Public app name.
- Update App logo (optional).
- Update Description (optional).
Then move to "Auth" tab.
-
Setup the "Redirect URLs" with respective links.
Finally Create the app.
Step 2: Get Client ID and Client secret
Navigate to "Auth" tab.
Step 3: Get access token and refresh token
-
Set scopes under "Auth" tab for your app based on the API requirements.
.
Enable scopes required for HubSpot CRM Discounts API.
crm.objects.line_items.read
crm.objects.line_items.write
oauth
-
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>
-
Choose the preferred account.
Choose account and authorize the client.
-
Check URL tab and find the authorization code.
-
Send a http request to the HubSpot.
-
Linux/MacOS
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>'
-
-
Above command returns the access token and refresh token.
-
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.
import ballerina/oauth2; import ballerinax/hubspot.crm.commerce.discounts;
Step 2: Instantiate a new connector
-
Instantiate a
OAuth2RefreshTokenGrantConfig
with the obtained credentials and initialize the connector with it.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);
-
Create a
Config.toml
file inside the Ballerina package and add the following configurations with the values retrieved in the earlier steps.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
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
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:
- Discount Manager - see how the HubSpot API can be used to create discount and manage it through endpoints.
- 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;
Other versions
1.0.0