Успешный API не гарантирует полноту данных

Успешный возврат API указывает только на то, что был обработан один запрос; результат может зависеть от номера страницы, временного диапазона, срока хранения и ограничений доступа. Перед экспортом записей транзакций уточните, возвращает ли API заказ, транзакцию или изменение в бухгалтерской книге, и проверьте область действия счета, субсчета и продукта. Первая страница по умолчанию не может считаться полной историей, и пустой массив нельзя напрямую интерпретировать как учетную запись, которая никогда не была активна.

Методы пагинации должны быть реализованы в соответствии с документацией.

Различные интерфейсы используют время, идентификаторы событий или курсоры «предыдущая/следующая» для пагинации, а сортировка и включение границ также могут различаться. Сохраняйте параметры каждого запроса, диапазон ответа и курсор «следующая»; не предполагайте, что добавление секунды ко времени предотвратит пропуски. В одной и той же миллисекунде может быть несколько записей; стабильные идентификаторы, как правило, больше подходят для сопоставления, чем отдельные метки времени, но их область действия все равно следует подтвердить.

Используйте перекрывающиеся окна для выявления проблем.

Если смежные окна имеют небольшое перекрытие, то дедупликацию следует выполнять с использованием специального ключа события. Это помогает проверить границы; простая дедупликация не должна маскировать изменения полей. Если одновременно происходит несколько транзакций, разделение окна, сохраняющее только первую запись, приведет к пропускам. Запишите самое раннее и самое позднее время, количество возвращенных записей и изменения курсора. Остановитесь и проведите расследование, если одна и та же страница появляется неоднократно.

Ограничение скорости и повторные попытки должны быть обратимыми.

Ограничивайте количество запросов пакетами в соответствии с официальной скоростью. Избегайте повторных попыток при возникновении ограничения скорости или временных сбоев и продолжайте с подтвержденного курсора. Не добавляйте ненужные разрешения API для повышения скорости и не обновляйте ключи чтения данных до ключей вывода. Ключи и подписи не должны регистрироваться; Для проверки достаточно записи сводных данных о запросах, а файлы журналов также должны защищать информацию, связанную с учетной записью.

Полнота зависит от перекрестной проверки.

Сравните экспортированные объемы транзакций, комиссии и изменения активов с отчетами по счетам, ежемесячными выписками или начальными и конечными балансами. Переводы входящих и исходящих средств, вознаграждения и корректировки могут поступать из других интерфейсов; записи транзакций не могут объяснить весь баланс. Необъяснимые расхождения следует отмечать отдельно; не следует создавать дополнительные транзакции. Если история превысила срок хранения интерфейса, следует обратиться к официальным отчетам или заявкам в службу поддержки.

Вывод пакетов данных, подлежащих аудиту

Сохранение версии документа интерфейса, времени экспорта, диапазона счетов, параметров пагинации, количества строк, правил дедупликации и списка исключений, при этом сохраняется защищенная копия исходного ответа. Заявления о целостности данных, сделанные с помощью сторонних инструментов, также должны быть проверяемы с помощью этих записей. Этот документ предназначен только для целей обработки данных и не гарантирует постоянную доступность какого-либо конкретного интерфейса, а также не генерирует автоматически налоговые заключения или оценки платежеспособности платформы.