ConsoliBYTE PHP devkit для QuickBooks — добавить пользовательский идентификатор

Я хочу отправлять клиентов и счета-фактуры в онлайн-аккаунт quickbooks, используя php-devkit consolibyte quickbooks. Мне удалось это сделать, но я не могу настроить свои пользовательские идентификаторы для клиентов и счетов, потому что библиотека отключает их от объектов.

Кто-нибудь знает, достижимо ли это или позволяет ли API quickbooks это?

Альтернативой было бы хранить quickbooks_id в моей базе данных, чего я пытался избежать.

Спасибо!

Изменить: некоторый код

$IPP->version(QuickBooks_IPP_IDS::VERSION_3);

$CustomerService = new QuickBooks_IPP_Service_Customer();

$Customer = new QuickBooks_IPP_Object_Customer();
$Customer->setId(101); // this is the ID i want to set
$Customer->setTitle('Mr');
$Customer->setGivenName('John');
$Customer->setFamilyName('Doe');

person Bobby Tables    schedule 07.03.2014    source источник
comment
Разместите свой код. В QuickBooks нет такой вещи, как пользовательский идентификатор. Вы имеете в виду настраиваемое поле?   -  person Keith Palmer Jr.    schedule 07.03.2014
comment
Кроме того, вам СЛЕДУЕТ хранить значения идентификатора QuickBooks в вашей базе данных, если вы не знаете, что можете запросить какое-либо другое поле, чтобы немедленно найти нужный объект. Intuit позволяет выполнять запросы только по очень нескольким конкретным полям (значения вашего идентификатора не будут одним из них), поэтому вам нужно будет сохранить значения идентификатора QuickBooks, чтобы вы могли запрашивать/сопоставлять вещи по идентификатору.   -  person Keith Palmer Jr.    schedule 07.03.2014
comment
так что это QB API, их документация developer.intuit.com/docs/0025_quickbooksapi /0050_data_services/ в лучшем случае расплывчато.   -  person Bobby Tables    schedule 07.03.2014
comment
Ответ ниже - думайте об этом так же, как о базе данных - вы вставляете запись, вы возвращаете уникальное значение идентификатора. Вы не можете изобрести свои собственные идентификаторы.   -  person Keith Palmer Jr.    schedule 07.03.2014


Ответы (1)


Это определенно не выполнимо:

$Customer->setId(101); // this is the ID i want to set

Вы не можете просто изобрести свои собственные значения Id. Это значения Id QuickBooks — по сути, их первичный ключ в самом QuickBooks Online.

Если вы сделаете запрос для объектов, вы вернете Id значений для всех из них. Если вы создадите новый объект, вы получите от Intuit значение Id для вновь созданного объекта. Думайте об этом так же, как AUTO_INCREMENT PRIMARY KEY базы данных SQL. Вы делаете вставку, вы получаете уникальное значение Id.

Это не ограничение самого кода PHP — это то, как работает фактический API QuickBooks. Значения Id не являются вашими значениями Id, это значения Id QuickBooks. Это не устанавливаемые значения.

Вы должны хранить значения Id в собственной базе данных. Даже если вы могли установить эти значения Id, вы должны помнить, что вы не единственный, кто имеет доступ к данным QuickBooks — если бы вы могли их установить, то < em>как и любое другое приложение, которое подключается к QuickBooks, по сути, перезаписывая любое установленное вами значение.

person Keith Palmer Jr.    schedule 07.03.2014