4 хв читанняІнженерія

Альтернатива Bitly API для розробників: на що звертати увагу

Альтернатива Bitly API для розробників: де відчутні ліміти запитів і обмеження за планами Bitly, і що натомість повинен давати shortener API, орієнтований на розробників.

Marius Voß
DevRel · edge infra
Альтернатива Bitly API для розробників: запит до shortener API з ідемпотентністю та webhooks на противагу лімітам запитів Bitly, обмеженим за планом

Якщо ви підшукуєте альтернативу Bitly API, ви, ймовірно, вже вперлися в одну з двох стін: ліміти запитів, які обмежують вашу автоматизацію на доступному за ціною плані, або потрібну функцію, заховану за рівнем, який ви не хочете купувати. Це посібник для розробників про те, що насправді важливо в shortener API - ліміти, ідемпотентність, webhooks, SDK - і як на практиці відбувається перехід.

Це стаття в кластері інженерії. Про форму запиту та основи авторизації, спільні для всіх цих сервісів, читайте в посібнику з безкоштовного URL shortener API - базовому матеріалі, на якому ґрунтується ця стаття.

Де відчутно кусає Bitly API

API Bitly доволі потужний, і для невеликих обсягів він цілком підходить. Тертя з'являється при масштабуванні. Ліміти запитів варіюються від приблизно 1 000 запитів на місяць на найнижчих рівнях до 150 000+ на вищих, плюс додаткові обмеження за хвилину та за годину, задокументовані в довіднику Bitly API. На дешевшому плані саме ці обмеження й гальмують автоматизовані завдання, для яких API, власне, і існує.

Друга стіна - це обмеження за рівнями. Структура груп та організацій, деякі ендпоінти аналітики й більші обсяги запитів доступні лише на вищих рівнях, тож версія API, на яку вистачає бюджету, часто не та версія, під яку писалася ваша інтеграція. Жодне з цього не є справжнім недоліком - так побудоване ціноутворення, - але саме тому команди й починають шукати альтернативи. Власний розбір Bitly API від Rebrandly доходить того самого висновку щодо того, де саме тиснуть ліміти.

Що має давати shortener API, орієнтований на розробників

Якщо відкинути брендинг, хороший shortener API зводиться до чотирьох речей.

  1. Ліміти запитів, під які можна планувати. Задокументовані обмеження на вікно часу, прив'язані до робочого простору, не настільки жорсткі на початкових рівнях, щоб їх порушувало пакетне завдання. Передбачуваність важливіша за високий, але непрозорий ліміт.
  2. Ключі ідемпотентності (Idempotency-Key). Надсилайте стабільний ключ на кожен логічний запит, і повторна спроба після таймауту поверне оригінальне посилання, а не створить дублікат. Без цього кожна повторна спроба - це ризик.
  3. Webhooks. Надсилання подій кліків на ваш ендпоінт замість того, щоб змушувати вас опитувати API аналітики за таймером.
  4. Справжні SDK. Офіційні бібліотеки мовами, якими ви користуєтеся, щоб не писати авторизацію та пагінацію вручну.

У детальному розборі лімітів запитів та ідемпотентності пояснено, чому другий пункт важливіший за сам ліміт запитів: безпечний до повторів API на 10 000 запитів кращий за крихкий на 100 000.

Чотири критерії для shortener API, орієнтованого на розробників: передбачувані ліміти запитів, ключі ідемпотентності, webhooks для подій кліків і офіційні SDK

Міграція менша, ніж здається (за одним винятком)

Виклик API майже не змінюється. Виклик створення посилання в Bitly та у більшості альтернатив має ту саму форму: авторизація через Bearer-токен, POST з довгим URL, отримання короткого посилання з JSON. Заміна провайдера - це переважно новий base URL, новий токен і відповідність назв полів.

# Bitly
curl -X POST https://api-ssl.bitly.com/v4/shorten \
  -H "Authorization: Bearer $BITLY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"long_url": "https://example.com/page"}'

# Elido - same shape, plus an idempotency key
curl -X POST https://api.elido.app/v1/links \
  -H "Authorization: Bearer $ELIDO_API_KEY" \
  -H "Idempotency-Key: 5f3e-once" \
  -H "Content-Type: application/json" \
  -d '{"destination_url": "https://example.com/page"}'

