Я пытаюсь использовать API QuickBooks для синхронизации списка продуктов моей компании с списком товаров в книге. Я прошел через систему OAuth, чтобы иметь возможность делать запросы на чтение/запись в API, но всегда получаю сообщение об ошибке при попытке обновить объект.Ошибка QuickBooks API при обновлении
Ссылка, которую я использовал, - here, а в рамках той же документации - ссылка на получение объекта, который я смог использовать просто отлично. Это XML that I'm sending. Я несколько раз настраивал XML на несколько часов безрезультатно.
Сообщение об ошибке, которое я получаю, это «Название позиции QB уже существует ERI = 420962215». Это ERI - мой идентификатор моего королевства. Кажется, QuickBooks думает, что я пытаюсь добавить новый элемент, когда я пытаюсь изменить существующий. Если я опускаю поле имени или оставляю его нулевым, это также дает мне ошибку.
Элемент, который я пытаюсь изменить, был создан в QuickBooks, а затем синхронизирован с помощью диспетчера синхронизации QuickBook. Затем я аутентифицировал свое приложение в этой книге и смог легко прочитать данные. У меня проблема только при попытке написать. Мне еще нужно попытаться создать или удалить объект, так как я останавливаюсь при обновлении.
Я пытаюсь просто создать простую форму на сайте моей компании, которая ударит по API и обновит данные при сохранении, но я не могу найти способ этой ошибки.
Любая помощь была бы принята с благодарностью. У меня начались проблемы в пятницу, и я чувствую, что сейчас кружась кругами. Я нашел библиотеку QuickBooks/PHP и попытался просмотреть ее, чтобы узнать, могу ли я найти полезную информацию, но мне было слишком сложно найти то, что я искал, так как я думаю, что ошибка - это просто некорректный XML.
Я следил за всеми направлениями в ссылке обновления и просто не могу добиться прогресса. Я дважды и тройка проверил, что моя проверка подлинности работает, что URL-адрес правильный, что я отправляю POST, а не GET, и что мой XML соответствует XML, показанному в этом примере.
UPDATE 2012-03-15
Кажется, проблема заключается в том, что API не может обновить элемент, который был создан с помощью QuickBooks. Каждый элемент имеет идентификатор и idDomain, который указывает, было ли это сделано через API (NG) или Quickbooks (QB). Пример id/idDomain будет 1/QB или 2556587/NG.
Всякий раз, когда я делал это, я смог полностью обновить элемент, созданный с помощью API, но не через Quickbooks. Изучив Supported Object Reference, я заметил, что обновление/создание сборки элементов указано как бета-версия.
1) Я отправляю сообщение на https://services.intuit.com/sb/item/v2/ 2) К сожалению, я так сильно изменил и изменил код (и отключил мою книгу на данный момент) что я не могу показать полный HTTP-ответ, но это было в значительной степени именно это сообщение об ошибке, код ошибки -3002 и DBErrorCode, которые я не могу вспомнить. 3) Я только пытаюсь обновить имя, описание и цену. 4) Я этого не знал, но посмотрю. 5) Я посмотрел на их форумы, и вопросы остались без ответа так часто, что я пошел сюда вместо этого. –
kingcoyote