"много заказов по апи не проходят, хотя по аналогии с другими заказами которые проходят все условия соблюдаются" - не всегда все работает так, как кажется😉
Наиболее простой выход из такой ситуации, по моему мнению, такой:
Записывать все ответы от сервера. Реализовать это можно как угодно(или как умеете) в БД, в txt файлах и тд. У меня для этого дела есть специальное поле в БД таблице Заказов. Скрипт делает запрос => записывает ответ в БД.
На основе полученной таблицы "лога" можно проанализировать работу и посмотреть текст ошибок. Поправить их.(в ручном режиме)
Более продвинутый вариант - это анализировать и исправлять ошибки "налету". Для этого скорее всего нужна будет основная база часто встречающихся ошибок.(возможно это можно как то красивее организовать)
Отправили запрос => Получили ответ => Проверка, ошибка или ок :
1) Если все ок, то далее например сохраняем заказ у себя.
2) Если ошибка, то запускается сценарий исправления ошибок. Так же можно запихнуть функционал информирования "Администратора" для подстраховки, если требуется. чтобы проверять иногда работу Автоматики