2013-08-12 1 views
0

Есть ли предпочтительный способ связи QuickBooks и внешних систем?Как связать QuickBooks и внешние системы?

Должен ли я хранить PK внешнего объекта в поле внешнего идентификатора QB или внешний идентификатор объекта QB как FK в моем внешнем объекте? И то и другое?

Любые другие альтернативы?

Спасибо.

редактировать, так как я не могу ответить на мой собственный вопрос:

Я решил пойти с настраиваемым полем.

Я попытался изменить внешнее поле ID в задании, но, похоже, это только чтение. Я могу создать идентификатор, и служба заданий, похоже, завершает обновление, но внешний идентификатор не изменяется даже после синхронизации. В какой-то момент в будущем я могу поместить внешний идентификатор в соответствующую таблицу с другой стороны, но в этом я не нуждаюсь.

https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/job

ответ

1

Все QB Items, кажется, имеют уникальный идентификатор, описанный в Экранные Reference, как правило, ListID для списка объектов. Я бы использовал это в своем внешнем приложении.

Другие объекты, например, счета-фактуры и т. Д., Имеют уникальный внутренний идентификатор QB, который вы используете для их ссылки, описанный в OSR.

В качестве примера я бы использовал txnID счета-фактуры, чтобы ссылаться на счет-фактуру в моем внешнем приложении.

TxnID 
QuickBooks generates a unique TxnID for each transaction that is added to QuickBooks. A TxnID returned from a request can be used to refer to the transaction in subsequent requests. 

https://member.developer.intuit.com/qbSDK-current/Common/newOSR/index.html

+0

Это только значение из QBIdType.value в SDK? Я не уверен, что это хорошая идея, так как это может измениться, если вам нужно импортировать/экспортировать, чтобы восстановить. http: //www.sleeter.com/blog/2013/04/connect-data-between-applicationsits-not-as-easy-as-you-think/ – Eric

+0

Я лично также использую пользовательские поля для клиентов и т. д. Осмотрите OSR, в нем описывается уникальная внутреннее свойство идентификатора QB для каждого объекта, с которым вы будете работать. –

+0

Отредактировал свой ответ. –

1

Есть два способа интеграции с QuickBooks. Первый - с QBXML SDK v13, который Луис ссылается на поиск полей в OSR. Другой и предпочтительный путь - через API REST QuicKBooks.

Я считаю, что Эрик ссылается на REST API и Java SDK, который обертывает REST API. В этом случае вам нужен идентификатор объекта и токен синхронизации, когда вы делаете несколько обновлений для записи.

Вы можете увидеть ссылку для счетов (в качестве примера) здесь https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/account

С уважением, Jarred

1

Я заметил на многих объектах в QBD есть поле AlternateID. Однако в документации указано, что он не поддерживается. Я бы также использовал пользовательское поле, но в документации указано, что поле должно быть создано в QuickBooks, а не API. (Сначала необходимо создать поле, прежде чем оно будет использоваться API).

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