Compatibility Guide
Answer the following questions to determine whether the Connector Builder is the right tool to build the connector you need:
- Is it an HTTP API returning a collection of records synchronously?
- Are data endpoints fixed?
- Is the API using one of the following authentication mechanism?
- Is the data returned as JSON?
- If records are paginated, are they using one of the following mechanism?
- Are the required parameters of the integration key-value pairs?
You can use the Connector Builder if the integration checks all the items.
You can follow this chart to guide you through the process.
The sections below provide more details to help you answer the questions.
Is the integration an HTTP API returning a collection of records synchronously?
Look at the shape of the resource path.
Taking the Congress API as an example,
GET /bill
Indicates the records can be retrieved by submitting a GET request to the /bill
path. The sample response shows that the response returns a collection of records, so the Congress API is a REST API returning a collection of records.
Sample response:
{
"bills":[
{
"congress":117,
"latestAction":{
"actionDate":"2022-04-06",
"text":"Became Public Law No: 117-108."
},
"number":"3076",
"originChamber":"House",
"originChamberCode":"H",
"title":"Postal Service Reform Act of 2022",
"type":"HR",
"updateDate":"2022-09-29",
"updateDateIncludingText":"2022-09-29T03:27:05Z",
"url":"https://api.congress.gov/v3/bill/117/hr/3076?format=json"
},
{
"congress":117,
"latestAction":{
"actionDate":"2022-04-06",
"text":"Read twice. Placed on Senate Legislative Calendar under General Orders. Calendar No. 343."
},
"number":"3599",
"originChamber":"House",
"originChamberCode":"H",
"title":"Federal Rotational Cyber Workforce Program Act of 2021",
"type":"HR",
"updateDate":"2022-09-29",
"updateDateIncludingText":"2022-09-29T03:41:50Z",
"url":"https://api.congress.gov/v3/bill/117/hr/3599?format=json"
}
]
}
Some endpoints are parameterized. An example of such endpoint is the Congress API’s bill by congress endpoint.
GET /bill/:congress
These endpoints are also valid synchronous HTTP endpoints.
This differs from the Amazon Ads reports endpoint, which returns a report ID, which will be generated asynchronously by the source. This is not a synchronous HTTP API because the reports need to be downloaded separately.
Examples:
- Yes: Congress API
- No: Amazon Ads
If the integration is not an HTTP API returning the records synchronously, use the Python CDK.
Are data endpoints fixed?
The connector builder requires the data endpoints to be fixed. This means the data endpoints representing separate streams are not dynamically generated based on the data or user configuration, but specified as part of the API documentation.
For example, the Congress API specifies the data endpoints as part of the documentation, while the Salesforce API features a dynamic and configurable list of resources that can't be known in advance.
If an integration has a dynamic list of data endpoints representing separate streams, use the Python CDK.
What type of authentication is required?
Look up the authentication mechanism in the API documentation, and identify which type it is.
Basic HTTP
Are requests authenticated using the Basic HTTP authentication method? You can search the documentation page for one of the following keywords
- "Basic Auth"
- "Basic HTTP"
- "Authorization: Basic"
Example: Greenhouse
If the authentication mechanism is Basic HTTP, it is compatible with the Connector Builder.