Ошибка API QuickBooks при обновлении - PullRequest
2 голосов
/ 14 марта 2012

Я пытаюсь использовать API QuickBooks для синхронизации списка продуктов моей компании со списком элементов рабочей книги.Я получил через систему OAuth возможность отправлять запросы на чтение / запись в API, но всегда получаю сообщение об ошибке при попытке обновить объект.

Ссылка, которую я использовал, здесь , и в той же документации есть ссылка на получение объекта, который я смог использовать очень хорошо.Это XML, который я отправляю .Я несколько часов настраивал XML безрезультатно.

Я получаю сообщение об ошибке: " Имя элемента QB уже существует. ERI = 420962215 ".Этот ERI - мой идентификатор царства.Кажется, что QuickBooks думает, что я пытаюсь добавить новый элемент, когда я пытаюсь изменить существующий.Если я опускаю поле имени или оставляю его пустым, это также выдает мне ошибку.

Элемент, который я пытаюсь изменить, был создан в QuickBooks, а затем синхронизирован с помощью диспетчера синхронизации QuickBook.Затем я подтвердил подлинность своего приложения в этой книге и смог легко читать данные.У меня проблема только при попытке написать.Я до сих пор не пытался создать или удалить объект, так как я затормозил при обновлении.

Я пытаюсь просто установить на сайте моей компании простую форму, которая поразит API и обновит данные при сохранении., но я не могу найти способ обойти эту ошибку.

Любая помощь будет принята с благодарностью.У меня начались проблемы в пятницу, и я чувствую, что сейчас просто кружусь.Я нашел библиотеку QuickBooks / PHP и попытался просмотреть ее, чтобы увидеть, могу ли я найти полезную информацию, но она оказалась слишком большой для того, чтобы найти то, что я искал, так как я думаю, что ошибка - это просто неправильный XML.

Я выполнил все указания в справочнике по обновлениям и просто не могу добиться прогресса.Я дважды и трижды проверил, что моя аутентификация работает, что URL правильный, что я отправляю POST, а не GET, и что мой XML соответствует XML, показанному в этом примере.

ОБНОВЛЕНИЕ 2012-03-15

Кажется, проблема в том, что API не может обновить элемент, созданный с помощью QuickBooks.Каждый элемент имеет идентификатор и идентификатор домена, который указывает, было ли это сделано через API (NG) или Quickbooks (QB).Примером id / idDomain будет 1 / QB или 2556587 / NG.

Всякий раз, когда я делал это, я был в состоянии прекрасно обновить элемент, созданный с помощью API, но не один, созданный с помощью Quickbooks.Посмотрев Список поддерживаемых объектов , я заметил, что обновление / создание сборки элемента указано как бета.

Ответы [ 3 ]

1 голос
/ 20 марта 2012

Кажется, что я написал в обновлении правильно. Я не могу обновлять элементы, которые были сделаны в быстрых книгах через API. Я могу читать элементы, сделанные в быстрых книгах, я могу создавать элементы и редактировать элементы, созданные с помощью API, но редактирование элемента, созданного в быстрых книгах с помощью API, возвращает эту ошибку.

0 голосов
/ 01 января 2014

Вы можете подумать о переходе на QBO V3, с которым гораздо удобнее и проще работать. Для этого есть очень хороший API. который вы можете получить здесь. https://github.com/consolibyte/quickbooks-php (Сделано: Кит Палмер)

Я использую это и очень доволен этим.

0 голосов
/ 14 марта 2012

Несколько вещей:

  • На какой URL вы размещаете сообщение?
  • Можете ли вы показать полный HTTP-ответ, который вы получаете? IDS имеет плохой привычка возвращать сообщения об ошибках / коды, которые иногда неоднозначны если вы не посмотрите полный XML-ответ.
  • Некоторые из этих полей не могут быть обновлены: QtyOnPurchaseOrder, QtyOnSalesOrder
  • Вы знаете, что можете использовать IDS / Sync Manager только для приложений, которые собирается перепродать другим компаниям, верно? то есть вы не можете использовать его для внутренние / одноразовые приложения.
  • Вы получите гораздо лучшую поддержку, если вы отправите эти вопросы на форумы разработчиков Intuit: https://idnforums.intuit.com/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...