Я очень новичок в QuickBooks. Я создал пробную учетную запись в Quick Books, и я хочу добавить клиентов, создать счета-фактуры или подобные вещи для своей учетной записи. Я загрузил php SDK из github. Теперь у меня нет идеи, как начать, с чего начать добавлять клиента в свою учетную запись после того, как клиент сделает заказ с моего сайта. Может ли кто-нибудь помочь мне с подробной документацией или некоторыми примерами, чтобы я мог двигаться вперед. Я не знаю о коннекторе веб-приложений. Я совершенно новый. Спасибо ..Интеграция QuickBooks API (php)
ответ
Это будет две части ответа, потому что вы не указали если вы используете QuickBooks ONLINE или QuickBooks для WINDOWS.
Процесс будет отличаться в зависимости от которой вы используете, поэтому обратите внимание на выделенные заголовки ниже:
Для QuickBooks ONLINE:
Если вы используете open source QuickBooks PHP DevKit от GitHub, то лучшим местом для начала является руководство QuickBooks Online with PHP quick-start.
Самое первое, что вам нужно сделать, это зарегистрировать ваше приложение с Intuit. Когда вы сделаете это, Intuit будет дать вам эти переменные:
- приложение лексема
- секрет потребителя
- Ключ потребителя
Вы Подставим эти переменные в config.php файл, который включается в примере. Вы также обновите эти значения, чтобы указать на свое приложение:
- oauth url (например, your-site.com/path/to/example/oauth.PHP)
- успех URL (например your-site.com/path/to/example/success.php)
- меню URL (например your-site.com/path/to/example/menu.php)
- DSN (ваши credentails базы данных для хранения маркера OAuth)
Кроме того, вы можете оставить все другие переменные в config.php в их значения по умолчанию.
Если вы заглянете в файл index.php, вам будет предложено подключиться к QuickBooks. Вы можете подключиться, а затем посетить файлы примеров. Вот некоторые примеры добавления клиентов/заказов на QuickBooks Online:
код заканчивает тем, что что-то вроде:
$CustomerService = new QuickBooks_IPP_Service_Customer();
$Customer = new QuickBooks_IPP_Object_Customer();
$Customer->setTitle('Mr');
$Customer->setGivenName('Keith');
$Customer->setMiddleName('R');
$Customer->setFamilyName('Palmer');
$Customer->setDisplayName('Keith R Palmer Jr ' . mt_rand(0, 1000));
// Phone #
$PrimaryPhone = new QuickBooks_IPP_Object_PrimaryPhone();
$PrimaryPhone->setFreeFormNumber('860-532-0089');
$Customer->setPrimaryPhone($PrimaryPhone);
// Bill address
$BillAddr = new QuickBooks_IPP_Object_BillAddr();
$BillAddr->setLine1('72 E Blue Grass Road');
$BillAddr->setLine2('Suite D');
$BillAddr->setCity('Mt Pleasant');
$BillAddr->setCountrySubDivisionCode('MI');
$BillAddr->setPostalCode('48858');
$Customer->setBillAddr($BillAddr);
if ($resp = $CustomerService->add($Context, $realm, $Customer))
{
print('Our new customer ID is: [' . $resp . ']');
}
Для реализации дополнительной функциональности, вы найдете другие примеры, включенные в код.
Доступные объекты/методы также отражают Intuit's documentation, поэтому вы хотите посмотреть на это.
Для QuickBooks для WINDOWS:
Для QuickBooks для Windows, вы будете использовать Web Connector. Опять же, начните с open source QuickBooks PHP DevKit от GitHub. Вместо этого используйте руководство QuickBooks for Windows + PHP quick-start.
Это поможет вам создать простой сервис веб-коннектора, который добавит тестовых клиентов в QuickBooks.
В основном вы будете create a .QWC file, который вы загрузите в веб-коннектор QuickBooks (Пуск> Все программы> QuickBooks> Веб-коннектор). Этот файл .QWC укажет на PHP script which negotiates the connection between QuickBooks and PHP. Все, что вам нужно сделать, в этом примере сценария является обмен этой переменной:
- $ DSN (указать его в собственной базе данных)
Для каждой новой части функциональности вы хотите добавить, вы будете в конце концов напишите новую функцию запроса и ответа, как описано в QuickBooks Web Connector + PHP docs.
Ваш код будет в конечном итоге выглядит примерно так:
function _quickbooks_customer_add_request($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $version, $locale)
{
// You'd probably do some database access here to pull the record with
// ID = $ID from your database and build a request to add that particular
// customer to QuickBooks.
//
// So, when you implement this for your business, you'd probably do
// something like this...:
/*
// Fetch your customer record from your database
$record = mysql_fetch_array(mysql_query("SELECT * FROM your_customer_table WHERE your_customer_ID_field = " . (int) $ID));
// Create and return a qbXML request
$qbxml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq requestID="' . $requestID . '">
<CustomerAdd>
<Name>' . $record['your_customer_name_field'] . '</Name>
<CompanyName>' . $record['your_customer_company_field'] . '</CompanyName>
... lots of other customer related fields ...
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>';
return $qbxml;
*/
// But we're just testing, so we'll just use a static test request:
$xml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq requestID="' . $requestID . '">
<CustomerAdd>
<Name>ConsoliBYTE, LLC (' . mt_rand() . ')</Name>
<CompanyName>ConsoliBYTE, LLC</CompanyName>
<FirstName>Keith</FirstName>
<LastName>Palmer</LastName>
<BillAddress>
<Addr1>ConsoliBYTE, LLC</Addr1>
<Addr2>134 Stonemill Road</Addr2>
<City>Mansfield</City>
<State>CT</State>
<PostalCode>06268</PostalCode>
<Country>United States</Country>
</BillAddress>
<Phone>860-634-1602</Phone>
<AltPhone>860-429-0021</AltPhone>
<Fax>860-429-5183</Fax>
<Email>[email protected]</Email>
<Contact>Keith Palmer</Contact>
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>';
return $xml;
}
Вы можете найти дополнительную ссылку QBXML с помощью QuickBooks OSR.
Мы также предоставляем wiki с lots of example qbXML requests, которые вы можете использовать.
Я использую Quickbooks онлайн Спасибо за вашу помощь .... Я пробовал это, и теперь я получаю следующую ошибку, когда я нажимаю кнопку подключения «Вызов неопределенной функции mcrypt_module_open()» на quickbooks-php-master/QuickBooks/Encryption/Aes.php в строке 34. –
Из-за требований безопасности, которые требуется Intuit, вам понадобится модуль PHP mcrypt, установленный и включенный. http://us2.php.net/mcrypt Обратитесь к своему веб-хосту, если он еще не установлен/включен. –
Да, я только что связался с администратором. Другой вопрос, я создал приложение. Итак, когда я добавляю клиента, клиент должен появиться на странице клиента в Quick books правильно? –
Из SDK используйте example_ipp_ids_6.php для добавления клиентов.
Вот ссылка на полный код на GitHub:
И быстро руководство:
example_ipp_ids_6.php
<?php
// Turn on some error reporting
error_reporting(E_ALL);
ini_set('display_errors', 1);
header('Content-Type: text/plain');
/**
* Require the QuickBooks library
*/
require_once dirname(__FILE__) . '/../QuickBooks.php';
/**
* Require some IPP/OAuth configuration data
*/
require_once dirname(__FILE__) . '/example_ipp_config.php';
// Set up the IPP instance
$IPP = new QuickBooks_IPP($dsn);
// Set up our IntuitAnywhere instance
$IntuitAnywhere = new QuickBooks_IPP_IntuitAnywhere($dsn, $encryption_key, $oauth_consumer_key, $oauth_consumer_secret);
// Get our OAuth credentials from the database
$creds = $IntuitAnywhere->load($the_username, $the_tenant);
// Tell the framework to load some data from the OAuth store
$IPP->authMode(
QuickBooks_IPP::AUTHMODE_OAUTH,
$the_username,
$creds);
// Print the credentials we're using
//print_r($creds);
// This is our current realm
$realm = $creds['qb_realm'];
// Load the OAuth information from the database
if ($Context = $IPP->context())
{
// Set the DBID
$IPP->dbid($Context, 'something');
// Set the IPP flavor
$IPP->flavor($creds['qb_flavor']);
// Get the base URL if it's QBO
if ($creds['qb_flavor'] == QuickBooks_IPP_IDS::FLAVOR_ONLINE)
{
$IPP->baseURL($IPP->getBaseURL($Context, $realm));
}
print('Base URL is [' . $IPP->baseURL() . ']' . "\n\n");
$CustomerService = new QuickBooks_IPP_Service_Customer();
$Customer = new QuickBooks_IPP_Object_Customer();
$Customer->setName('Willy Wonka #' . mt_rand(0, 1000));
$Customer->setGivenName('Willy');
$Customer->setFamilyName('Wonka');
$resp = $CustomerService->add($Context, $realm, $Customer);
print_r($Customer);
print('New customer is [' . $resp . ']' . "\n\n");
print("\n\n\n\n");
print('Request [' . $IPP->lastRequest() . ']');
print("\n\n\n\n");
print('Response [' . $IPP->lastResponse() . ']');
print("\n\n\n\n");
}
else
{
die('Unable to load a context...?');
}
Настройка ключи и имя пользователя в example_ipp_config.php
<?php
/**
* Intuit Partner Platform configuration variables
*
* See the scripts that use these variables for more details.
*
* @package QuickBooks
* @subpackage Documentation
*/
// Your OAuth token (Intuit will give you this when you register an Intuit Anywhere app)
$token = 'c640731cb411db4132b8475b4198a7efae08';
// Your OAuth consumer key and secret (Intuit will give you both of these when you register an Intuit app)
//
// IMPORTANT:
// To pass your tech review with Intuit, you'll have to AES encrypt these and
// store them somewhere safe.
//
// The OAuth request/access tokens will be encrypted and stored for you by the
// PHP DevKit IntuitAnywhere classes automatically.
$oauth_consumer_key = 'qyprdzUiOLX60UK4cMwYhg1QVGfOGT';
$oauth_consumer_secret = '32mIB75pqqPreOADcxRvryC0fBduJhnRr52JfUdf';
// This is the URL of your OAuth auth handler page
$this_url = 'http://localhost/quick/docs/example_ipp_oauth.php';
// This is the URL to forward the user to after they have connected to IPP/IDS via OAuth
$that_url = 'http://localhost/quick/docs/example_ipp_ids_6.php';
// This is a database connection string that will be used to store the OAuth credentials
// $dsn = 'pgsql://username:[email protected]/database';
// $dsn = 'mysql://username:[email protected]/database';
$dsn = 'mysql://root:@localhost/quickbooks';
// You should set this to an encryption key specific to your app
$encryption_key = 'abcd1234';
// The user that's logged in
$the_username = '[email protected]';
// The tenant that user is accessing within your own app
$the_tenant = 12345;
// Initialize the database tables for storing OAuth information
if (!QuickBooks_Utilities::initialized($dsn))
{
// Initialize creates the neccessary database schema for queueing up requests and logging
QuickBooks_Utilities::initialize($dsn);
}
Могу ли я сказать, откуда я могу получить токен, потребительский ключ, секретный ключ для секретного пользователя и арендатор, пожалуйста ... –
Когда вы идете через регистрацию в Intuit, они будут * давать вам * всю эту информацию. $ tenant вы можете просто оставить в качестве значения по умолчанию. –
- 1. Quickbooks PHP SDK Интеграция
- 2. быстрые книги api php интеграция
- 3. Интеграция Quickbooks с использованием QWC на PHP Server (API)
- 4. Quickbooks 2005 Веб-интеграция
- 5. Magento Thub Quickbooks Интеграция
- 6. Интеграция Salesforce с Quickbooks онлайн
- 7. Quickbooks magento интеграция с мылом
- 8. Quickbooks Интеграция в Интернете C#
- 9. Интеграция Quickbooks с использованием Aggcat
- 10. Интеграция Quickbooks на веб-сайте
- 11. Интеграция в Quickbooks Online Integration, Authentication Strategy
- 12. QuickBooks API - запрос SalesItemLineDetail
- 13. Интеграция QuickBooks с веб-приложением. Какой путь?
- 14. Интеграция Quickbooks в приложение для рельсов
- 15. Интеграция OAuth с QuickBooks с использованием Scribe
- 16. Quickbooks PHP API - лимит имени пользователя
- 17. Интеграция Quickbooks с веб-службами Java
- 18. Quickbooks Интеграция PHP с пользовательской схемой базы данных
- 19. Call Quickbooks API
- 20. Удаленный интерфейс QuickBooks API?
- 21. QuickBooks API V3 customerquery
- 22. удостовер QuickBooks API
- 23. Интеграция SOAP API в php
- 24. интеграция php с bigcommerce api
- 25. Интеграция API OnePageCRM с PHP
- 26. Интеграция Quickbooks Online с Sharepoint 2010 приложение
- 27. Интеграция веб-приложения с QuickBooks Online
- 28. Интеграция QuickBooks: невозможно синхронизировать данные в QBO
- 29. Интеграция Quickbooks онлайн без виджетов быстрого доступа
- 30. Интеграция настольных компьютеров Quickbooks для MAC
возможно dublicate http://stackoverflow.com/questions/20387302/adding-a-customer-with-address-details-to-quickbooks – Naeem
Дубликат http: // stackoverflow.com/questions/22705695/quickbooks-web-connector-authenticate-with-php-soap-server – hashkishor