Помилки мають повернений код статусу 400, 401, 402, 403, 404, 429, 500, 502, 503 або 504. Успіх має
повернений код статусу 200. Дивіться тут для деталей.
- Поле
errorsмістить масив помилок, по одній на кожну соціальну мережу, у якій сталася помилка. actionпосилається на тип поверненої помилки.- Поле
statusверхнього рівня буде “error”, якщо виклик API зазнав невдачі. Наприклад, для виклику /post, якщо всі публікації в соціальні мережі були успішними, полеstatusбуде “success”, інакше поле статусу буде “error”. - Поле
codeмістить довідковий код помилки Ayrshare. - Поле
message— це специфічні деталі помилки.
Обробка помилок
Ви повинні обробляти будь-які відповіді про помилки та вживати відповідних дій. Помилка сталася, якщо:- Код повернення відповіді не
200 - Статус JSON-відповіді —
error
400 Bad Request.
400 Bad Request:
Місячна квота публікацій
Code 106 — Перевищено місячну квоту публікацій (HTTP 429) Профіль використав свою місячну квоту публікацій./post повертає цю помилку для нових запитів на публікацію, зокрема для запитів, які планують публікацію. Інші запити щодо публікацій, як-от отримання, видалення чи повторна спроба публікації або аналітика публікацій, теж повертають цю помилку, доки квота не скинеться. Заплановані публікації, час яких настає, поки квоту вичерпано, теж завершуються помилкою з цим кодом. Це не rate limit. Очікування протягом кількох хвилин не допоможе.
Зазвичай уся відповідь і є помилкою:
errors цієї публікації. Таке може статися й з новою публікацією, якщо квоту буде вичерпано під час її надсилання. Перевіряйте code: 106 в обох місцях.
Дія: Перевірте monthlyPostCount і monthlyPostQuota через Деталі User Profile. Квота скидається 1-го числа кожного місяця (UTC). Зміна плану одразу скидає лічильник вашого Primary Profile. Невдалі спроби публікації теж зараховуються, тому зупиніть будь-які автоматичні повторні спроби для публікацій, які постійно завершуються помилкою. Докладніше див. Скільки публікацій та API-викликів я можу зробити?.
Помилки дубльованого та схожого вмісту
Перш ніж допис потрапить до соціальної мережі, Ayrshare порівнює його з вашими іншими дописами та відхиляє ідентичний або майже ідентичний вміст із кодом137. Це власна перевірка Ayrshare, тож допис може бути відхилено навіть тоді, коли мережа дозволила б його. Вона діє не для всіх платформ — див. винятки нижче.
scheduleDate — 24 години до і 24 години після. Оскільки вікно охоплює не лише минуле, а й майбутнє, допис може бути відхилено через допис, запланований після нього, а не лише перед ним.
Що порівнюється.
- Збіги шукаються окремо для кожного профілю користувача та кожної платформи. Той самий текст, надісланий до X/Twitter і до LinkedIn, не є дублікатом сам для себе, а два різні профілі користувача не конфліктують.
- X/Twitter — виняток, але лише для точних дублікатів: ідентичний допис також перевіряється в межах усіх профілів користувачів того самого облікового запису, оскільки X не дозволяє однаковий вміст на кількох акаунтах. Майже ідентичні (схожі) збіги залишаються обмеженими лише тим одним профілем, з якого опубліковано допис.
- Для Pinterest, Reddit і Telegram перевірка дублікатів не виконується.
Специфічні для Instagram коди помилок
Наступні коди помилок надають конкретні деталі про збої публікації в Instagram, замінюючи загальну помилку 138, де це можливо. Code 435 — Instagram Rate Limit (HTTP 429) Професійні (Business / Creator) облікові записи Instagram підпадають під ліміт 50 публікацій протягом 24-годинного вікна в Meta’s Content Publishing API (особисті облікові записи взагалі не можуть публікувати через API, тому ніколи не досягають цього ліміту). Коли ліміт перевищено, Meta повертає помилку rate-limit. Ayrshare також повертаєcode: 435, коли ендпоінт публікації Meta безпосередньо повертає HTTP 429 або коли базовий підкод помилки (1390008) вказує на throttle публікації / коментаря.
Retry-After, значення (у секундах) передається в полі details — зачекайте принаймні стільки часу перед повторним надсиланням.
Code 436 — Instagram Media Processing Timeout (HTTP 400)
Instagram надто довго обробляв завантажені медіа. Це може статися з великими відеофайлами або в періоди високого навантаження на сервери Meta.
instagramOptions.trialParams надано у запиті /post, але graduationStrategy відсутнє, null або порожній рядок. Trial reels вимагають явної стратегії випуску — дивіться Trial Reels.
instagramOptions.trialParams.graduationStrategy на "MANUAL" або "SS_PERFORMANCE" і повторіть спробу, або видаліть trialParams, якщо Ви не мали намір публікувати trial reel.
Code 448 — Instagram Trial Reels: Invalid graduationStrategy (HTTP 400)
Повертається, коли graduationStrategy присутнє, але не точно "MANUAL" або "SS_PERFORMANCE". Перевірка чутлива до регістру — значення на кшталт "manual" або "ss_performance" відхиляються. Поле details повторює відхилений ввід (усічений до 64 символів) для полегшення налагодження.
graduationStrategy точно як "MANUAL" або "SS_PERFORMANCE" (верхній регістр, тип string).
Code 449 — Instagram Trial Reels: Incompatible Media (HTTP 400)
Повертається, коли медіа або форма публікації не має права на trial reel. Trial reels мають бути одним .mp4 або .mov відео — каруселі (більше ніж один URL), stories (instagramOptions.stories: true) та не-відеорозширення всі відхиляються. Поле details уточнює, який саме підвипадок спрацював.
.mp4 або .mov без прапорця stories: true. Видаліть додаткові записи mediaUrls або видаліть trialParams, якщо мали намір створити звичайну карусель / stories публікацію.
Code 258 — Instagram Account-State Error (HTTP 400)
Загальний збій стану облікового запису Instagram з базовим повідомленням “Error with Instagram.” Це з’являється, коли Meta відхиляє запит через стан підключеного облікового запису Instagram, а не через вміст публікації.
error_subcode — це 2207085 («Generic Internal Error»), збій є тимчасовим і виникає на боці Meta. Ayrshare автоматично повторює публікацію протягом щонайбільше приблизно 50 секунд, перш ніж повернути помилку, і відповідь встановлює retryAvailable: true. Вона не встановлює relink: true — повторне прив’язування не усуває цей стан. Коли Meta надає fbtrace_id, він повертається в details:
2207085 повторіть публікацію за кілька хвилин — це стан на боці Meta, який зазвичай минає сам, і повторне прив’язування його не виправляє. Лише якщо помилка триває понад 24-48 годин, запропонуйте користувачу відв’язати та повторно прив’язати обліковий запис Instagram у Social Accounts, надавши всі запитувані дозволи, або зверніться до підтримки Meta з fbtrace_id із details. Для інших помилок стану облікового запису перевірте, чи обліковий запис Instagram у нормальному стані в Meta, та повторіть спробу.
Retry Available
Іноді у соціальних мереж виникають невиправні помилки, наприклад, проблеми з серверами, і виклик зрештою зазнає невдачі навіть після численних повторних спроб. У цих випадках наша система визначить, чи можна повторити помилку, і якщо так, полеretryAvailable буде true.
Помилки аудіо Instagram Reels
Ці коди стосуються прикріплення музики до Instagram Reel за допомогоюinstagramOptions.audioConfiguration, а також ендпоінтів пошуку аудіо та отримання даних аудіо.
Код 518 надходить у
postIds[].warnings[], а не в errors[]. Instagram дозволяє один трек на Reel, тож коли надіслано і audioConfiguration, і audioName, перемагає audioConfiguration, а audioName відкидається. Відповідь усе одно status: "success" з HTTP 200 — вважайте 518 інформаційним і не провалюйте обробку через нього. Попередження вкладено в запис postIds цієї платформи, а не на верхньому рівні, і несе feature: "audioName".Валідація гучності повідомляє загальний
101, а не окремий код. audioVolume і videoVolume мають бути цілими числами від 0 до 100. Десяткове число, числовий рядок на кшталт "80", число поза межами або явний null повертає code: 101 з названою межею в details, ще до виклику Instagram. Пропустіть поле замість надсилання null.Помилки private-reply в автоматизаціях (Comment DM)
Ці коди з’являються в автоматизаціях, спричинених коментарями (comment_keyword), коли private reply, який несе DM, не вдається надіслати. Вони з’являються як status: "failed" у рядку активності з причиною в actionResults[].errorDetails.
Жоден з них не повторюється автоматично — Instagram Send API не має ключа ідемпотентності, тож автоматичний повтор ризикує доставити DM двічі. Обробка різниться залежно від коду (див. Дія нижче): більшість є постійними для конкретного коментаря, 492 потребує повторного підключення акаунта, а 493 вирішується сам, коли скинеться погодинний ліміт.
Код 491 охоплює кілька причин, які Instagram не розрізняє, а 490 — вузький виняток. Instagram повертає одну спільну помилку для коментаря, старішого за 7 днів, коментаря, який уже отримав відповідь (дозволено лише одну private reply на коментар, будь-коли), видаленого коментаря та автора коментаря, який блокує запити повідомлень. Усі ці випадки повідомляють
491.490 повідомляється лише у вужчому випадку, коли Instagram відверто ідентифікує ID коментаря як невалідний, а не повертає спільний бакет — тож видалений коментар може з’явитися як або 490, або 491, залежно від того, що поверне Instagram.Оскільки API не розрізняє їх, завжди читайте errorDetails: він містить власне формулювання Instagram, яке зазвичай конкретно вказує причину.Код
489 зарезервовано і зараз не повертається. Його зарезервовано для випадку «цей коментар уже має відповідь», який Instagram наразі не подає як окремий сигнал — цей випадок сьогодні повідомляє 491. Він перелічений тут лише для того, щоб цей номер не використовувався повторно.Дійсно прострочене чи невалідне з’єднання не входить у цей діапазон. Якщо збережений credential Instagram минув, рядок активності має
status: "auth_error", а не failed, і правильним виправленням є повторне підключення акаунта. За винятком 492 — відсутнього дозволу, який надається повторним підключенням акаунта, — наведені вище коди є умовами рівня коментаря і ніколи не означають «перепідключіться».GET /automations/:id/activity. Причина Instagram знаходиться в actionResults[].errorDetails:
details:
errorDetails там містить той самий рядок, що envelope кладе в details.
Дія:
- 490, 491, 495 — умови рівня коментаря. Їх не можна відновити для цього конкретного коментаря, і жоден повтор не допоможе; автоматизація нормально працює на наступному свіжому коментарі. Прочитайте
errorDetails, щоб дізнатися заявлену Instagram причину. - 492 — перепідключіть акаунт Instagram, надавши всі запитані дозволи. Це виправлення на рівні акаунта і в іншому разі впливатиме на кожен коментар.
- 493 — жодних дій не потрібно, крім очікування; погодинний ліміт скидається сам. Не повторюється автоматично, тож DM для цього коментаря не надсилається.
- 494 — внутрішня неправильна конфігурація, а не умова з боку клієнта. Зверніться до підтримки, якщо повторюється.
Статус
sent не гарантує доставку. Окремо від невдач вище, private reply, який Instagram приймає (status: "sent"), все одно може бути тихо відкинутий, коли параметр Message requests в Instagram отримувача блокує незнайомців — це не спричиняє жодного коду помилки. Див. Automation DM Sent but Not Delivered.Помилки параметрів Thread і медіа
Ці коди повертаються, коли параметр не може бути застосований до допису — найчастіше в X Thread або треді Threads, де надіслані вами параметри застосовуються до всього треда.182— Відео не відповідає вимозі щодо тривалості. Відео коротше за мінімум мережі або довше за її максимум. У відповіді вказано фактичну тривалість відео поряд із застосованими мінімумом і максимумом, тож порівняйте всі три, щоб з’ясувати, яку межу ви порушили. В X стандартний діапазон — від 0,5 до 140 секунд (2 хвилини 20 секунд); щоб опублікувати довше відео, встановітьlongVideo: true, що підвищує максимум до 4 годин для акаунта, затвердженого X для довгих відео. Інші мережі мають власні ліміти — див. правила щодо медіа для мережі, в яку ви публікуєте.101— Відсутні або неправильні параметри. У Threads це повертається, колиallowCountriesнадіслано з акаунта, якому Meta не надала право на гео-обмеження. Жодна частина посту або треда не публікується. ПеревіртеisEligibleForGeoRestrictionsчерез /user перед надсиланням параметра.111— X відхилив допис. Це загальний код для помилки X, яка не має більш специфічного коду, тож читайтеdetailsу відповіді — там міститься власне повідомлення X, і саме воно вказує причину. Одна з поширених причин — параметр, на який акаунт не має права, наприкладsubscribersOnlyбез X Subscriptions абоlongPostна окремому дописі без X Premium; у такому разі приберіть параметр або перевірте права акаунта. Збої з’єднання та інші помилки на боці X також проявляються як111, і їх варто повторити, а не змінювати ваш запит.Зауважте, щоlongPostне є причиною111у треді — там він ігнорується з попередженням, і тред публікується. Див. Long Post.275— Допис задовгий, щоб опублікувати його як тред. Розбиття тексту дало більше ніж максимум 30 дописів. Скоротіть текст або розділіть його на окремі треди. Додавання власних розривів треда через\n\nтут не допоможе — кожен розрив створює ще один допис, тож може ще більше перевищити ліміт.
Параметр, який ваш акаунт не може використовувати, призводить до помилки всього допису замість
того, щоб бути проігнорованим. У треді це означає, що жодна частина треда не публікується —
частини, які вже вийшли, видаляються за вас. Видалення виконується за принципом best effort:
якщо мережа відхиляє видалення, ця частина може залишитися опублікованою, тож перевірте тред і
приберіть усе, що залишилося. Раніше деякі з цих параметрів тихо відкидалися у тредах, і тред
публікувався без них.
Помилки Link Session
Коди від 501 до 513 належать до соціального зв’язування: створення посилання через Створення Link Session та його відкриття. Вони несуть"action": "link session". Інші коди серії 500 на цій сторінці не пов’язані — від 514 до 518 це
аудіо Instagram Reels.
Зіставляйте за числовим
code, а не за текстом повідомлення, який може змінюватися або бути перекладеним.
Які з них може почути ваша сторінка. Із заданим origin спливаюче вікно зв’язування надсилає
події завершення зв’язування вашій сторінці, і 513 може
надійти цим шляхом як connect:error. 501, 502 і 503 — не можуть: мертве посилання
відхиляється до того, як сторінка дізнається, куди надсилати події, тож ваш користувач бачить
причину на екрані, а ваша сторінка чує connect:cancelled, коли він закриває вікно. Щоб розрізнити
ці три, опитуйте Отримання Link Session. Коди від 504 до 510
— це відмови самого POST, і вони ніколи не надходять як події, а 511 і 512 виникають, поки
соціальна мережа виконує зворотний виклик, тож вони проявляються там, а не на вашій сторінці.
Помилки X/Twitter BYO Key
Наступні коди помилок специфічні для операцій X/Twitter BYO (Bring Your Own) key: Code 272 - Failed to Verify BYO Twitter Identity (HTTP 400) Ayrshare не зміг підтвердити Вашу особу X/Twitter, використовуючи Ваші BYO consumer keys та OAuth-токени, збережені під час прив’язки. Форма відповіді відрізняється залежно від того, який виклик її викликав; обидві форми відповідають одним і тим самим трьом підвипадкам нижче. Перевірте, який з них застосовний, увійшовши на x.com з обліковим записом, який володіє BYO Developer App. Шлях публікації видає мінімальну відповідь:details, що містить необроблений рядок помилки X:
details віддзеркалює підказку з боку X і є найнадійнішим сигналом для того, який з підвипадків нижче застосовний.
Обліковий запис заблоковано. Вхід на x.com показує повідомлення про блокування. Дія: Зверніться до підтримки X. Повторна прив’язка не відновить доступ, доки X не поновить обліковий запис.
Обліковий запис заблоковано (locked). Вхід на x.com пропонує розблокувати завдання (CAPTCHA, верифікація телефоном тощо). Дія: Виконайте завдання розблокування на x.com, потім повторіть запит. Повторна прив’язка не потрібна.
Невідповідність особи або ключа. Ваш обліковий запис X у нормальному стані на x.com, але Ваші BYO consumer keys належать до іншого X Developer App, ніж OAuth-токени, збережені під час прив’язки. Дія: Повторно прив’яжіть X у Social Accounts та авторизуйтесь тим самим обліковим записом X, який володіє BYO Developer App.
Code 364 — X Rate Limit (HTTP 429)
X обмежив запит, зроблений з Вашими BYO keys. Це спільний код rate limit в Ayrshare, і тепер він також охоплює шлях читання коментарів X: Get Comments повертає його, коли X обмежує читання лімітом запитів, тоді як раніше натомість повертався порожній список коментарів.
code: 416, коли на обліковому записі не залишилося кредитів, тож 416 не обмежується публікацією тексту чи отриманням аналітики. Завантаження завершується помилкою до публікації, і повторна спроба не виконується — жодна повторна спроба не може бути успішною, доки на обліковому записі не буде кредитів.
x-access-level: read, який підтверджує, що Ваш Access Token був згенерований з дозволами лише для читання.
Дія: У X Developer Console оновіть дозволи Вашого застосунку на Read and write and Direct message, потім регенеруйте свій Access Token у розділі Keys and tokens. Новий токен успадкує оновлені дозволи. Дивіться X BYO Key Setup Guide для деталей.
Code 419 - Missing BYO Credentials (HTTP 400)
Операції X/Twitter вимагають BYO API-облікових даних у заголовках запиту. Ayrshare повертає code 419, коли обидва заголовки відсутні, а також коли присутній лише один з пари. Рядок message варіюється залежно від того, який заголовок(и) відсутній.
Коли X-Twitter-OAuth1-Api-Key та X-Twitter-OAuth1-Api-Secret обидва відсутні:
X-Twitter-OAuth1-Api-Key та X-Twitter-OAuth1-Api-Secret у кожному X-запиті. Якщо Ви надаєте один без іншого, запит відхиляється з тим самим кодом. Дивіться X BYO Keys Header Reference для повного списку заголовків.
Code 423 — Legacy X/Twitter OAuth No Longer Supported (HTTP 403)
Повертається, коли запит X/Twitter покладається на застарілий (не-BYO) шлях OAuth, який більше не підтримується. Доступ до X API тепер вимагає Ваших власних облікових даних X Developer App, наданих через заголовки запиту.
X-Twitter-OAuth1-Api-Key та X-Twitter-OAuth1-Api-Secret у кожному X-запиті. Дивіться X BYO Key Setup Guide для повних кроків налаштування.
Помилки Caption Enhancement
Code 441 — Caption Enhancement Failed (HTTP 502) Повертається, коли розширення підпису (наприклад,shortenLinks) не вдається для однієї або кількох платформ під час підготовки публікації. Кожна уражена платформа з’являється в масиві errors з source: "handlePostAdditions" та code: 441.
Коли не вдається лише для деяких платформ, інші платформи все одно публікуються успішно, і їхні результати з’являються в postIds. У цьому випадку status верхнього рівня — "error", але postIds непорожній — клієнти повинні розглядати status та errors[] як взаємодоповнюючі, а не взаємовиключні.
code: 441 з HTTP 502 і публікація не створюється:
- Якщо
postIdsнепорожній (деякі платформи опублікувались успішно), не повторно надсилайте повний набір платформ — це б дублювало публікацію на успішних платформах. Натомість перевіртеerrors[], щоб визначити невдалі платформи, і повторіть запит лише з ними, або покладіться на власний ідемпотентний потік повторення. - Якщо
postIdsпорожній або відсутній (повний збій під час планування/публікації), безпечно повторіть повний запит. - Якщо збій зберігається, надішліть публікацію без прапорця розширення (наприклад, видаліть
shortenLinks) або зверніться до підтримки.
Помилки Media Fetch / Crawler Access
Code 499 — Ayrshare Media Probe Temporarily Unavailable (HTTP 503) Повертається, коли Ayrshare не може завершити свою перевірку медіа перед публікацією, оскільки внутрішній сервіс media-probe виявився недоступним або повернув невалідну відповідь. Це збій сервісу Ayrshare, а не свідчення того, що Ваш URL медіафайлу, CDN, правила user-agent або конфігураціяrobots.txt є некоректними. Помилка містить retryAvailable: true; повторіть запит для невдалої платформи невдовзі. Якщо мультиплатформенний запит частково успішний, повторюйте лише ті платформи, які перелічені в errors[], щоб уникнути дублікатів публікацій.
mediaUrls, медіа, яке неможливо прочитати, та деякими збоями мережевого завантаження/отримання. Спочатку перевірте будь-які повернуті details. Для збою доступу переконайтеся, що URL публічно доступний, залишається валідним достатньо довго для публікації і не блокує віддалені запити. /media/urlExists виконує лише перевірку досяжності через HEAD; успішний результат там не гарантує, що глибша перевірка медіа перед публікацією або краулер соціальної мережі зможуть завантажити та обробити файл. Коли конкретний збій полягає в тому, що власний сервіс probe Ayrshare недоступний, Ви натомість отримуєте повторюваний code 499, а не code 164.
Code 440 — Social Network Could Not Download Media (HTTP 400)
Повертається, коли краулер публікації платформи не може завантажити наданий Вами mediaUrl — найчастіше через те, що robots.txt або правило WAF / bot-fight блокує краулер (наприклад, facebookexternalhit від Meta). Рядок details надходить від upstream-платформи і часто є текстом помилки Meta/Instagram 2207052.
details зазвичай містить "Restricted by robots.txt" або "HTTP error code 403". Code 138 також використовується для проблем із співвідношенням сторін / форматом та інших загальних помилок Instagram, тому варіант media-fetch можна ідентифікувати за рядком details.
mediaUrl. Threads API не повертає рядки з деталями, тому діагностика зазвичай вимагає перевірки супутньої помилки Instagram 440 або 138 у тій самій публікації.
robots.txt та командою перевірки.
Медіа Threads не готові
Code 522 — Threads Media Not Ready to Publish (HTTP 400) Threads ще не завершив підготовку публікації, коли Ayrshare спробував її опублікувати. Threads може повідомити, що публікація готова, за кілька секунд до того, як фактично прийме її для публікації. Ayrshare чекає та повторює спробу загалом до 30 секунд для публікації в Threads, враховуючи всі частини багаточастинного треду, перш ніж повернути цю помилку, тому більшість таких публікацій тепер публікуються без жодної помилки. Зазвичай це тимчасова проблема на боці Threads, і Ваш вміст не є її причиною. Коментарі, відповіді та перші коментарі в Threads отримують такий самий час очікування (перший коментар отримує власні 30 секунд після публікації допису), але не повертають код 522. Для багаточастинного треду об’єктcode: 522 не міститься безпосередньо в errors: це останній елемент масиву posts помилки Threads, а вказаний вище статус HTTP 400 стосується лише одиничної публікації в Threads. noAutoRetry: true лише забороняє MCP-серверу Ayrshare самостійно повторювати публікацію; Ви все одно можете повторити її.
postIds. Якщо нічого не було опубліковано, повторіть публікацію, використовуючи ендпоінт retry post. Якщо на іншій платформі з цієї самої публікації допис уже опубліковано, натомість надішліть нову публікацію лише в Threads: retry post повторно надсилає оригінальний payload на кожну платформу, що опублікувало б успішні платформи вдруге.
Багаточастинні треди: порожній postIds не доводить, що жодна частина треду не опублікована. Ayrshare видаляє частини, які вже були опубліковані, якщо наступна частина зазнає невдачі, але якщо видалення не вдається, ця частина залишається в Threads. Перш ніж повторювати багаточастинний тред, перевірте акаунт Threads і видаліть усі частини, які там залишилися, інакше повторна спроба опублікує їх знову.
Facebook Analytics Rate Limit
Code 444 — Facebook Page Analytics Rate Limit (HTTP 429) Повертається, коли сторінка Facebook перевищила ліміт запитів Meta для сторінки на аналітичному ендпоінті. Базова помилка Meta —80001 (“There have been too many calls to this Page account.”). Сторінка залишається прив’язаною, і публікації продовжують працювати — throttling обмежує лише розповсюдження аналітики для цієї сторінки.
Коли throttle виявлено для однієї публікації у відповіді /history/facebook або analytics, кожна уражена публікація містить code: 444 в facebook.code з errCode: 80001:
Meta Identity Verification
Code 326 — Meta Identity Verification Required (HTTP 403) Повертається, коли Meta вимагає додаткову верифікацію особи для підключеного облікового запису, перш ніж прийняти запит. Це стосується всіх платформ Meta — Facebook, Instagram, Facebook Groups, Threads та Messenger. Повторне підключення облікового запису не вирішує цю проблему; верифікація має бути завершена на боці Meta.Facebook Community Standards Block
Code 249 — Facebook Community Standards Block (HTTP 400) Повертається, коли Facebook блокує публікацію відповідно до своїх Community Standards. Блокування може стосуватися облікового запису Facebook або Page чи самої публікації. Facebook використовує ту саму базову помилку в обох випадках і не вказує, який саме застосовується. На практиці блокування найчастіше накладається на обліковий запис або Page, тому переписування чи повторне надсилання контенту часто не допомагає. Як і Facebook Account Restriction (code 476), це результат примусових заходів з боку Meta: помилка не підлягає повторному виконанню і не містить прапорцяretryAvailable. При першому порушенні обліковий запис залишається прив’язаним до Ayrshare, і повторна прив’язка не потрібна, адже вона не знімає блокування. Повторне порушення має інші наслідки, див. нижче.
Facebook не повертає конкретну причину через API, тому клієнт має перевірити сторінку Account Status у Facebook безпосередньо, щоб побачити причину та оскаржити. Коли Facebook надає власний дослівний текст, Ayrshare відображає його у полі details. Ayrshare також надсилає власнику облікового запису повідомлення електронною поштою, коли виявлено блокування.
Повторне порушення Community Standards у тому самому User Profile (профіль користувача) від’єднує обліковий запис Facebook від Ayrshare і призупиняє User Profile.
code, що дорівнює 249, а не на текст message. Формулювання message з часом може уточнюватися, тоді як код залишається стабільним.
Дія: Увійдіть у Facebook, натисніть на своє зображення профілю (справа вгорі), відкрийте розділ Help та виберіть Account Status. Асистент підтримки Facebook там показує конкретну причину (яку API не повертає) та дозволяє оскаржити. Не пропонуйте користувачу повторно прив’язувати обліковий запис, оскільки повторна прив’язка не знімає блокування на рівні облікового запису чи Page. Повний посібник з усунення проблем див. у статті Facebook or Instagram Account Restricted.
Facebook Account Restriction
Code 476 — Facebook Account Restriction (HTTP 400) Повертається, коли публікація в Facebook зазнає невдачі, оскільки Meta наклала обмеження на обліковий запис (підкоди помилки Meta2424009 та 1404078, або формулювання обмеження Meta, коли помилка не містить підкоду). Це обмеження на рівні облікового запису, а не тимчасова проблема публікації — воно не підлягає повторному виконанню і не містить прапорця retryAvailable. Повторне надсилання тієї ж публікації не буде успішним, доки обмеження не буде вирішено з Meta. Обліковий запис залишається прив’язаним до Ayrshare; повторна прив’язка не потрібна.
Meta не повертає конкретну причину обмеження через API, тому клієнт має перевірити сторінку Account Status Meta безпосередньо, щоб побачити причину та оскаржити. Коли Meta надає власний дослівний текст, Ayrshare відображає його у полі details. Ayrshare також надсилає власнику облікового запису повідомлення електронною поштою, коли виявлено обмеження.
Помилки Image Format Conversion
Ayrshare автоматично конвертує WebP, HEIC, HEIF та AVIF-зображення у JPEG перед публікацією на платформах, які їх не приймають (Instagram, LinkedIn, TikTok, Google My Business, Threads та Snapchat для WebP; усі платформи для HEIC, HEIF та AVIF). Конвертація виконується прозоро під час надсилання. Три помилки нижче спрацьовують лише тоді, коли сам конвеєр конвертації не може завершитись; якщо вихідне зображення вже у підтримуваному форматі, конвертація не виконується, і ці коди не з’являться. Code 450 — Image Format Conversion Failed (HTTP 400) Зображення завантажене, але не може бути перекодоване у JPEG. Найпоширенішими причинами є пошкоджений вихідний файл, неочікуваний внутрішній формат всередині контейнера або зображення, що перевищує ліміт розміру конвертації.mediaUrl безпосередньо у браузері, щоб переконатися, що він відображається. Якщо так, повторно експортуйте зображення у чистий JPEG або PNG і повторіть публікацію.
Code 451 — Image Download Failed for Conversion (HTTP 400)
Конвеєр конвертації не зміг отримати вихідне зображення. Типові причини включають відповідь 4xx/5xx від origin, тайм-аут мережі, ланцюг перенаправлень, що перевищує ліміт стрибків, або URL, що розв’язується у непублічну адресу (заблокований захистом SSRF). Поле details, за наявності, містить рядок базової причини.
mediaUrl публічно доступний (без auth, без блоків у robots.txt, розв’язується через HTTPS). Якщо URL перенаправляє, переконайтеся, що кінцева адреса також публічна і не знаходиться у приватній мережі.
Code 452 — Converted Image Upload Failed (HTTP 500)
Конвертація вдалася, але Ayrshare не зміг завантажити конвертований JPEG до свого тимчасового сховища. Це внутрішній збій з боку Ayrshare і його можна повторити.
mediaUrl та приблизною часовою міткою.
Тимчасові помилки завантаження YouTube
Наступні коди помилок надають конкретні сигнали для збоїв завантаження YouTube, які зазвичай є тимчасовими та безпечними для повторення. Обидві відповіді містятьretryAvailable: true, тому інтеграції можуть галузитись за цим boolean, а не за кодом HTTP-статусу.
Більшість попередніх відповідей code: 176 для завантажень YouTube тепер маршрутизуються до 453 (тимчасовий тайм-аут) або 454 (тимчасова недоступність сервісу), обидві з retryAvailable: true. Якщо Ваша інтеграція фільтрує за HTTP 500 для повторення завантажень YouTube, перейдіть на фільтрацію за полем retryAvailable у тілі відповіді.
Code 453 — YouTube Upload Timed Out (HTTP 504)
Повертається, коли конвеєр ingest YouTube від Google тайм-аутнув під час прийняття завантаження. Це зазвичай тимчасово і вирішується самостійно протягом хвилини або двох.
retryAvailable у тілі відповіді, а не за HTTP-статусом, щоб виявити збої, які можна повторити. Ви можете використати ендпоінт retry post для повторного надсилання того ж payload.
Code 454 — YouTube Upload Service Temporarily Unavailable (HTTP 503)
Повертається, коли ендпоінт завантаження YouTube повертає статус 5xx, або коли з’єднання з YouTube було скинуто чи тайм-аутнуто на рівні сокета (ECONNRESET, ETIMEDOUT, ESOCKETTIMEDOUT). Ці стани тимчасові.
retryAvailable у тілі відповіді, а не за HTTP-статусом, щоб виявити збої, які можна повторити.
YouTube Thumbnail Errors Code 307
Code307 повертається, коли спеціальний thumbNail YouTube не може бути застосовано. Коли саме відео публікується успішно, це не призводить до збою публікації — результат YouTube зберігає status: "success" і додатково відображає збій у масиві warnings (feature: "thumbnail", code: 307). Старий підоб’єкт thumbnail зберігається для зворотної сумісності.
Найпоширеніша причина — неверифікований канал YouTube. Коли канал не завершив верифікацію телефоном, YouTube повертає upstream 403 із загальним повідомленням "The authenticated user doesn't have permissions to upload and set custom video thumbnails". Це формулювання звучить як проблема OAuth, але на практиці це майже завжди проблема верифікації, тому спочатку перевіряйте канал. Повторна прив’язка облікового запису YouTube є другорядною причиною.
warnings (status верхнього рівня залишається "success"). Це діє незалежно від того, коли виявлено проблему:
- Виявлено до завантаження. Коли валідація перед публікацією може однозначно сказати, що мініатюра недійсна (неправильний тип файлу, підтверджений розмір понад 2 МБ або недоступний URL), Ayrshare пропускає мініатюру, все одно публікує відео та повідомляє точну причину в
warnings— тому Ви уникаєте приреченої спроби завантаження та отримуєте чіткіше повідомлення, ніж повернув би провайдер. - Виявлено після завантаження. Коли збій можна виявити лише після обробки запиту YouTube (наприклад,
403для неверифікованого каналу, або413для завеликого зображення), відео вже опубліковано, а збій відображається у тому ж масивіwarnings.
status: "success" + warnings, показаний раніше в цьому розділі.
Дія: Верифікуйте свій канал YouTube на https://www.youtube.com/verify (верифікація телефоном). Якщо Ваш канал уже верифіковано, а мініатюри все одно не працюють, відв’яжіть та повторно прив’яжіть обліковий запис YouTube у Social Accounts і надайте всі дозволи. Дивіться YouTube Thumbnail Not Applied (Unverified Channel) для повного посібника з вирішення проблем.
Помилки авторизації Google Business Profile
Code 519 — Google Business Profile Authorization Service Temporarily Unavailable (HTTP 503) Повертається, коли Ayrshare не зміг завершити оновлення токена авторизації Google, оскільки ендпоінт токенів Google повільно відповідав або повернув тимчасовий збій. Оновлення автоматично повторюється, перш ніж цей код буде повернуто, а відповідь міститьretryAvailable: true, тому інтеграції можуть галузитись за цим boolean, а не за кодом HTTP-статусу. Обліковий запис залишається прив’язаним — це тимчасовий стан сервісу авторизації Google, а не розірване з’єднання.
Кожна операція Google Business Profile спочатку оновлює авторизацію, тому будь-яка з них може повернути цей код — публікація допису, читання історії публікацій, оновлення даних локації, отримання прив’язаного облікового запису, отримання списку відгуків та відповідь на відгук.
Більшість попередніх відповідей code: 227 на цих шляхах тепер маршрутизуються до 519 з retryAvailable: true. Код 227 просить користувача повторно підключити обліковий запис, що ніколи не вирішувало тимчасовий збій оновлення — сама авторизація весь час залишалась неушкодженою. Якщо Ваша інтеграція фільтрує за 227, щоб запропонувати повторну прив’язку Google Business Profile, перейдіть на галуження за полем retryAvailable у тілі відповіді та повторення з backoff.
details містить причину, яку повідомив Google, або — коли оновлення тайм-аутнуло локально без тіла відповіді від Google — підсумок здійснених спроб і часу, що минув.
Дія: Повторіть запит з експоненційним backoff. Галузьтесь за полем retryAvailable у тілі відповіді, а не за HTTP-статусом, щоб виявити збої, які можна повторити.
Попередження про розкриття використання ШІ в Pinterest
Code 521 — Pinterest AI Disclosures Not Applied (HTTP 200) Це попередження, а не помилка. Повертається, колиpinterestOptions.aiDisclosures недійсний, наприклад містить невідоме значення або неправильний регістр. Через REST API значення, яке не є масивом рядків, також повертає 521. Pin усе одно публікується, але Ayrshare не надсилає до Pinterest жодного розкриття використання ШІ. MCP-сервер і GraphQL API спершу перевіряють типи значень, тому некоректні значення, наприклад список, що містить число, відхиляються там ще до публікації. Попередження надходить у postIds[].warnings[] запису Pinterest, а не в errors[], і несе feature: "pinterestOptions.aiDisclosures". Допустимі значення: AI_MODIFIED і SYNTHETIC_PERFORMER.
Помилки публікації Reddit
Code 442 — Reddit Banned Subreddit (HTTP 400) Повертається, коли обліковий запис було заблоковано від публікації у цільовому subreddit. Це не можна повторити — публікація не буде успішною, якщо повторно надіслати її як є. Повідомлення містить назву ураженого subreddit (наприклад,r/news).
r/news).
Помилки модерації
Code 438 — Moderation Input Rejected (HTTP 400) ПовертаєтьсяPOST /validate/moderation, коли AI-провайдер відхиляє наданий ввід — наприклад, непідтримуваний тип файлу. Це проблема введення в запиті, а не тимчасовий збій обробки.
Порівняйте code 438 з code 331. Code 331 охоплює той самий сценарій модерації, але представляє справжній збій обробки з боку провайдера (HTTP 500, повідомлення “There was an issue with the AI processing. Please try again.”). Code 331 — це тимчасовий збій з боку сервера, який можна повторити, тоді як code 438 вказує, що сам ввід було відхилено і його потрібно виправити перед повторенням.
Помилки оновлення авторизації LinkedIn
Code 524 — LinkedIn відхилив оновлення токена (HTTP 500) Повертається, коли LinkedIn відмовляється оновити авторизацію через проблему з конфігурацією LinkedIn застосунку, а не з обліковим записом користувача. З’єднання LinkedIn користувача залишається дійсним, тому повторне підключення цього не виправить. Відповідь не містить поляresolution.relink і має retryAvailable: false, оскільки повторна спроба цього не виправить.
Цей код може повернути будь-яка операція LinkedIn, яка спочатку оновлює авторизацію, наприклад публікація допису після закінчення терміну дії токена доступу.
Якщо LinkedIn продовжує відхиляти оновлення з тимчасової причини, Ayrshare повторює спробу, а потім повертає натомість code 119 (“There was an issue connecting with LinkedIn. Please try again.”). Для code 119 можна безпечно повторити спробу пізніше; code 524 повторні спроби не виправляють.
Помилки аналітики LinkedIn
Code 475 — Re-link LinkedIn Profile for Analytics (HTTP 403) ПовертаєтьсяPOST /analytics/post та POST /analytics/social для особистого (member) профілю LinkedIn, який було прив’язано до випуску member analytics. Цим профілям бракує scope member analytics LinkedIn (r_member_postAnalytics, r_member_profileAnalytics), тому LinkedIn відхиляє запит аналітики. Публікація не зачіпається.
475 протягом приблизно 5-10 хвилин, перш ніж аналітика запрацює.
Помилки коментарів TikTok
Code 288 — TikTok Comment Deferred / Post Still Processing (HTTP 400) TikTok обробляє відео асинхронно, тожid свіжо опублікованої публікації — "pending", поки webhook TikTok post.publish.publicly_available не розв’яже справжній id відео. Запит get-comments, запит на коментар або відповідь для публікації, яка все ще обробляється (або тієї, чий id — "failed"), відхиляється до будь-якого виклику TikTok і повертає code 288 замість загального збою.
tikTokPublished Scheduled Action webhook або опитуйте /history, поки id публікації не буде розв’язаним числовим id відео. First comment публікується автоматично, коли публікація розв’язується, тому його не потрібно повторювати. Для публікації "failed" повідомлення натомість зазначає, що відео не вдалося опублікувати, і дія не запуститься.
Застарілі або недоступні помилки Story
Code 485 — Коментарі Instagram / Facebook Story та аналітика Instagram Story (HTTP 404, коли є репрезентативним) Stories можуть стати застарілими або недоступними після закінчення їхнього вікна доступності. Після цього вікна коментарі або insights не можна отримати. Код485 ідентифікує:
- застарілі або недоступні leg-и Instagram та Facebook Story з get-comments; та
- застарілий або недоступний leg Instagram Story з
POST /analytics/post.
485. Клієнти повинні зіставляти числовий code, а не точний текст повідомлення, який може відрізнятися або бути перекладеним.
При мультиплатформенному читанні, коли принаймні одна інша платформа успішна, невдалий leg з’являється у верхньорівневому масиві errors[], тоді як справні платформи повертаються нормально. Загальна відповідь — HTTP 200 з верхньорівневим status: "partial" (див. Мультиплатформенні читання та часткова успішність для коментарів та аналітики).
Приклад часткової успішності Get Comments
Приклад часткової успішності Post Analytics
status: "error" і включає повний масив errors[]. Репрезентативний код 485 зіставляється з HTTP 404; інші репрезентативні коди використовують власні HTTP-зіставлення.
Дія: Розглядайте код 485 як сигнал того, що запитувані коментарі або insights для Story не можна отримати. Зіставляйте за кодом, а не робіть висновків щодо постійного збою, можливості повторення чи прив’язки облікового запису з тексту повідомлення.
Переклад повідомлень про помилки
Відповідь із повідомленням про помилку API можна автоматично перекладати мовою на Ваш вибір. Це корисно, якщо Ви хочете показати помилку безпосередньо Вашому користувачу його бажаною мовою. Дивіться тут, якщо Ви хочете обрати мову сторінки прив’язки соціальних мереж. У заголовок включіть:Language_Code — це один з доступних мовних кодів.
Наприклад, наступне перекладе помилку французькою.