Робочий процес затвердження
Якщо Ваш робочий процес публікації вимагає затвердження перед надсиланням допису, встановіть полеrequiresApproval у true.
Це еквівалентно призупиненню допису, поки параметр approved не буде встановлено у true.
Приклад робочого процесу затвердження
Допис матиме статус “awaiting approval”, поки параметрapproved не буде встановлено у true через кінцеву точку PATCH /post.
1
Публікація з параметрами
Опублікуйте свій допис за допомогою кінцевої точки /post з полем
requiresApproval
як true. Ви також можете включити стандартні параметри, наприклад scheduleDate.2
Статус awaiting approval
Допис буде у статусі “awaiting approval” і буде утриманий до надання затвердження.
3
Затвердження допису
Оновіть допис за допомогою операції PATCH /post, встановивши поле
approved
у true. Допис тепер буде надіслано в запланований час.4
Використання нотаток
Опціонально: Встановіть
notes для допису для довідки, наприклад, хто повинен затвердити допис.Publish the Post with Approval
Відео робочого процесу затвердження
Перегляньте відео нижче для прикладу робочого процесу затвердження.Автохештеги
Додайте найрелевантніші хештеги до Вашого допису.autoHashtag — це об’єкт або Boolean — див. нижче — з такими параметрами:
max: (опціонально) Ціле число хештегів для додавання, діапазон 1-10. За замовчуванням 2.position: (опціонально) Рядок “auto” або “end”. Auto додає хештеги в дописі або в кінець. “end” додає хештеги лише в кінець.
true замість об’єкта.
Автоповтор
Автоматично повторно публікує Ваш контент кілька разів через регулярні проміжки, створюючи вічнозелений контент, який залишається свіжим і видимим для Вашої аудиторії. Потрібен платний план. Параметри:repeat: (обов’язково) Кількість разів для повторної публікації контенту. Має бути від 1 до 10.days: (обов’язково) Кількість днів між кожним повторенням. Має бути принаймні 2 дні.startDate: (опціонально) Коли розпочати графік повтору, у форматі ISO-8601 UTC. Якщо не вказано, перший допис буде опубліковано негайно. Ви повинні використовувати параметрstartDateзамість верхньорівневого параметраscheduleDate.
Auto Repost
autoRepostId для кожного повтору.
Auto Repost Response
autoRepostId призначається для відстеження цієї серії дописів.
Ви можете отримати всі автоповтори для допису за допомогою виклику History з autoRepostId.
Якщо Вам потрібно видалити повтор, Ви можете використати виклик DELETE з ID допису.
Перший коментар
Автоматично додавайте перший коментар з медіа після публікації допису. Для TikTok коментар відкладається до завершення обробки відео (див. Час обробки першого коментаря). Публікація першого коментаря під власним дописом у соціальній мережі може допомогти запустити взаємодію та задати тон подальшій дискусії.Час обробки першого коментаря
Для більшості соціальних мереж відповідь API затримується, оскільки наша система повинна (1) чекати повної публікації оригінального допису, а потім (2) додати коментар до цього опублікованого допису. Цей послідовний процес додає приблизно 20 секунд затримки. TikTok обробляється по-іншому. TikTok обробляє відео асинхронно, томуid допису — "pending", поки webhook TikTok post.publish.publicly_available не розкриє реальний id відео (див. TikTok Processing). Тому відповідь /post одразу повертає перший коментар TikTok з status: "pending", і коментар публікується автоматично, коли TikTok завершує обробку і спрацьовує webhook tikTokPublished Scheduled Action. TikTok не гарантує час обробки, тому фіксованої затримки немає.
Важлива примітка про TikTok: Для правильної роботи перших коментарів у TikTok параметр visibility допису має бути встановлено на public. Непублічне відео ніколи не отримує webhook publicly_available, тому його перший коментар не може бути опубліковано; у цьому випадку Ayrshare повертає помилку коментаря замість того, щоб залишити його pending.
Ідемпотентні дописи
Ідемпотентність — це опціональна функція, яка гарантує, що запит виконується лише один раз, навіть якщо він випадково надсилається кілька разів. При публікації контенту через API Ви можете включити опціональний параметрidempotencyKey у тіло запиту, щоб унікально ідентифікувати операцію. Це дозволяє безпечно повторити запит публікації без ризику створення дублікатів дописів.
Щоб використовувати ідемпотентність, додайте параметр idempotencyKey до JSON-тіла POST-запиту /post:
Idempotency Key
idempotencyKey має бути унікальним рядком для кожного User Profile. Якщо зроблено запит з тим самим idempotencyKey для певного User Profile, незалежно від стану допису (success, error, pending або deleted), буде повернуто помилку, яка вказує, що знайдено дублікат ключа.
Використання ідемпотентності допомагає запобігти випадковому створенню дублікатів дописів при повторних спробах невдалих запитів або обробці проблем з мережею. Однак все ще рекомендується впровадити належну обробку помилок та механізми повторних спроб у Вашому додатку, щоб належним чином обробляти потенційні збої.
Вимоги до зображень і відео
Публікація зображень і відео має різні вимоги для кожної мережі, але не хвилюйтеся. Наша система перевіряє Ваш допис перед надсиланням, тому Ви отримаєте відповідь про помилку, якщо щось не так. Див. посилання нижче для отримання деталей про рекомендації щодо зображень і відео.Рекомендації щодо зображень і відео
Дійсний URL
Переконайтеся, що URL Вашого медіа дійсний і безпосередньо надає доступ до медіа. Перший тест — спробуйте URL у браузері. Якщо зображення не завантажиться або не може бути завантажено в браузері, воно, ймовірно, зазнає невдачі. Наприклад, URL DropBox, який відкриває веб-додаток DropBox, не працюватиме. Ми перевіряємо URL медіа, виконуючи запитHEAD.
Будь ласка, переконайтеся, що хостинг-провайдер не блокує запит HEAD, інакше публікація зазнає невдачі з помилкою 403.
Наприклад, ось запит HEAD до URL медіа:
Fetch HEAD Request
Автоматизований захист медіа
Ayrshare включає вбудований захист медіа, який може виявляти та вирішувати певні проблеми з доставкою медіа під час публікації. Коли публікація вдалася, але виявлено та вирішено проблему з контентом, кожен постраждалий запис уpostIds[] включає опціональний об’єкт contentIssues, щоб Ви могли визначити та виправити основну проблему:
originMediaHostFailed у своїх відповідях, перегляньте конфігурацію хостингу медіа. Див. Meta Media Crawler Blocked для типових причин та рішень.
Пробіли та спеціальні символи
Ми рекомендуємо уникати наступного в URL Вашого медіа:- Пробілів в URL.
- URL-закодованих пробілів в URL.
- Спеціальних символів в URL, навіть якщо вони URL-закодовані, наприклад accent marks é.
test .webp. Ми також не рекомендуємо використовувати URL-закодовані пробіли, наприклад %20 в URL — це також може спричинити проблеми з деякими соціальними мережами.
І це зображення Unsplash:
Санітизація імен файлів та URL
Ви можете санітизувати імена файлів за допомогою регулярного виразу, наприклад/[^a-z0-9\/\.]/gi.
Додаткова інформація
- Якщо Ви розміщуєте самостійно, переконайтеся, що URL можна отримати ззовні і не вимагає спеціальних дозволів.
- Див. нижче, як обробляти відео з невідомими розширеннями, часто signed URLs, як AWS S3.
- Якщо Ви використовуєте signed URL, наприклад S3, ми рекомендуємо встановити термін дії URL принаймні 7 днів. Це дозволяє нашій команді допомогти з будь-якими Вашими питаннями щодо публікації допису.
- Перевірте, чи існує URL медіа за допомогою наших інструментів перевірки медіа.
Швидкість завантаження
Переконайтеся, що Ваш хостинг медіа має швидке з’єднання, особливо швидкість завантаження. Ви можете протестувати продуктивність хостингу медіа на pingdom. Ми рекомендуємо принаймні рейтинг B.Розширення відео
Якщо Ваш URL не закінчується відомим розширенням відео, наприкладmp4, Ви можете використати поле isVideo: true у дописі, щоб вказати, що mediaUrl — це відео. Ayrshare спробує визначити тип файлу, наприклад MOV. Однак ми рекомендуємо явно закінчувати Ваш відеофайл відомим розширенням, наприклад mp4, оскільки це має вищий рівень успіху в соціальних мережах.
Тільки зображення або відео
Кілька соціальних мереж підтримують надсилання медіа без тексту допису. Якщо Ви не хочете, щоб текст допису був включений, надішліть порожній рядок:post: ""
Наступні соціальні мережі підтримують дописи без тексту/порожній текст: Facebook, Instagram, LinkedIn, Threads, TikTok та X/Twitter.
Тестування зображень і відео
Розгляньте можливість використання генерації випадкового тексту та випадкового зображення чи відео, щоб пришвидшити Ваше тестування. Припиніть намагатися придумати щось інше для кожного зі своїх тестових дописів!Розриви рядків
Якщо Ви хочете розриви рядків (нові рядки) у дописі, використовуйте невидимий розрив рядка
\u2063\n. Наприклад, This is a new\u2063\nline.Ми також рекомендуємо спробувати в Postman, щоб побачити, як новий розрив рядка перекладається на Ваш обраний мову. Наприклад, PHP часто використовує лише \nДеякі соціальні мережі поки не підтримують розриви рядків у тексті допису.Мультиплатформенні дописи та медіа
Ця функція дозволяє налаштовувати вміст допису та медіа для різних соціальних мереж в одному виклику API. Ви можете вказати унікальний текст та/або зображення для кожної платформи, використовуючи об’єкти для полівpost та mediaUrls.
- Використовуйте структуру об’єкта для полів
postта/абоmediaUrls. - Вкажіть контент, специфічний для платформи, використовуючи назви платформ як ключі.
- Включіть ключ
defaultдля контенту, який буде використовуватись на платформах, які явно не вказано.
- Instagram використовуватиме свій специфічний текст та URL зображення.
- Facebook використовуватиме свій специфічний текст та URL зображення за замовчуванням.
- LinkedIn використовуватиме текст за замовчуванням та свій специфічний URL зображення.
Якщо Вам потрібно опублікувати кілька зображень на різних платформах, створіть окремі дописи для кожної
платформи замість використання цієї мультиплатформенної структури.
Profile Keys
Публікуйте від імені користувача, надаючи Profile Keys користувачів як параметр тіла і додаткові дані у відповіді. Потрібен план Business або Enterprise.Profiles
Дописи Rich Text
Ви можете додавати rich text, наприклад ”𝓗𝓮𝓵𝓵𝓸, how about a little 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁 and 𝘪𝘵𝘢𝘭𝘪𝘤𝘴 𝘵𝘦𝘹𝘵 and an x₂?”. Ви можете використовувати rich text у мережах, таких як Twitter, Facebook, LinkedIn, Telegram та Instagram. Якщо публікуєте в Reddit, використовуйте форматування Reddit-flavored Markdown. HTML-елементи використовуються, щоб вказати тип rich text, який перекладається в unicode. Наприклад:HTML-елементи
CSS-коди
Планування дописів
Створення запланованих дописів
Ви можете планувати майбутні дописи, вказавши параметрscheduleDate з datetime у Zulu/UTC. Zulu Time, також відомий як Coordinated Universal Time (UTC), — це світовий стандарт часу.
Наприклад, використовуйте формат YYYY-MM-DDThh:mm:ssZ і надсилайте як 2026-07-08T12:30:00Z.
Для більше прикладів див. utctime.
Якщо
mediaUrl включено із запланованим дописом, медіа має бути доступне в запланований
час публікації. Наприклад, якщо допис заплановано опублікувати 5 березня 2026 року,
медіа має бути доступне 5 березня 2026 року.Перевірка статусу запланованого допису
Ви можете перевірити статус запланованого допису кількома способами:- Налаштуйте Webhook Scheduled Action, щоб автоматично отримувати статус запланованого допису. Це доступно для плану Business і є рекомендованим методом.
- Отримайте статус запланованого допису за допомогою виклику GET з ID допису.
- Перевірте статус у Панелі керування Ayrshare. Спочатку перемкніться на User Profile, під яким опубліковано допис, потім перейдіть на сторінку “Posts” і шукайте за Ayrshare Post ID.
Призупинення запланованих дописів
Ви можете призупинити заплановані дописи, які ще не опубліковано. Призупинення запланованого допису запобігатиме його публікації, поки допис не буде відновлено. Використовуйте виклик PATCH, щоб призупинити або відновити запланований допис. Зверніть увагу: якщо допис відновлено, аscheduleDate у минулому, допис буде негайно опубліковано. Розгляньте оновлення scheduleDate перед відновленням.
Скорочення посилань
Посилання в дописі можна скоротити за допомогою link shortner Ayrshare. Ви можете увімкнути автоматичне скорочення посилань за допомогою параметраshortenLinks при надсиланні допису. Потрібен Max Pack.
Зображення Unsplash
Наступні поля доступні для параметра тілаunsplash:
- Випадкове зображення:
randomповертає випадкове зображення Unsplash. - Зображення на основі пошуку: значення рядка пошукового терміна; наприклад,
moneyвибере випадкове зображення на основі money. - Image IDs: значення масиву Ids; наприклад, [“HubtZZb2fCM”] зображення https://unsplash.com/photos/HubtZZb2fCM
Якщо копіюєте URL Unsplash для публікації в
mediaUrls, обов’язково скопіюйте адресу зображення, а
не просто URL. Для отримання додаткової інформації див. цей
приклад.