QuickBooks IPP v3 получает ошибку 3200 при добавлении счета
Я использую QuickBooks PHP DevKit уже некоторое время в работе без проблем.
Однако недавно я получил следующую ошибку от моего create_invoice
сценарий ajax, когда я выплюнул:
if($resp = $InvoiceService->add($Context, $realm, $Invoice)){
//create invoice code here
} else
{
echo $InvoiceService->lastError();
}
Я получаю следующую ошибку:
3200: [message=ApplicationAuthenticationFailed; errorCode=003200; statusCode=401, ]
Единственная документация, которую я могу найти об этой ошибке, состоит в том, что код ошибки 3200 означает "устаревшая последовательность редактирования", но я создаю счет-фактуру.
Так почему эта ошибка появляется внезапно?
Кажется, он начал давать мне эту ошибку с 11 июля. До этого все работало нормально.
Нужно ли обновлять токены доступа, и как мне это сделать?
1 ответ
Единственная документация, которую я могу найти об этой ошибке, состоит в том, что код ошибки 3200 означает "устаревшая последовательность редактирования", но я создаю счет-фактуру.
Код ошибки 3200 (для qbXML) полностью отделен от кода ошибки 003200 (для IPP/v3), поэтому "устаревшая последовательность редактирования" здесь вообще не актуальна.
Так почему эта ошибка появляется внезапно?
Как правило, ошибка "401 Authentication Failed" в значительной степени означает именно то, что говорится - аутентификация в приложении не удалась.
Это может быть из-за нескольких причин:
- Срок действия ваших токенов OAuth истек (они истекают через 6 месяцев, если вы их не продлили)
- Ваши токены / соединения OAuth были отключены (это можно сделать из интерфейса UI Intuit)
- Вы больше не отправляете правильные токены OAuth
Вы проверяли свои токены OAuth? Они все еще действительны? Вы отправляете правильные?
Нужно ли обновлять токены доступа, и как мне это сделать?
Может быть.
Вы можете вернуться к процессу подключения (например, снова нажать кнопку "Подключиться к QuickBooks"), чтобы обновить их.
Если срок их действия истек (например, вы не продлили его в течение 6 месяцев), вам следует выполнить вызов повторного подключения, чтобы избежать этого в будущем: