この記事では、電子請求書印刷の一般的なソリューションを PHP コード例とともに紹介します。必要な方は参考にしてください。
物流、電子商取引、ERP。倉庫業やその他の関連する運送業では、電子請求書印刷の使用が必要です。印刷ニーズを満たすために、さまざまな電子請求書プリンター、電子請求書印刷ソフトウェア、電子請求書印刷ツールが市販されていますが、それらはあまり優れたものではありません。 。携帯電話の電子請求書印刷の一般的なソリューションは次のとおりです: Kuaibao 電子請求書クラウド印刷の利点: プリンターのモデルとブランドに制限がなく、すべての主要な運送会社の電子請求書を印刷できます。 Cainiao 電子請求書は、バッチ印刷、リモート印刷、および電子顔フォームのプリンター共有をサポートしています。
1.クラウド印刷の紹介
Kuaibao電子フォームクラウド印刷は、ワンクリックで通常のサーマルプリンターをクラウドに接続し、パッケージ化されたプリンター管理とタスクなどの印刷インターフェースを提供します送信とタスク ステータスの更新により、開発者は完全に機能する使いやすいモバイル電子フォーム印刷プログラムを 1 日で開発できます。次のような特徴があります:
1. シンプルなアクセス: 通常のプリンターがモバイル共有クラウドに接続されています
2. 非常に高速なリクエスト: 印刷は 1 回の http リクエストで完了できます
3. 非常に高速なカスタマイズ: 電子フォーム印刷ソフトウェアは半日で利用可能になります
2. クラウド印刷の使用方法
Kuaibao クラウド印刷には 6 つの API が含まれており、さまざまなシナリオで使用され、使用プロセスに応じて異なるインターフェースを備えています。ソフトウェア
インターフェース名 | インターフェースの説明 |
---|---|
クラウドプリンターを登録 | 開発者アカウントをクラウドプリンターに関連付ける |
クラウドプリンターを削除 | 開発者アカウントの関連付けを解除するクラウドプリンターで |
印刷タスクを送信 | クラウドプリンターに印刷タスクを送信 |
クラウドプリンターリストを取得 | 開発者アカウントに関連付けられたクラウドプリンター情報を取得 |
印刷タスクの詳細をクエリ | 特定の印刷タスク情報を取得する |
クラウドプリンター情報を取得する | クラウドプリンター情報を取得する |
クラウド印刷を利用するには、以下の準備が必要です:
準備するもの | 備考 |
---|---|
電子フォームプリンター | ブランド、モデルの制限なし |
クラウド印刷エージェントプログラムをインストールする(ダウンロードアドレス: http://ckd.so/ydy) | win 7と上記のシステム、Mac システムはサポートされていません |
取得した Kuaidi Open Platform 開発者アカウント情報 (ID と API Key) | Kuaidi Open Platform (http://open.kuaidihelp.com/) に登録することで取得できます。 |
クラウド印刷 API を使用する手順は、特定のビジネスに応じて接続する API を選択できます:
3. クラウド印刷テクノロジーのドッキング (PHP を例にします)
インターフェース名: Cloud.print.do
正式アドレス: https://kop.kuaidihelp.com/api
リクエストメソッド: HTTP POST
リクエストメソッドのエンコード形式: utf-8
パブリックリクエストパラメータ:
名前 | 種類 | 必要か | 説明 |
---|---|---|---|
メソッド | 文字列 | is | APIインターフェース名 |
app_id | 文字列 | は | ですユーザー ID (オープン プラットフォームへの登録時に割り当てられ、コンソールで表示されます) |
sign | string | は、ルール (md5 (app_id + Method + ts + api_key) に従って生成された検証正当性署名です | )) |
ts | string | は、 | 現在のリクエストのタイムスタンプです |
data | string | は、 | JSON形式のリクエストパラメータです設定 |
パブリック応答パラメーター
名前 | タイプ | 必須か | 説明 |
---|---|---|---|
コード | int | はい | レスポンスステータスコード。 0-成功、0 以外-失敗 |
msg | string | Yes | 戻り結果の説明 |
uid | string | Yes | このリクエストの業務フロー 水number |
data | string | は | JSON形式のレスポンスデータ |
リクエストパラメータ
名前 | タイプ | 必須ですか | 説明 |
---|---|---|---|
agent_id | 文字列 | はい | クラウドプリンター番号 |
アクション | 文字列 | は | メソッド識別子 (print.json.cn) です |
print_type | string | は | 1: 最下位の順序 2: 印刷 3: 最下位の順序で印刷します (オプション、デフォルト。 3、タスク内の設定が優先されます) |
batch | string | は、バッチ | |
print_data | 文字列は | です。データ | |
sequence | string | は | 現在/合計、デフォルトは1/1です |
template_id | string | は | テンプレートIDの詳細を表示します |
cp_code | 文字列 | は | エクスプレスブランドです |
pickup_code | string | は | ピックアップコード(オプション)です |
print_type | string | は | です1: 下位の順序 2: 印刷 3: 下位の順序と印刷 (オプション、デフォルト 3) |
user_name | string | は、営業担当者の場合、印刷する人の名前です。携帯電話番号を含めることができます (オプション) | |
notestring | yes | note (optional) | |
goods_namestring | はい | アイテム名(オプション) | |
weight | string | は | 商品重量(オプション)です |
tid | string | は | です(注文番号などの一意の識別子を使用することをお勧めします)になるだろう送信およびコールバックするときに使用されます。このフィールドを返します。このフィールドは注文番号を申請するときにも使用されます) |
受信者 | 文字列 | は | 受信者情報 |
住所 | string | is | 受信者の住所 |
province | string | is | 受信者の都道府県 |
district | string | は | 受信者の郡ですクラス名 |
city | string | は | 受信者の都市名 |
詳細 | 文字列 | は | 受信者の詳細なアドレス |
携帯 | 文字列 | は | 受信者の携帯電話 |
name | string | は | 受信者です名前 |
電話 | 文字列 | は | 受信者の固定電話 |
routing_info | 文字列 | は | 特急ルート情報 |
混載 | string | is | jibao土地情報 |
name | string | is | jibao土地名 |
origin | string | は | ルーティング アウトレットです会社 |
コード | 文字列 | は | ルーティングネットワーク会社番号です |
名前 | 文字列 | は | ルーティングネットワーク会社番号名 |
route_code | string | は | 2、3段落 |
並べ替え | 文字列 | は | 大きな文字と1段落のコード |
名前 | 文字列 | は | の名前です大きな文字で |
送信者文字列は | 送信メッセージです | ||
文字列 | 送信者アドレス|||
string | 送信者の都道府県です|||
string | は | 送信者の郡名です | |
city | string | は | 送信者の都市名です |
detail | string | は、 | 送信者の詳細なアドレス |
mobile | string | は | 送信者の携帯電話 |
名前 | 文字列 | は | に送信された人の名前 |
電話 | string | は | 送信者の固定電話 |
waybill_code | string | は | 運送状番号 |
応答パラメータ
名前 | タイプ | 必須か | 説明 |
---|---|---|---|
ステータス | 文字列 | はい | ステータス |
タスクid | 文字列 | は、 | このリクエストタスクIDです |
は、Java、C#、Python、PHP、Node.js、Curlおよびその他の6つの言語アクセスをサポートしています。以下では、リクエスト送信タスクを示す例としてPHPを取り上げます。コード例。
1. 単一印刷タスク、リクエスト例
$host = "https://kop.kuaidihelp.com/api"; $method = "POST"; $headers = array(); //根据API的要求,定义相对应的Content-Type array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8"); $querys = ""; $bodys = [ "app_id"=>'50001', "method"=>'cloud.print.do', "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79", "ts"=>'1524209949', "data"=>'{ "action":"print.json.cn(菜鸟标准格式JSON)", // "agent_id":"目标打印代理", //必填 "print_type":"打印类型", //1:预览, 2:打印, 3:打印预览. 未设置则默认为3.(任务内设置,则以任务内设置为准) "batch":"", //字符串"true"或者bool值 true则为批量,其他值则为非批量 是否为批量 "print_data": { "sequence": "1/1", //可选,打印文档当前序列:当前/总数,默认1/1 "template_id": "模板id", "cp_code": "快递品牌(提供模板id,此字段会被忽略)",//参照“快递品牌列表”,兼容菜鸟和快宝品牌编码 "pickup_code": "取件码(可选)", "print_type": "1:底单 2:打印 3:底单和打印.(可选,默认3)", "user_name": "打印人的名称,若是业务员,可包括手机号码(可选)", "note": "备注(可选)", "goods_name": "物品名(可选)", "weight": "物品重量(可选)", "tid": "(建议用订单号之类的唯一标识,提交和回调时将返回该字段, 申请单号时也将使用该字段当订单号)", "recipient": { "address": { "city": "宁德市", "detail": "哦里咯啦咯啦", "district": "福鼎市", "province": "福建省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "routing_info": { "consolidation": {"name": "温州转福鼎包(集包名)"}, "origin": {"code": "610025","name": "四川邛崃公司"}, "route_code": "009 030(二三段码)", "sortation": {"name": "福鼎351(大字 一段码)"} }, "sender": { "address": { "city": "成都市", "detail": "兴民街55号", "district": "邛崃市", "province": "四川省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "waybill_code": "333333333333" } }' ]; $bodys = http_build_query($bodys); $url = $host; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys); var_dump(curl_exec($curl));
2. バッチ印刷タスク、リクエスト例
$host = "https://kop.kuaidihelp.com/api"; $method = "POST"; $headers = array(); //根据API的要求,定义相对应的Content-Type array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8"); $querys = ""; $bodys = [ "app_id"=>'50001', "method"=>'cloud.print.do', "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79", "ts"=>'1524209949', "data"=>'{ "action":"print.json.cn(菜鸟标准格式JSON)", // "agent_id":"目标打印代理", //必填 "print_type":"打印类型", //1:预览, 2:打印, 3:打印预览. 未设置则默认为3.(任务内设置,则以任务内设置为准) "batch":"", //字符串"true"或者bool值 true则为批量,其他值则为非批量 是否为批量 "print_data": [ { "cod_amount": 200, //如果是货到付款服务,则使用该字段 "sequence": "1/1", //可选,打印文档当前序列:当前/总数,默认1/1 "template_id": "模板id", "cp_code": "快递品牌",//参照“快递品牌列表”,兼容菜鸟和快宝品牌编码 "pickup_code": "取件码(可选)", "print_type": "1:底单 2:打印 3:底单和打印.(可选,默认3)", "user_name": "打印人的名称,若是业务员,可包括手机号码(可选)", "note": "备注(可选)", "goods_name": "物品名(可选)", "weight": "物品重量(可选)", "tid": "(建议用订单号之类的唯一标识,提交和回调时将返回该字段, 申请单号时也将使用该字段当订单号)", "recipient": { "address": { "city": "宁德市", "detail": "哦里咯啦咯啦", "district": "福鼎市", "province": "福建省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "routing_info": { "consolidation": { "name": "温州转福鼎包(集包名)" }, "origin": { "code": "610025", "name": "四川邛崃公司" }, "route_code": "009 030(二三段码)", "sortation": { "name": "福鼎351(大字 一段码)" } }, "sender": { "address": { "city": "成都市", "detail": "兴民街55号", "district": "邛崃市", "province": "四川省" }, "mobile": "13344556677", "name": "XXX", "phone": "" }, "waybill_code": "333333333333" } ] }' ]; $bodys = http_build_query($bodys); $url = $host; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys); var_dump(curl_exec($curl));
3. 「Micro Express Mailbox」(WeChat公式アカウント)で設定された追跡番号ソースと組み合わせる追跡番号、印刷テンプレート、ルーティング情報の例
$host = "https://kop.kuaidihelp.com/api"; $method = "POST"; $headers = array(); //根据API的要求,定义相对应的Content-Type array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8"); $querys = ""; $bodys = [ "app_id"=>'50001', "method"=>'cloud.print.do', "sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79", "ts"=>'1524209949', "data"=>'{ "action":"print.json.cn(菜鸟标准格式JSON)", // "agent_id":"目标打印代理", //必填 "print_type":"打印类型", //1:预览, 2:打印, 3:打印预览. 未设置则默认为3.(任务内设置,则以任务内设置为准) "batch":"", //字符串"true"或者bool值 true则为批量,其他值则为非批量 是否为批量 "print_data": { "cod_amount": 200, //如果是货到付款服务,则使用该字段 "sequence": "1/1", //可选,打印文档当前序列:当前/总数,默认1/1 "template_id": "模板id", "cp_code": "快递品牌(提供模板id,此字段会被忽略)",//参照“快递品牌列表”,兼容菜鸟和快宝品牌编码 "pickup_code": "取件码(可选)", "print_type": "1:底单 2:打印 3:底单和打印.(可选,默认3)", "user_name": "打印人的名称,若是业务员,可包括手机号码(可选)", "note": "备注(可选)", "goods_name": "物品名(可选)", "weight": "物品重量(可选)", "tid": "(建议用订单号之类的唯一标识,提交和回调时将返回该字段, 申请单号时也将使用该字段当订单号)", "sender": { "address": { "province": "江西省", "city": "赣州市", "district": "寻乌县", "detail": "寻乌县" }, "mobile": "13344556677", "phone": "", "name": "XXX" }, "recipient": { "address": { "province": "江西省", "city": "宜春市", "district": "袁州区", "detail": "秀江外滩电13栋" }, "mobile": "13344556677", "phone": "", "name": "XXX" }, "routing_info": {}, "waybill_code": "" //留空!留空!留空! } }' ]; $bodys = http_build_query($bodys); $url = $host; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); if (1 == strpos("$".$host, "https://")) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys); var_dump(curl_exec($curl));
以上がPHP コード例 - 電子フォーム印刷の一般的なソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。