Очень много нюансов с кронами и API, да. Иногда всё работает в терминале, но в кроне — фиаско из-за окружения или путей. Я бы не сказал, что тут всё просто: без тщательно настроенного окружения и правильных логов реально сложно понять, где именно ошибка. Просто прописать вызов — мало, особенно с токенами и таймаутами, тут надо цеплять проверки и аккуратность.