Научился чистить Zoho Books

К сожалению, у ZB есть лимиты в API:

  • Paid Organization — 2500 API calls/day and 100 API calls/minute
  • Free Organization — 1000 API calls/day and 100 API calls/minute

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

Кроме того, после выгрузки заказчик проверял документы и если его что-то не устраивало, просил удалить и загрузить заново.

Поэтому загрузка документов была переделана на загрузку из CSV-файлов, там можно загружать довольно большие объемы. Это я не автоматизировал, а сажал оператора, который грузил файлы.

А вот удаление — удалось автоматизировать через Selenium.

Просто выбирались все документы, по 25 штук и имитировалось нажатие кнопок удаления.

Причем нужно сначала удалять оплаты инвойсов, потом сами инвойсы. Оплаты биллов, потом сами биллы. Иначе не дает.

Вот как я это делал для разных документов:

Bill
Invoice
Payment Made
Payment Receive

Код выглядит примерно так:

А вот код нажатия кнопок подтверждения:

В свое время я искал эмулятор браузера и нашел лучший на данный момент вариант — Selenium!