Module hubspot.crm.commerce.taxes
ballerinax/hubspot.crm.commerce.taxes Ballerina library
Overview
HubSpot is an AI-powered customer relationship management (CRM) platform.
The ballerinax/hubspot.crm.commerce.taxes offers APIs to connect and interact with the Taxes endpoints, specifically based on the HubSpot REST API
Setup guide
You need a HubSpot developer account with an app to use HubSpot connectors.
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 the "Auth" tab.
-
Setup the "Redirect URLs" with respective links.

-
Finally click on "Create app".
Step 2: Get Client ID and Client secret
Navigate to the "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 Taxes API based on your use case.
crm.objects.line_items.readcrm.objects.line_items.writeoauth
-
In the "Auth" tab under "Sample install URL (OAuth)" section "Copy full URL".
Note: The above copied URL is in the following format.
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.
-
"This site can’t be reached" message will appear. Look in the URL 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=<YOUR_REDIRECT_URI>&client_id=<YOUR_CLIENT_ID>&client_secret=<YOUR_CLIENT_SECRET>' -
Windows
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=<YOUR_REDIRECT_URI>&client_id=<YOUR_CLIENT_ID>&client_secret=<YOUR_CLIENT_SECRET>'
-
-
Above command returns the
access tokenandrefresh token. -
Use these tokens to authorize the client.
Quickstart
To use the HubSpot CRM Commerce Taxes connector in your Ballerina application, update the .bal file as follows:
Step 1: Import the module
Import the hubspot.crm.commerce.taxes module and oauth2 module.
import ballerina/oauth2; import ballerinax/hubspot.crm.commerce.taxes;
Step 2: Instantiate a new connector
-
Create a
Config.tomlfile and, configure the obtained credentials obtained in the above steps as follows:clientId = <Client Id> clientSecret = <Client Secret> refreshToken = <Refresh Token> -
Instantiate a
OAuth2RefreshTokenGrantConfigwith the obtained credentials and initialize the connector with it.configurable string clientId = ?; configurable string clientSecret = ?; configurable string refreshToken = ?; taxes:ConnectionConfig config = { auth : { clientId, clientSecret, refreshToken, credentialBearer: oauth2:POST_BODY_BEARER } }; final taxes:Client hubSpotClient = check new (config);
Step 3: Invoke the connector operation
Now, utilize the available connector operations. A sample use case is shown below.
Create a New Tax
taxes:SimplePublicObjectInputForCreate payload = { associations: [], objectWriteTraceId: "1234", properties: { "hs_label": "A percentage-based tax of 6%", "hs_type": "PERCENT", "hs_value": "6" } taxes:SimplePublicObject response = check hubspotClientTax->/.post(payload); };
Examples
The HubSpot CRM Commerce Taxes connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:
- Manage Taxes - see how the Ballerina
hubspot.crm.commerce.taxesconnector can be used to create a tax and manage it through the sales pipeline. - Search Taxes - see how the Ballerina
hubspot.crm.commerce.taxesconnector can be used to search for taxes using properties and create a batch of taxes
Import
import ballerinax/hubspot.crm.commerce.taxes;Other versions
1.0.0