Skip to main content

Global Hub Tax Engine Settings

Zuora

Global Hub Tax Engine Settings

Describes how to create, retrieve, and update the Global Tax Hub Engine through the Settings API.

Create a Global Tax Hub Engine

To create a new Global Tax Hub Engine, see the following request and a sample of 200 response:

HTTP request:

POSThttps://rest.zuora.com/settings/tax-engines/global-tax-hub

Request body:

{
   "name": "Global Tax Hub Engine",
   "taxEngineType": "GlobalTaxHub",
   "url": "https://communicationsua.avalara.net/api/v2/afc/CalcTaxes",
   "voidUrl": "https://communicationsua.avalara.net/api/v2/afc/commit",
   "authenticationType": "BasicAuth",
   "vendor": "AvalaraTelco",
   "username": "username",
   "password": "password",
   "requestTemplate": "mock template",//Will be set to the default template if empty
   "voidTemplate": "mock template"//Will be set to the default template if empty
}

The following fields are required in the request body:

  • name
  • taxEngineType
  • vendor
  • authenticationType -The username and password are required when the authenticationType is set to Basic Auth.
  • Url

Response body:

{
   "id": "402833ec850fae4a01850fb5d039132d",
   "name": "Global Tax Hub Engine",
   "taxEngineType": "GlobalTaxHub",
   "customFieldMetas": [],
   "vendor": "AvalaraTelco",
   "authenticationType": "BasicAuth",
   "username": "username",
   "url": "https://communicationsua.avalara.net/api/v2/afc/CalcTaxes",
   "voidUrl": "https://communicationsua.avalara.net/api/v2/afc/commit",
   "networkOpenTimeoutInSeconds": 60,
   "networkReadTimeoutInSeconds": 60,
   "requestTemplate": "mock template",
   "voidTemplate": "mock template",
   "success": true
}

Get a Global Tax Hub Engine

To access detailed information about a particular Global Tax Hub engine, you must include the ID of the specific engine as a path parameter. Here's an example of a sample request and the corresponding 200 response:

HTTP request:

GEThttps://rest.zuora.com/settings/tax-engines/global-tax-hub/{id}

Request body:

None

Response body:

{
   "id": "402833ec850fae4a01850fb5d039132d",
   "name": "Global Tax Hub Engine",
   "taxEngineType": "GlobalTaxHub",
   "customFieldMetas": [],
   "vendor": "AvalaraTelco",
   "authenticationType": "BasicAuth",
   "username": “username”,
   "description": "Test",
   "url": "https://communicationsua.avalara.net/api/v2/afc/CalcTaxes",
   "voidUrl": "https://communicationsua.avalara.net/api/v2/afc/commit",
   "networkOpenTimeoutInSeconds": 60,
   "networkReadTimeoutInSeconds": 60,
   "requestTemplate": "mock template",
   "voidTemplate": "mock template",
   "success": true
}

Update a Global Tax Hub Engine

To update an existing Global Tax Hub Engine, you must include the ID of the engine as a path parameter. Here's an example of a sample request and the corresponding 200 response:

HTTP request:

PUThttps://rest.zuora.com/settings/tax-engines/global-tax-hub/{id}

Request body:

{
   "name": "Global Tax Hub Engine",
   "url": "https://communicationsua.avalara.net/api/v2/afc/CalcTaxes",
   "voidUrl": "https://communicationsua.avalara.net/api/v2/afc/commit",
   "authenticationType": "OAuth2",
   "vendor": "AvalaraTelco",
   "accessTokenUrl": "https://access-token.com/",
   "clientId": "clientId",
   "clientSecret": "clientSecret",
   "description": "Test",
   "requestTemplate": "mock template",
   "voidTemplate": "mock template"
}

Do not include the taxEngineType parameter in the request body.

Response body:

{
   "id": "402833ec850fae4a01850fb5d039132d",
   "name": "Global Tax Hub Engine",
   "taxEngineType": "GlobalTaxHub",
   "customFieldMetas": [],
   "vendor": "AvalaraTelco",
   "authenticationType": "OAuth2",
   "url": "https://communicationsua.avalara.net/api/v2/afc/CalcTaxes",
   "voidUrl": "https://communicationsua.avalara.net/api/v2/afc/commit",
   "accessTokenUrl": "https://access-token.com/",
   "clientId": "clientId",
   "networkOpenTimeoutInSeconds": 60,
   "networkReadTimeoutInSeconds": 60,
   "requestTemplate": "mock template",
   "voidTemplate": "mock template",
   "success": true
}

Delete a Global Tax Hub Engine

To delete a specific Global Tax Hub Engine, you must include the ID of the engine as a path parameter. Here's an example of a sample request and the corresponding 200 response:

HTTP request:

DELETEhttps://rest.zuora.com/settings/tax-engines/global-tax-hub/{id}

Request body:

None

Response body:

None

API Fields Description

Property Name Type Description
name String The calculated tax amount that is excluded due to the exemption.
vendor Enum The name of the vendor that is currently only supported by the AvalaraBrazil and Taxamo engines. The available values are AvalaraBrazil and Taxamo.
authenticationType Enum The authentication types. The available options are BasicAuth, OAuth2, and PrivateToken.
taxEngineType Enum The type of tax engine, such as GlobalTaxHub for TaxHub.
url String The tax vendor URL for tax calculation.
voidUrl String The tax vendor URL for tax void.
username String The username for accessing the tax URL and tax void URL. This is required only when the authenticationType is BasicAuth.
password String The password for accessing the tax URL and tax void URL. This is required only when the authenticationType is BasicAuth.
securityToken String This is required when the authenticationType is PrivateToken.
accessTokenUrl String The access token URL. This is required only when the authenticationType is OAuth2.
clientId String The client ID. This is required only when the authenticationType is OAuth2.
clientSecret String The client secret ID. This is required only when the authenticationType is OAuth2.
networkOpenTimeoutInSeconds Number The timeout duration (in seconds) for establishing a network connection.
networkReadTimeoutInSeconds Number The timeout duration (in seconds) for reading responses.
requestTemplate String The request template for tax calculation. If left empty, the default template will be applied.
voidTemplate String The request template for tax void. If left empty, the default template will be applied.
customFieldMetas Array of objects This must be defined only if the latest value of custom fields are used, for example,

"customFieldMetas": {

    "useLatestValue" : true,

    "customFieldName" : "PicklistCustom__c",

    "customFieldObjectType" : "Account"

  }

requestHeaders Map The Request headers. Input the key-value pairs, for example, 

"requestHeaders": {

     "Accept-encoding" : "gzip, deflate, br"

}

responseMappings Map

The customized response mapping. Input the key-value pairs, for example, 

"responseMappings": {

     "taxRateDescription": "citation"