Autentifikavimas
Sukurkite API raktą valdymo skydelio nustatymų skiltyje „API ir webhook“. Raktai prasideda ss_live_, priklauso vienai darbo erdvei ir gali būti apriboti tam tikrais projektais. Kiekvienoje užklausoje siųskite raktą kaip bearer prieigos raktą:
curl https://www.amaposta.com/api/v1/me \
-H "Authorization: Bearer ss_live_…"
Atsakyme nurodomas raktas, jo teisės ir darbo erdvė. Kiekvienas raktas turi vieną ar daugiau teisių:
| Teisė | Leidžia |
|---|---|
content:read | Skaityti projektus, kanalus, įrašus ir mediją. |
content:write | Įkelti mediją ir kurti arba redaguoti įrašus. |
posts:publish | Planuoti ir publikuoti be peržiūros. Be šios teisės įrašai patenka į peržiūros dėžutę projektuose su tvirtinimu, o kitur lieka juodraščiais. |
Kiekvienas raktas gali pateikti 120 užklausų per minutę. Viršijus limitą grąžinamas 429 su kodu rate_limited; šiek tiek palaukite ir bandykite dar kartą.
Projektai ir kanalai
Įrašai priklauso projektui. Gaukite raktui matomų projektų sąrašą, tada vieno iš jų kanalus. Norėdami pasirinkti kanalą ar pakeisti jo tekstą, turėsite nurodyti jo ID.
curl https://www.amaposta.com/api/v1/projects \
-H "Authorization: Bearer $AMAPOSTA_KEY"
curl https://www.amaposta.com/api/v1/projects/$PROJECT_ID/channels \
-H "Authorization: Bearer $AMAPOSTA_KEY"
Kanalas turi provider (youtube, instagram, tiktok, x, facebook, custom arba sandbox), status (active, expiring, needs_reconnect, error arba disabled) ir palaikomus įrašų tipus supports.
Įkelti mediją
Paveikslėliai ir vaizdo įrašai įkeliami vieną kartą kiekvienam projektui ir gali būti naudojami bet kokiame skaičiuje įrašų. Yra trys įkėlimo būdai.
Tiesioginis įkėlimas
Siųskite failą kaip multipart formos duomenis lauke file. Geriausiai tinka failams iki kelių šimtų MB.
curl https://www.amaposta.com/api/v1/projects/$PROJECT_ID/media \
-H "Authorization: Bearer $AMAPOSTA_KEY" \
-F "[email protected]"
Iš anksto pasirašytas didelių failų įkėlimas
Paprašykite įkėlimo URL, siųskite baitus tiesiai į saugyklą PUT užklausa, tada praneškite Amaposta, kad baigėte.
# 1. Ask for an upload URL. The response is {"media": { … }, "upload_url": "…"}
curl https://www.amaposta.com/api/v1/projects/$PROJECT_ID/media/uploads \
-H "Authorization: Bearer $AMAPOSTA_KEY" \
-H "Content-Type: application/json" \
-d '{"filename": "batch-142.mp4", "content_type": "video/mp4", "size_bytes": 48213844}'
# 2. Upload the bytes to upload_url
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--upload-file batch-142.mp4
# 3. Finish the upload
curl -X POST https://www.amaposta.com/api/v1/media/$MEDIA_ID/complete \
-H "Authorization: Bearer $AMAPOSTA_KEY"
Importuoti iš URL
Pateikite Amaposta viešą URL ir ji atsisiųs failą fone. Taip pat galite praleisti šį veiksmą ir kurdami įrašą pateikti media_url.
curl https://www.amaposta.com/api/v1/projects/$PROJECT_ID/media/import \
-H "Authorization: Bearer $AMAPOSTA_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://cdn.example.com/batch-142.mp4"}'
Kiekvienas įkėlimas grąžina medijos objektą. Jo status keičiasi iš pending į processing, tada į ready (arba failed su error). Apdorojus pateikiami width, height, duration_ms ir miniatiūra. Periodiškai kvieskite GET /api/v1/media/{id} arba laukite media.ready webhook pranešimo. Grąžinamas url yra pasirašytas ir galioja 12 valandų.
Sukurti įrašą
POST /api/v1/projects/{project_id}/posts sukuria vieną įrašą su pristatymu kiekvienam kanalui. Amaposta jį pritaiko kiekvienai platformai: pavadinimai siunčiami tik ten, kur yra pavadinimo laukas, grotažymės YouTube tampa žymomis, o kitur – teksto dalimi.
curl https://www.amaposta.com/api/v1/projects/$PROJECT_ID/posts \
-H "Authorization: Bearer $AMAPOSTA_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: episode-142" \
-d @- <<'JSON'
{
"kind": "video",
"title": "How we roast a batch in 12 minutes",
"description": "From green beans to first crack. We filmed one batch start to finish.",
"hashtags": ["coffee", "behindthescenes"],
"media_url": "https://cdn.example.com/batch-142.mp4",
"cover_url": "https://cdn.example.com/batch-142-cover.jpg",
"overrides": {
"<x-channel-id>": {
"description": "Batch 142 is out: green beans to first crack in 12 minutes."
},
"<youtube-channel-id>": {
"options": { "privacy": "unlisted" }
}
},
"schedule": { "mode": "queue" },
"external_ref": "episode-142",
"metadata": {
"pipeline": { "name": "nightly-cut", "run": "2026-10-17" }
}
}
JSON
Laukai
| Laukas | Ką daro |
|---|---|
kind | text, image arba video. Privaloma. |
title | Naudoja platformos su pavadinimo lauku: YouTube, TikTok nuotraukų įrašai, Facebook vaizdo įrašai. |
description | Antraštė, aprašas arba įrašo tekstas. Taip pat priimama kaip body, caption arba text. |
hashtags | Sąrašas su # arba be jo. |
media_id, media_url | Įkelto medijos failo ID arba viešas URL, iš kurio Amaposta atsisiunčia failą. Reikalingas paveikslėlių ir vaizdo įrašams. |
cover_media_id, cover_url | Vaizdo įrašų viršelis, jei platforma jį palaiko. |
channels | Kanalų, kuriuose publikuoti, ID. Praleiskite šį lauką, jei norite naudoti visus aktyvius projekto kanalus, palaikančius šį įrašo tipą. |
overrides | Kiekvieno kanalo pakeitimai pagal kanalo ID: title, description, hashtags ir platformos options, pvz., YouTube privacy. |
schedule | mode gali būti at (su ISO 8601 formato at), now arba queue, jei norite kito laisvo publikavimo laiko. Praleiskite šį lauką, jei norite sukurti juodraštį. |
external_ref | Jūsų nuorodinis identifikatorius, grąžinamas įraše ir pasirinktinės API pristatymuose. |
metadata | Laisvos struktūros JSON, saugomas kartu su įrašu. Įtraukite "pipeline" sugeneruotam turiniui pažymėti; valdymo skydelis tai rodo, o webhook pranešimuose kilmė nurodoma kaip pipeline. |
Atsakymas yra įrašas su po vieną deliveries elementą kiekvienam kanalui.
Saugūs pakartotiniai bandymai
Tinkle užklausos gali pasimesti. Kurdami įrašą siųskite Idempotency-Key antraštę; pakartojus užklausą su tuo pačiu raktu grąžinamas pirmojo bandymo įrašas, užuot sukūrus antrą. Naudokite pastovią savo sistemos reikšmę, pvz., užduoties ar epizodo ID. Raktai trumpinami iki 200 ženklų.
Planuoti ir publikuoti
Suplanuokite juodraštį, publikuokite dabar, pridėkite į eilę arba pašalinkite iš kalendoriaus naudodami POST /api/v1/posts/{post_id}/schedule.
curl https://www.amaposta.com/api/v1/posts/$POST_ID/schedule \
-H "Authorization: Bearer $AMAPOSTA_KEY" \
-H "Content-Type: application/json" \
-d '{"mode": "at", "at": "2026-10-20T07:00:00Z"}'
atPublikuoja nurodytu laiku, iki dvejų metų į priekį.nowPublikuoja iš karto.queueParenka kitą laisvą įrašo kanalų publikavimo laiką per artimiausias 12 savaičių.unscheduleGrąžina įrašą į juodraščius.
Prieš planuojant atliekamos tos pačios patikros kaip rengyklėje. Jei kuri nors nepavyksta, užklausa grąžina 400 su pranešimu, pvz., Prieš planuodami ištaisykite: YouTube reikia pavadinimo.
Planavimui reikia posts:publish teisės arba projekto su įjungtu tvirtinimu; tokiu atveju įrašas laukia peržiūros dėžutėje.
Skaityti įrašus ir pristatymus
Pateikite projekto įrašų sąrašą, filtruojamą pagal status (kableliais atskirtas būsenas arba inbox, queue ar history), from/to intervalą, limit ir offset. Atsakymas: {"items": […], "total": n}.
curl "https://www.amaposta.com/api/v1/projects/$PROJECT_ID/posts?status=queue" \
-H "Authorization: Bearer $AMAPOSTA_KEY"
curl https://www.amaposta.com/api/v1/posts/$POST_ID \
-H "Authorization: Bearer $AMAPOSTA_KEY"
Įrašas turi bendrą status (draft, in_review, changes_requested, ready, scheduled, publishing, published, partial arba failed) ir po vieną pristatymą kiekvienam kanalui:
"deliveries": [
{
"id": "0192b7d4-…",
"channel_id": "0192b7a1-…",
"status": "published",
"url": "https://www.youtube.com/watch?v=…",
"error": null,
"published_at": "2026-10-20T07:00:41Z"
},
{
"id": "0192b7d4-…",
"channel_id": "0192b7a9-…",
"status": "failed",
"url": null,
"error": {
"code": "endpoint_unavailable",
"message": "Your endpoint returned 503 Service Unavailable",
"hint": "Amaposta will retry with backoff."
},
"published_at": null
}
]
Pristatymo būsenos: pending, scheduled, publishing, processing, published, failed ir cancelled. DELETE /api/v1/posts/{post_id} pašalina įrašą.
Klaidos
Visos klaidos turi tą pačią struktūrą: error objektą su pastoviu code, žmonėms rodomu message, kartais fields (atskirų laukų pranešimais) ir hint.
{
"error": {
"code": "validation",
"message": "Please fix the highlighted fields.",
"fields": {
"kind": "Use text, image or video."
}
}
}
| Būsena | Kodas | Reikšmė |
|---|---|---|
| 400 | bad_request | Užklausos negalima įvykdyti taip, kaip prašoma, pvz., suplanuoti įrašo, nepraėjusio patikrų. |
| 401 | unauthorized | API rakto nėra, jis neteisingas arba atšauktas. |
| 402 | plan_limit | Darbo erdvės planas to neleidžia; limit nurodo, kuris limitas. |
| 403 | forbidden | Raktui trūksta teisės arba prieigos prie projekto. |
| 404 | not_found | Tokio projekto, įrašo, medijos ar galinio taško nėra. |
| 409 | conflict | Pakeitimas prieštarauja dabartinei būsenai, pvz., mėginama redaguoti jau publikuojamą įrašą. |
| 422 | validation | Reikia ištaisyti vieną ar daugiau laukų; žr. fields. |
| 429 | rate_limited | Šiuo raktu pateikta daugiau nei 120 užklausų per minutę. |
| 502 | provider_error | Platforma atmetė užklausą arba įvyko klaida; hint nurodo, ką daryti. |
Webhook pranešimai
Nustatymų skiltyje „API ir webhook“ pridėkite galinį tašką, pasirinkite norimus įvykius ir nukopijuokite jo pasirašymo paslaptį. Kiekvienam įvykiui Amaposta siunčia JSON POST užklausą į jūsų URL. Jei atsakymas nėra 2xx arba negaunamas per 15 sekundžių, bandoma dar kartą didinant intervalus, o nuolat neveikiantys galiniai taškai išjungiami ir apie tai pranešama administratoriams.
| Įvykis | Siunčiama, kai |
|---|---|
post.created | Įrašas sukurtas (valdymo skydelyje arba per API) |
post.scheduled | Įrašas suplanuotas |
post.approved | Įrašas patvirtintas |
post.published | Įrašas paskelbtas kanale |
post.failed | Įrašo publikuoti kanale nepavyko |
channel.connected | Kanalas buvo prijungtas arba prijungtas iš naujo |
channel.disconnected | Kanalas prarado ryšį |
media.ready | Įkelto failo apdorojimas baigtas |
media.failed | Įkelto failo apdoroti nepavyko |
POST /your/webhook HTTP/1.1
Content-Type: application/json
User-Agent: Amaposta-Webhooks/1.0
X-Amaposta-Event: post.published
X-Amaposta-Event-Id: 0192b7e0-…
X-Amaposta-Signature: t=1792479641,v1=5f2b0c…
{
"id": "0192b7e0-…",
"type": "post.published",
"created_at": "2026-10-20T07:00:41Z",
"project_id": "0192a3f1-…",
"data": {
"post_id": "0192b7c8-…",
"delivery_id": "0192b7d4-…",
"channel_id": "0192b7a1-…",
"provider": "youtube",
"external_id": "…",
"url": "https://www.youtube.com/watch?v=…"
}
}
Patikrinti parašą
X-Amaposta-Signature yra t=<unix seconds>,v1=<hex>, kur v1 yra HMAC_SHA256(secret, t + "." + body), apskaičiuotas iš neapdoroto užklausos turinio. Apskaičiuokite jį patys, palyginkite pastoviu laiku ir atmeskite senas laiko žymas, kad užklausų nebūtų galima pakartoti.
import crypto from "node:crypto";
// rawBody: the request body exactly as received (string or Buffer).
export function verifySignature(rawBody, header, secret, toleranceSeconds = 300) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=", 2)));
const t = Number(parts.t);
if (!t || Math.abs(Date.now() / 1000 - t) > toleranceSeconds) return false;
const expected = crypto
.createHmac("sha256", secret)
.update(`${t}.${rawBody}`)
.digest();
const given = Buffer.from(parts.v1 ?? "", "hex");
return given.length === expected.length && crypto.timingSafeEqual(given, expected);
}
import hashlib
import hmac
import time
def verify_signature(raw_body: bytes, header: str, secret: str, tolerance: int = 300) -> bool:
parts = dict(p.split("=", 1) for p in header.split(","))
t = int(parts.get("t", "0"))
if abs(time.time() - t) > tolerance:
return False
expected = hmac.new(secret.encode(), f"{t}.".encode() + raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, parts.get("v1", ""))
Pasirinktinės API kanalai
Pasirinktinės API kanalas publikuoja į jūsų valdomą HTTPS galinį tašką: jūsų TVS, naujienlaiškių įrankį ar platformą, kurios Amaposta dar nepalaiko. Jis rodomas kalendoriuje, tikrinamas, tvirtinamas ir pakartotinai bandomas kaip bet kuris kitas kanalas. Publikuojant įrašą, Amaposta siunčia vieną POST užklausą kiekvienam pristatymui:
POST /amaposta/publish HTTP/1.1
Authorization: Bearer <your API key>
Content-Type: application/json
Idempotency-Key: 0192b7d4-…
X-Amaposta-Delivery: 0192b7d4-…
X-Amaposta-Signature: t=1792479600,v1=9ac41e…
{
"id": "0192b7d4-…",
"type": "post.publish",
"created_at": "2026-10-20T07:00:00Z",
"content": {
"kind": "video",
"title": "How we roast a batch in 12 minutes",
"text": "From green beans to first crack. We filmed one batch start to finish.",
"hashtags": ["coffee", "behindthescenes"],
"media": {
"url": "https://…",
"content_type": "video/mp4",
"size_bytes": 48213844,
"width": 1080,
"height": 1920,
"duration_ms": 58000,
"filename": "batch-142.mp4"
},
"cover": null,
"options": {}
},
"post": {
"id": "0192b7c8-…",
"external_ref": "episode-142",
"scheduled_at": "2026-10-20T07:00:00Z",
"metadata": {
"pipeline": { "name": "nightly-cut" }
}
},
"project": { "id": "0192a3f1-…", "name": "Spring launch" },
"channel": { "id": "0192b7a9-…", "name": "api.example.com" }
}
Authorization- Jūsų API raktas. Antraštės pavadinimas ir priešdėlis (pagal numatytuosius nustatymus
Bearer) nustatomi kanale. Idempotency-Key- Pristatymo ID. Kartojant tą patį pristatymą siunčiamas tas pats raktas, todėl galite praleisti jau atliktą darbą.
X-Amaposta-Delivery- Pristatymo ID dar kartą, jūsų žurnalams.
X-Amaposta-Signature- Pasirašoma kaip webhook pranešimai, naudojant atskirą kanalo pasirašymo paslaptį.
Kaip atsakyti
- 2xxPublikuota. Pasirinktinai grąžinkite
{"id": "…", "url": "…"}ir nuoroda bus rodoma įraše. - 401, 403Raktas atmestas. Kanalas pažymimas pakartotiniam prijungimui ir apie tai pranešama administratoriams. Nenaudokite šių kodų neteisingam parašui.
- 5xx, 408, 429Laikina. Amaposta bando dar kartą didindama intervalus.
- Kiti 4xxĮrašas pažymimas kaip nepavykęs su jūsų pranešimu, o kas nors gali jį pataisyti ir paspausti „Bandyti dar kartą“.
app.post("/amaposta/publish", express.raw({ type: "application/json" }), async (req, res) => {
const signature = req.get("X-Amaposta-Signature") ?? "";
if (!verifySignature(req.body, signature, process.env.AMAPOSTA_SIGNING_SECRET)) {
return res.status(400).json({ message: "Bad signature" });
}
const delivery = JSON.parse(req.body);
const item = await publishToYourSystem(delivery.content, req.get("Idempotency-Key"));
res.json({ id: item.id, url: item.url });
});
Jūsų galinis taškas turi būti pasiekiamas internetu; peradresavimų nesekama. Prijungiant kanalą Amaposta jį patikrina GET užklausa į veikimo patikros URL, jei jis nustatytas, arba OPTIONS užklausa į galinį tašką.
Sandbox kanalai
Bandomasis kanalas veikia kaip tikras, bet niekas neišsiunčiama iš Amaposta. Naudokite jį integracijai kurti ir visapusiškai išbandyti: įrašai planuojami, pradedami publikuoti, publikuojami arba nepavyksta, ir siunčiami tie patys webhook pranešimai. Bandomieji kanalai nemokami visuose planuose ir neįskaičiuojami į kanalų limitus.
Pasirinkite, kaip jis veiks jį pridėjus:
- Visada pavykstaKiekvienas įrašas publikuojamas.
- Kartais nepavykstaPamatykite klaidas ir pakartotinius bandymus nelaukdami tikro sutrikimo.
- Visada nepavykstaIšbandykite savo
post.failedapdorojimą. - Nebegaliojantis ryšysPamatykite, kaip atrodo pakartotinio prijungimo įspėjimai ir nuorodos pasibaigus prieigai.
Prijunkite X per savo programėlę
X kiekvieno API iškvietimo, įskaitant kiekvieną įrašo publikavimą, mokestį priskiria jį atlikusiai kūrėjo programėlei ir nuskaičiuoja iš jos iš anksto apmokėtų kreditų. Todėl X prijungiate per savo X kūrėjo programėlę: nustatykite ją vieną kartą kiekvienai darbo erdvei, tada prijunkite tiek X paskyrų, kiek norite. Prie kiekvienos paskyros prisijungiama X platformoje, o už jos įrašus mokama iš jūsų programėlės kreditų.
- Prisijunkite adresu console.x.com su X paskyra, kuriai turėtų priklausyti programėlė, pavyzdžiui, jūsų agentūros paskyra, ir sukurkite programėlę.
-
Atverkite programėlės User authentication settings ir įveskite:
- App permissionsRead and write
- Type of AppWeb App, Automated App or Bot
- Callback URI / Redirect URL
https://www.amaposta.com/oauth/x/callback - Website URLJūsų svetainė
Tada išsaugokite. Tik šio tipo programėlė gauna kliento slaptąjį raktą, kurį Amaposta naudoja prisijungimui.
- Nukopijuokite OAuth 2.0 Client ID ir Client Secret, kuriuos X parodo išsaugojus. Nenaudokite API Key, API Key Secret ar Bearer Token: jie skirti kitų rūšių prieigai. X slaptąjį raktą parodo tik vieną kartą.
- X konsolėje įsigykite API kreditų. Automatinis papildymas leidžia toliau publikuoti įrašus, kai kreditų lieka mažai; išlaidų limitas apriboja sąnaudas. Kai kreditai baigiasi, X neleidžia publikuoti, kol jų nepapildote.
- Amaposta atidarykite projekto skiltį Kanalai, pasirinkite Prijungti kanalą, tada X. Įklijuokite kliento ID ir kliento slaptąjį raktą, pereikite į X, prisijunkite prie paskyros, kurią norite prijungti, ir suteikite prieigą.
Verta žinoti
- Programėlė išsaugoma visai darbo erdvei, o jos slaptasis raktas užšifruojamas. Kiekvieną kitą X paskyrą galima prijungti vienu spustelėjimu iš bet kurio projekto.
- Kanalai išlaiko programėlę, per kurią buvo prijungti. Iš naujo prijungiant kanalą, taip pat ir per klientui skirtą pakartotinio prijungimo nuorodą, vėl naudojama ta pati programėlė; jūsų klientas jos niekada nemato.
- Norėdami pakeisti programėlę, prijungdami X pasirinkite „Naudoti kitą programėlę“. Jei iš naujo sugeneruosite Client Secret, ten įveskite naują reikšmę ir iš naujo prijunkite savo X kanalus.
- X konsolė išduoda prieigos raktus tik paskyrai, kuriai priklauso programėlė. Savo klientų paskyras prijungiate prisijungdami per savo programėlę; savo paskyrai ir toliau galite įvesti prieigos raktus rankiniu būdu.
Platformų taisyklės
Ką priima kiekvieno tipo kanalas. Patikros naudoja tuos pačius limitus, todėl dauguma problemų išryškėja prieš planuojant įrašą, o ne jį publikuojant.
| Platforma | Įrašas | Pavadinimas | Tekstas | Grotažymės | Medija |
|---|---|---|---|---|---|
| YouTube | Vaizdo įrašas | PavadinimasPrivaloma, ženklų limitas: 100 | AprašasŽenklų limitas: 5 000 | Siunčiama kaip žymos, iki 60 | MP4, MOV, WebM, AVI, MKV; iki 256 GB; nuo 1 s iki 12 val. |
| Paskyros su nepatvirtintu telefono numeriu gali įkelti iki 15 minučių trukmės įrašus ir negali nustatyti pasirinktinių miniatiūrų. Kiekvienas įkėlimas naudoja API kvotą; numatytoji Google kvota leidžia apie šešis įkėlimus per dieną vienai programai. | |||||
| Paveikslėlis | Pavadinimo nėra | AntraštėŽenklų limitas: 2 200 | Pridedama prie teksto, iki 30 | JPEG; iki 8 MB | |
| Vaizdo įrašas | Pavadinimo nėra | AntraštėŽenklų limitas: 2 200 | Pridedama prie teksto, iki 30 | MP4, MOV; iki 300 MB; nuo 3 s iki 15 min. | |
| Reikalinga Instagram Business arba Creator paskyra. Instagram leidžia per API publikuoti 50 įrašų vienai paskyrai per slenkantį 24 valandų laikotarpį. Instagram negalimi vien tekstiniai įrašai. | |||||
| TikTok | Paveikslėlis | PavadinimasŽenklų limitas: 90 | AprašasŽenklų limitas: 4 000 | Pridedama prie teksto | JPEG, WebP; iki 20 MB |
| Vaizdo įrašas | Pavadinimo nėra | AntraštėŽenklų limitas: 2 200 | Pridedama prie teksto | MP4, MOV, WebM; iki 4 GB; nuo 3 s iki 10 min. | |
| Įrašai iš programų, nepraėjusių TikTok audito, matomi tik kūrėjui. TikTok pasirenka viršelį iš vaizdo įrašo kadro; pasirinktiniai viršelio paveikslėliai nepalaikomi. TikTok negalimi vien tekstiniai įrašai. | |||||
| X | Tekstas | Pavadinimo nėra | ĮrašasPrivaloma, iki 280 (nuorodos skaičiuojamos kaip 23, jaustukai – kaip 2) | Pridedama prie teksto | Nėra |
| Paveikslėlis | Pavadinimo nėra | ĮrašasIki 280 (nuorodos skaičiuojamos kaip 23, jaustukai – kaip 2) | Pridedama prie teksto | JPEG, PNG, WebP, GIF; iki 5 MB | |
| Vaizdo įrašas | Pavadinimo nėra | ĮrašasIki 280 (nuorodos skaičiuojamos kaip 23, jaustukai – kaip 2) | Pridedama prie teksto | MP4, MOV; iki 512 MB; nuo 0,5 s iki 2:20 min. | |
| Naudojant savo X kūrėjo programą, įrašams naudojami jos API kreditai, apmokestinami pagal naudojimą. Grotažymės įskaičiuojamos į ženklų limitą. | |||||
| Tekstas | Pavadinimo nėra | ĮrašasPrivaloma, ženklų limitas: 63 206 | Pridedama prie teksto | Nėra | |
| Paveikslėlis | Pavadinimo nėra | AntraštėŽenklų limitas: 63 206 | Pridedama prie teksto | JPEG, PNG, GIF, WebP; iki 10 MB | |
| Vaizdo įrašas | PavadinimasŽenklų limitas: 255 | AprašasŽenklų limitas: 63 206 | Pridedama prie teksto | MP4, MOV; iki 1 GB; nuo 1 s iki 20 min. | |
| Publikuoja tik puslapiuose; per API negalima publikuoti asmeniniuose profiliuose. | |||||
| Pasirinktinė API | Tekstas | PavadinimasIlgis neribojamas | AprašasIlgis neribojamas | Siunčiama kaip žymos | Nėra |
| Paveikslėlis | PavadinimasIlgis neribojamas | AprašasIlgis neribojamas | Siunčiama kaip žymos | JPEG, PNG, WebP, GIF | |
| Vaizdo įrašas | PavadinimasIlgis neribojamas | AprašasIlgis neribojamas | Siunčiama kaip žymos | MP4, MOV, WebM | |
| Kiekviena užklausa pasirašoma HMAC-SHA256 antrašte, kad galėtumėte patikrinti, ar ji gauta iš Amaposta. Atsakykite 2xx ir pasirinktinai JSON {"id": "…", "url": "…"}. Gavus 408, 429 ir 5xx atsakymus bandoma dar kartą didinant intervalus; 401/403 pažymi, kad kanalą reikia prijungti iš naujo; kiti 4xx nutraukia pristatymą, kad galėtumėte ištaisyti ir bandyti dar kartą. | |||||
| Sandbox | Tekstas | PavadinimasŽenklų limitas: 200 | AprašasŽenklų limitas: 5 000 | Pridedama prie teksto, iki 30 | Nėra |
| Paveikslėlis | PavadinimasŽenklų limitas: 200 | AprašasŽenklų limitas: 5 000 | Pridedama prie teksto, iki 30 | JPEG, PNG, WebP, GIF | |
| Vaizdo įrašas | PavadinimasŽenklų limitas: 200 | AprašasŽenklų limitas: 5 000 | Pridedama prie teksto, iki 30 | MP4, MOV, WebM | |
| Publikavimas šiek tiek užtrunka, kad galėtumėte stebėti būsenos pokyčius tiesiogiai. | |||||