Якщо викликаєте це з коду, посібник з Python показує патерни повторних спроб та ідемпотентності, які варто застосувати навколо будь-якого з цих викликів.

Частина, яка не маленька: ваші наявні посилання. Коротке посилання продовжує працювати, лише якщо ви контролюєте домен, на якому воно розміщене. Посилання на bit.ly перенести не можна - цей домен належить Bitly. Лише брендовані посилання на вашому власному домені можна перенаправити до нового провайдера без поломок. Тож питання міграції насправді таке: «скільки моїх активних посилань розміщено на домені, яким я володію?» - і відповідь визначає, наскільки чистим буде перехід. План міграції з Bitly детально описує кроки з доменом і редиректами.

Як обрати

Чесний короткий список для API розробника - це Short.io, Rebrandly, Dub та Elido: кожен надає справжній API з SDK. Short.io та Dub орієнтуються на розробників за ціною; Rebrandly - на автоматизацію брендованих доменів. Elido відрізняється поєднанням, на якому інші не фокусуються: ідемпотентність і webhooks за замовчуванням, плюс резидентність даних у ЄС, тож дані про кліки залишаються в регіоні ЄС, а не передаються назовні. Якщо у вашого стека є не лише технічна, а й комплаєнс-вимога, саме це поєднання - привід придивитися до Elido, і ви можете почати розробку проти API на безкоштовному плані, щоб перевірити відповідність перед тим, як зобов'язуватися.

Що б ви не обрали, оцінюйте за лімітами й ідемпотентністю, а не за маркетингом. Саме ці дві речі вирішують, чи буде ваша інтеграція нудною й надійною, чи джерелом дзвінків о другій ночі.

Читайте серію ключових статей

Це стаття в кластері інженерія. Почніть із посібника з безкоштовного URL shortener API, а потім переходьте до детального розбору лімітів запитів та ідемпотентності. Актуальний довідник - це документація API.

Інші статті блогу

Поширені запитання

Яка гарна альтернатива Bitly API для розробників?

Шукайте shortener, чий API дає розумні ліміти запитів, які не обрізаються агресивно на нижчих рівнях, ключі ідемпотентності (Idempotency-Key), щоб повторні спроби не створювали дублікатів, webhooks для подій кліків і офіційні SDK. Short.io, Rebrandly, Dub та Elido - усі надають API для розробників; правильний вибір залежить від ваших вимог до лімітів запитів і того, чи важлива для вас резидентність даних у ЄС.

Чому розробники переходять з Bitly API?

Найчастіше називають дві причини: ліміти запитів, які обмежують автоматизовані процеси на дешевших планах, і функції, заховані за вищими рівнями, через що API, який ви можете собі дозволити, - не той API, який вам потрібен. Перехід зазвичай відбувається на користь shortener із чіткішими лімітами та вбудованою ідемпотентністю, щоб пакетні завдання можна було безпечно повторювати.

Чи складно мігрувати з Bitly API?

Сам виклик API майже ідентичний: POST-запит із URL призначення, у відповідь ви отримуєте коротке посилання. Тож заміна ендпоінту та авторизації - невелика зміна. Справжня робота - це посилання, які вже існують на bit.ly: їх перенести не можна. Лише брендовані посилання на домені, яким ви володієте, можна перенаправити до нового провайдера без поломок.

Які ліміти запитів у Bitly API?

Вони залежать від плану: приблизно від 1 000 запитів на місяць на найнижчих рівнях до 150 000+ на вищих, плюс окремі обмеження за хвилину та за годину. Практична проблема в тому, що нижчі рівні обмежують дуже жорстко, через що ламаються масові чи автоматизовані завдання, і команди починають шукати альтернативи.

Спробуйте Elido

Вставте URL - отримайте коротке посилання

Без реєстрації. Посилання живе 30 днів. Зареєструйтесь, щоб зберегти назавжди.

Безкоштовно, без реєстрації · 2 на день

Спробуйте Elido

URL-скорочувач із хостингом у ЄС: власні домени, глибока аналітика, відкритий API. Безкоштовний тариф - без кредитної картки.

Теги
bitly api alternative
bitly api
url shortener api
developer url shortener
shorten url api
bitly api rate limits

Читати далі