Image Export
How to export images - Abyssale REST API
You can generate an export (.zip format) containing several images.

(1) Ask an export
As this method is asynchronous you need to provide a callback URL that will be called back when the export is done. We will do a POST request on this URL with a JSON payload.
An array of string that corresponds to the banners IDs you would like to export.
64238d01-d402-474b-8c2d-fbc957e9d290The url that will be called once the generation of your export is done.
https://your-webhook.com/export-abyssaleOk
POST /async/banners/export HTTP/1.1
Host: api.abyssale.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 106
{
"ids": [
"64238d01-d402-474b-8c2d-fbc957e9d290"
],
"callback_url": "https://your-webhook.com/export-abyssale"
}Ok
{
"export_id": "64238d01-d402-474b-8c2d-fbc957e9d290"
}# Do not forget to replace {YOUR-API-KEY}
curl -X POST -H "x-api-key:{YOUR-API-KEY}" -H "Content-Type: application/json" \
-d '{
"callback_url": "https://webhook.mycompany.com/export",
"ids": ["{banner_id1}", "{banner_id2}", "{banner_id3}"]
}' \
https://api.abyssale.com/async/banners/exportconst axios = require('axios');
const payload = {
"callback_url": "https://webhook.mycompany.com/export",
"ids": ["{banner_id1}", "{banner_id2}", "{banner_id3}"]
}
// Replace {id} by your template ID
axios.post("https://api.abyssale.com/banner-builder/{id}/generate", payload, {
headers: {"x-api-key": "{YOUR-API-KEY}", "Content-Type": "application/json", "timeout": 30000}
}).then(response => {
console.log(response.data)
})import json
import requests
export_payload = {
"callback_url": "https://webhook.mycompany.com/export",
"ids": ["{banner_id1}", "{banner_id2}", "{banner_id3}"]
}
# Do not forget to replace {YOUR-API-KEY} and {template_id}
r = requests.post("https://api.abyssale.com/banner-builder/{template_id}/generate",
headers={"x-api-key": "YOUR-API-KEY", "Content-Type": "application/json"},
data=json.dumps(export_payload),
timeout=30
)
r.json()(2) Receive the export request ID
If the export request is accepted, the API call returns the export_id. It represents the ID of the asynchronous export and allows toto identify the asynchronous response.
The following errors can occur:
400: A given parameter is invalid. Body response:
{
"message": "body_validation_errors: {'media': {'ids': {0: ['Length must be 36.']}}}",
"errors": {
"media": {
"ids": {
"0": [
"Length must be 36."
]
}
}
}
}404: One the given banner ID cannot be found.
(3) NewExport event
Once the export is generated on the Abyssale side, a NewExport event is sent (POST) to the callback_url
If the initial request returns an export ID, the NewExport event will always be sent.
Last updated