Motimate: Чи існують обмеження на використання публічного API?
Обмеження по ставці
API працює з обмеженням швидкості в 1200 запитів за 10 хвилин. Це означає, що ви можете надсилати максимум 2 запити в секунду протягом будь-якого 10-хвилинного періоду. Зверніть увагу, що цей ліміт є спільним для всіх наших кінцевих точок, а не враховується для окремих кінцевих точок.
Якщо ви перевищите цей ліміт, ви отримаєте відповідь 429 Too Many Requests.
Поточний стан ліміту швидкості доступний у заголовку RateLimit.
Приклад:
RateLimit: limit=1200, remaining=956, reset=543
Див. проект IETF для більш детальної інформації.
Якщо у вас виникли проблеми з досягненням цього ліміту, будь ласка, введіть період затримки між запитами, щоб знову опуститися нижче ліміту.
Фільтри / Аргументи шляху
Існує обмеження в 50 аргументів (тобто ідентифікаторів користувачів) на один виклик при фільтрації за допомогою аргументів шляху.
Пагінація
Максимальна кількість результатів на сторінці - 50. Використовуйте параметри запиту page та per_page, щоб отримати додаткові результати.
Приклад:
/users?page=3&per_page=30
Як отримати всі дані з API з обмеженням пагінації?
Примітка: У цьому прикладі використовується GET /groups, але ви можете повторити кроки з іншими кінцевими точками.
-
-
Отримати всі дані:
for i in {1..NUMBER_OF_PAGES}; do curl -X GET "https://motimateapp.com/public_api/groups?page=$i" done - Зберігайте дані на своєму комп'ютері.
-
Вибирайте тільки ті ресурси, які були оновлені або створені після останньої вибірки (наприклад, один день тому) і об'єднайте їх з даними, які у вас вже є:
curl -X GET "https://motimateapp.com/public_api/groups?filter[created_at_gt]=<ONE_DAY_AGO>" curl -X GET "https://motimateapp.com/public_api/groups?filter[updated_at_gt]=<ONE_DAY_AGO>" - Щоразу, коли ви виконуєте запит DELETE, видаляйте ресурс зі своєї копії.
- Періодично (наприклад, щотижня) виконуйте ресинхронізацію, знову отримуючи всі дані та оновлюючи свою копію.
-
0 коментарів
Будь ласка, увійти, щоб залишити коментар.