0

PHP Web サイトを介して、オンラインのクイックブック アカウントで請求書を自動的に生成する必要があります。私は直観や他の情報源をたくさん検索しましたが、どこから始めて何をすべきかわかりません。私を助けてください..ありがとう

4

1 に答える 1

1

非 SaaS QuickBooks と QuickBooks Online の統合には、qbXML を使用する必要があります。

これを行うには、まず Intuit に登録する必要があります。デスクトップモードで登録するのが最も簡単です。これを行う手順は、QuickBooks PHP wikiにあります。PRODUCTION アプリケーションとして登録します (DEV/PTC を使用できるのは、Intuit から特別なアカウントを取得した場合のみであり、取得することはできません)。

登録が完了すると、接続チケット、アプリ ID、およびアプリ ログインが作成されます。

次に、オープン ソースの PHP QuickBooks DevKit (最近のナイトリー ビルドを使用) を取得して、この例を開くことができます。

  • docs/example_online_edition.php

そこから、アプリ ID、アプリ ログイン、および接続チケットを接続すると、XML 形式の要求を QuickBooks に送信できるようになります。

XML 参照には Intuits QuickBooks OSRを使用することをお勧めします。「OE」にチェックを入れ、「US」のチェックを外し、qbXML バージョンを 6.0 に変更し (QuickBooks Online は 6.0 のみをサポートします)、「メッセージの選択」ドロップダウンを使用して要求タイプを選択し、「XML Ops」タブを使用して、利用可能な XML フィールドを参照してください。

結果のコードは次のようになります。

require_once dirname(__FILE__) . '/../QuickBooks.php';

// Register in DESKTOP mode to get these. Docs: 
//  http://www.consolibyte.com/docs/index.php/QuickBooks_Online_via_qbXML#Connecting_with_the_.27Desktop.27_model_of_communication
$application_id = '134476443';
$application_login = 'qboe.www.consolibyte.com';
$connection_ticket = 'TGT-68-1sRm2nXMVfm$n8hb2MZfVQ';

// Create our new gateway instance 
$Gateway = new QuickBooks_Gateway_OnlineEdition(
    $application_id,
    $application_login,
    $connection_ticket);

$xml = '<QBXMLMsgsRq onError="stopOnError">
            <VendorAddRq>
                <VendorAdd>
                    <Name>ConsoliBYTE</Name>
                    <FirstName>Keith</FirstName>    
                    <LastName>Palmer</LastName> 
                    <VendorAddress>
                        <Addr1>123 Test Road</Addr1>    
                        <City>Mt Pleasant</City>    
                        <State>MI</State>   
                        <PostalCode>48858</PostalCode>  
                    </VendorAddress>
                    <Email>support@consolibyte.com</Email>  
                </VendorAdd>
            </VendorAddRq>
        </QBXMLMsgsRq>';

// Send the request
$resp = $Gateway->qbxml($xml);

print($resp);
于 2013-06-21T02:34:09.323 に答える