Вопрос

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

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

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

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

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

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

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

<Сильное> Обновление 2012-03-15

Кажется, что проблема в том, что API не может обновить элемент, который был создан через QuickBooks. Веский элемент имеет идентификатор и идентификатор IDDomain, который указывает на то, что было сделано через API (NG) или QuickBooks (QB). Пример ID / IDDomain будет 1 / qb или 2556587 / нг.

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

Это было полезно?

Решение

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

Другие советы

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

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

Вы можете рассмотреть возможность миграции на QBO V3, это лучше и легко работать. Для этого есть очень хорошая API.который вы можете добраться сюда. https://github.com/consolibyte/quickbooks-php / P >.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top