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
You need a HubSpot developer account with an app to use HubSpot connectors.
-
Login to HubSpot developer account.
-
Create a public app by clicking on Create app.
-
Under "App Info"
- Enter "Public app name".
- Update "App logo" (optional).
- Update "Description" (optional).
- Then move to the "Auth" tab.
Finally "Create app".
Navigate to the "Auth" tab.
-
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.read
crm.objects.line_items.write
oauth
-
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 token
andrefresh token
. -
Use these tokens to authorize the client.
To use the HubSpot CRM Commerce Taxes
connector in your Ballerina application, update the .bal
file as follows:
Import the hubspot.crm.commerce.taxes
module and oauth2
module.
import ballerina/oauth2;
import ballerinax/hubspot.crm.commerce.taxes;
-
Create a
Config.toml
file and, configure the obtained credentials obtained in the above steps as follows:clientId = <Client Id> clientSecret = <Client Secret> refreshToken = <Refresh Token>
-
Instantiate a
OAuth2RefreshTokenGrantConfig
with 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);
Now, utilize the available connector operations. A sample usecase is shown below.
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);
};
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.taxes
connector can be used to create a tax and manage it through the sales pipeline. - Search Taxes - see how the Ballerina
hubspot.crm.commerce.taxes
connector can be used to search for taxes using properties and create a batch of taxes
-
Download and install Java SE Development Kit (JDK) version 21. You can download it from either of the following sources:
Note: After installation, remember to set the
JAVA_HOME
environment variable to the directory where JDK was installed. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build
-
To run the tests:
./gradlew clean test
-
To build the without the tests:
./gradlew clean build -x test
-
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases>
-
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port>
-
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
All the contributors are encouraged to read the Ballerina Code of Conduct.
- For more information go to the
hubspot.crm.commerce.taxes
package. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.