Getting Started with curl explains how to use an Acquisio API with curl. curl is a command line tool that can be used to test the REST APIs of Acquisio API.
If you prefer to use an application with a UI, see Getting Started.
If you have any question, you can send an email to api@acquisio.com.
Generating an access token
The Acquisio APIs are secured with OAuth 2.0. The OAuth grant type is Client Credentials.
The Client Application (in this case, it’s Postman) must sends the clientId and the clientSecret
separated by a :
encoded in Base 64. The format will be like: Base64(clientId:clientSecret)
Many variants of Base64 exist. The variant that must be used is RFC 4648.
The example below shows how to encode the clientId and clientSecret in Java. Examples in other programming languages are also available.
// Java uses RFC 4648 by default
java.util.Base64.Encoder encoder = java.util.Base64.getEncoder();
String clientIdAndSecret = clientId + ":" + clientSecret;
encodedClientIdAndSecret = encoder.encodeToString(clientIdAndSecret.getBytes("UTF-8"));
A POST request can be sent with curl to request the access token with the clientId and clientSecret.
curl -d "grant_type=client_credentials" \
-H "Authorization: Basic xzzflprEA8yC2K6AUZKZoZMw_fMa:3gyrfVH8CMZWiQgy5u0lSMPrmlAa" \
-H "Content-Type: application/x-www-form-urlencoded" \
https://api.acquisio.com/token
The response includes an access token and specifies the expiration time of the token in seconds. There’s no refresh token for the Client Credentials grant type, since the client application can generate a new Access token without having to ask a user for its credentials.
{
"access_token": "a6bba16f-c08c-3f8c-8af6-6ff5c88643cb",
"scope": "am_application_scope default",
"token_type": "Bearer",
"expires_in": 2550
}
Calling an API endpoint
When an API endpoint is called, the Authorization
header must be sent with Bearer AccessToken
where AccessToken
is an access token returned by https://api.acquisio.com/token
A call to GET /provisioning/v0/accounts allows to retrieve the Acquisio accounts of an agency.
curl -H "Authorization: Bearer a6bba16f-c08c-3f8c-8af6-6ff5c88643cb" \
https://api.acquisio.com/provisioning/v0/accounts
A JSON response will be returned with the accounts.
{
"accounts": [
{
"id": 30345185874,
"name": "Test Account",
"language": "en",
"country": "CA",
"currency": "CAD",
"notes": null,
"autoImport": true,
"field1": null,
"field2": null,
"field3": null,
"field4": null,
"field5": null,
"field6": null,
"field7": null,
"field8": null,
"field9": null,
"field10": null,
"field11": null,
"field12": null,
"field13": null,
"field14": null,
"field15": null,
"field16": null,
"field17": null,
"field18": null,
"field19": null,
"field20": null,
"field21": null,
"field22": null,
"field23": null,
"field24": null,
"field25": null,
"field26": null,
"field27": null,
"field28": null,
"field29": null,
"field30": null,
"linkedAdPlatformAccounts": [
{
"id": 30545139954,
"name": "Google Ads Test Account",
"adPlatformType": "GoogleAds",
"status": "ReadWrite",
"adPlatformId": "204345345063"
}
]
}
]
}
Encoding URL reserved characters
URL reserved characters must be encoded. For example, a request with the following query parameter filter=statistics.clicks:[1 TO *]
needs to be encoded as filter=statistics.clicks%3A%5B1%20TO%20*%5D
. Otherwise, a 400 error will be returned by the API.
The option --data-urlencode
can be used to encode the reserved characters.
curl -H "Authorization: Bearer a6bba16f-c08c-3f8c-8af6-6ff5c88643cb" \
"https://api.acquisio.com/reporting/v0/accounts?startDate=2019-06-01&endDate=2019-06-30" \
--data-urlencode "&filter=statistics.clicks:[1 TO *]"