Для начала нужно понять - сама delphi программа работает только на одном компе и в одном экземпляре работает или в нескольких?
Если будет одновременно запущено больше чем одна копия - то пусть дают доступ к базе куда будешь писать напрямую (а они уже сами будут сгружать что им надо куда надо) - так как иначе им придется подзаебаться с дублями от нескольких одновременно запущенных экземпляров. Если на это похер - то в локальную базу пишешь все записи которые нужно отправить с дополнительными полями - "статус отправки" , "количество попыток отправки" , "последняя ошибка".
После чего создаешь 2 таймера которые через Http
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_an_HTTP_Client клиент шлют записи из таблицы в формате JSON
https://webdelphi.ru/2019/03/rabota-s-json-v-delphi-10-3-rioПервый таймер отправляет новые записи, второй те которые не отправились.
Если запись не оправилась более 3 раз подряд - то тормозить отправку и потом через минут 5/10/20/30 попробовать отправить снова.
Записывай ошибки отправки - как в таблицу в виде кода ошибки так и в отдельный лог файл с полным ответом от их сервера (а то потом хуй докажешь что не верблюд)