ホームページ > バックエンド開発 > PHPチュートリアル > PHP コード例 - 電子フォーム印刷の一般的なソリューション

PHP コード例 - 電子フォーム印刷の一般的なソリューション

不言
リリース: 2023-03-24 19:16:01
オリジナル
5329 人が閲覧しました

この記事では、電子請求書印刷の一般的なソリューションを PHP コード例とともに紹介します。必要な方は参考にしてください。

物流、電子商取引、ERP。倉庫業やその他の関連する運送業では、電子請求書印刷の使用が必要です。印刷ニーズを満たすために、さまざまな電子請求書プリンター、電子請求書印刷ソフトウェア、電子請求書印刷ツールが市販されていますが、それらはあまり優れたものではありません。 。携帯電話の電子請求書印刷の一般的なソリューションは次のとおりです: Kuaibao 電子請求書クラウド印刷の利点: プリンターのモデルとブランドに制限がなく、すべての主要な運送会社の電子請求書を印刷できます。 Cainiao 電子請求書は、バッチ印刷、リモート印刷、および電子顔フォームのプリンター共有をサポートしています。


1.クラウド印刷の紹介

Kuaibao電子フォームクラウド印刷は、ワンクリックで通常のサーマルプリンターをクラウドに接続し、パッケージ化されたプリンター管理とタスクなどの印刷インターフェースを提供します送信とタスク ステータスの更新により、開発者は完全に機能する使いやすいモバイル電子フォーム印刷プログラムを 1 日で開発できます。次のような特徴があります:

1. シンプルなアクセス: 通常のプリンターがモバイル共有クラウドに接続されています

2. 非常に高速なリクエスト: 印刷は 1 回の http リクエストで完了できます

3. 非常に高速なカスタマイズ: 電子フォーム印刷ソフトウェアは半日で利用可能になります


2. クラウド印刷の使用方法

Kuaibao クラウド印刷には 6 つの API が含まれており、さまざまなシナリオで使用され、使用プロセスに応じて異なるインターフェースを備えています。ソフトウェア


クラウド印刷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形式のレスポンスデータ

リクエストパラメータ


アドレス送信者アドレスprovince送信者の都道府県ですDistrict
名前 タイプ 必須ですか 説明
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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート