Бюджет: 3500 UAH Термін: 3 дні
Розумію задачу: типова помилка накопичення історії при full-reload у Power Query проти API з rate-limit. Підхід:
1) Incremental refresh — переписую джерело courseProgresses так, щоб timestampModifiedAfter брався як MAX(lastModified) з поточного факт-набору AssigmentsProgress (через Table.Buffer + query folding, де можливо), а не жорстко захардкоджена дата — щоб і ручний повний рефреш, і інкрементальний працювали з одного M-скрипта.
2) Retry/backoff на 429 — обгортка над Web.Contents з try...otherwise, читанням Retry-After (якщо є в заголовках) і експоненційною паузою через List.Generate/Function.InvokeAfter, з лічильником спроб, щоб один випадковий 429 не валив весь рефреш.
3) Перевірю на вашому реальному Tovuti API (потрібен буде тимчасовий доступ до звіту/креденшлів), підтверджу коректність зв'язків Teams/Courses/Users/AssigmentsProgress після зміни.
4) Здам короткий MD/Word з поясненням: що саме змінено в M-коді, де тепер живе timestamp-параметр, як тестувати руками.
Маю практичний досвід з REST API пагінацією/лімітами і Python-автоматизацією обробки даних (приклад пайплайна моніторингу: guardlabs.online/demo/olx-monitor/). Готовий почати відразу, англійською комунікація не проблема.