Sage Intacct REST

Provides integration into Sage Intacct via its REST API.

Revision History

1.0.0.0 Initial Release

Properties

Connection

Type: Connection Input
The Connection Property

ClientId
Type: String
The Client Id for the Developer App that links to your Sage Intacct Web Services license.

ClientSecret
Type: String
The Client Secret for the Developer App that links to your Sage Intacct Web Services license.

AccessToken
Type: Password
OAuth access token generated when connecting your account to Sage Intacct.

RefreshToken
Type: Password
OAuth refresh token generated when connecting your account to Sage Intacct. Used to refresh the AccessToken on expiry.

OperationId

Type: String Input
The internal ID of the selected Sage Intacct operation. This is set automatically when a sample is selected.

Description

Type: String Input
A short description of the selected Sage Intacct operation. Display only; this value is set automatically when a sample is selected.

Headers

Type: Multiline Text Input
Optional HTTP headers to include in the request.

Request

Type: JSON Input
The JSON body of the request, used for create/update operations. Define the data you want to send to Sage Intacct here.

ResponseCode

Type: String Output
The HTTP status code returned after the request completes, such as 200 (OK), 400 (Bad Request), or 404 (Not Found).

ResponseHeaders

Type: Multiline Text Output
The HTTP headers returned in the response from Sage Intacct. Useful for reviewing metadata or diagnosing issues.

Response

Type: JSON Output
The JSON body returned in the response from Sage Intacct. This contains the data returned by the selected operation.

Setup

In order to make REST API calls to Sage Intacct, you will need a Sage Intacct Web Services developer license, and a Sage App Registry account and app.

To get a Sage Intacct Web Services developer license, contact your Sage account manager. See https://developer.intacct.com/web-services/ for additional information. Once this has been established, you will be given a Sender ID and password which will be needed on the Sage App Registry. Note that sometimes the Sender ID is referred to as a Partner ID.

If you receive the error The sender ID ‘<SenderID>’ is not authorized to make Web Services requests to company ID ‘<CompanyID>’, you need to authorize your Sender ID to interact with your company under Web Services Authorizations.

Click Company

Click Security

Click Edit to allow for editing of Security settings.

Navigate to Web Services authorizations and click the Add button.

Add your Sender ID as Sender ID and Flowgear Integration as the description.


Click Save

Reload the page to confirm the Web Service authorization has been added.

After having created the Sage Intacct Web Services developer license, you can create an app on the Sage App Registry, found here https://app-registry.sage.com/.

You will be prompted to supply an email address to login or create an account. If not yet registered it will ask for more details and a password.

After logging in, Add a workspace and go into it. Then Add an application to the workspace and go into it.

You can now Create API keys on the Application. Select "Sage Intacct" on the Sage Product API option, and add your Intacct Web Services License Key and Password in the required fields.

Batch, Bulk, and Composite requests

The Sage Intacct REST API supports batch, bulk and composite requests. Documentation for these can be found here https://developer.sage.com/intacct/docs/developer-portal/guides/bulk-requests/.

Batch

You can perform multiple requests/submissions in a single request by passing in multiple items to the request. You are limited to 500 records in a batch request.

Get and Delete: For these requests, you can change the "key" being requested to an array of values instead of a single values. key: 194,195,310,145 vs key: 194
Create/Update: Instead of passing a single object through the Request, you can pass through an array by encapsulating multiple Requests in square brackets [].

Single Request

{
	"id": "0",
	"name": "name"
}

Batch Request

[
	{
		"id": "0",
		"name": "name"
	},
	{
		"id": "1",
		"name": "other name"
	},
]

Bulk

Bulk requests work in a similar way, but instead of executing directly you upload a file with the content.

Composite

Composite requests use a single operation to execute multiple operations. The Request will contain an array of objects defining each operation to be taken.

[
    {
      "method": "POST",
      "path": "/objects/accounts-payable/vendor",
      "body": { ... },
      "resultReference": "vendor",
      "headers": {
        "X-ABC": "123"
      }
    },
    {
      "method": "GET",
      "path": "/objects/accounts-payable/vendor/@{vendor.1.key}"
    }
]

Remarks

Samples are generated using the OpenAPI Schema supplied on the Sage Intacct REST API Reference, found here, https://developer.sage.com/intacct/docs/openapi/z-indexes/.

Please refer to that link for additional information on the endpoints and the REST API in general.

See Also

Sage Marketplace contains the necessary documentation for setting up the Sage Intacct environment for integration.

You can also request those documents directly from us.