提供Web API②:印刷データのアップロード

※この記事はSmartLabel Web API用アカウントをお持ちの「開発会社」様向けの内容となります。SmartLabel Web APIの概要についてはこちらからご確認ください。
また、本記事内に記載されている用語についての説明はこちらをご覧ください。

印刷データのアップロード方法

SmartLabel Web APIを利用して、差し込みに利用する印刷データをアップロードします。

【Web APIのURL、POST情報、戻り値】

URL https://www.smartlabel.jp/smartapi/uploadFile/
POST情報
キー 備考
dev_code 開発者ID 必須
api_user_id 連携利用ID 必須
api_user_authid 連携利用会社認証用ハッシュ値 必須

<印刷データにCSV、Excelファイルを利用する場合>

キー 備考
print_data 印刷データのファイル
[ファイルタイプ]

●カンマ区切り、タブ区切りのテキストファイル
●エクセルファイル

必須
1回のアップロードでは1ファイルのみアップロード可
print_text_info 対象のファイルがカンマ区切り、タブ区切りのテキストファイルの場合に情報を指定

※「テキストファイルの付加情報」を参照

 どちらかの情報が必須
print_excel_info 対象のファイルがエクセルファイルの場合に情報を指定

※「エクセルファイルの付加情報」を参照

 

[テキストファイルの付加情報]
delimiter 区切り文字の指定
カンマ区切り:comma
タブ区切り:tab
「comma」もしくは「tab」をご指定ください。
title_row_no 項目名(各列のタイトル)の開始行の番号
(テキストファイルの場合は、「1」を指定する場合が多いと推測します)

※項目名が無い場合は「0」を指定してください。

title_col_no 項目名(各列のタイトル)の開始列の番号
(テキストファイルの場合は、「1」を指定する場合が多いと推測します)

JSON形式で上記の情報をまとめ、「print_text_info」の値としてPOSTしてください。
利用方法は、PHPのサンプルを参照ください。

 

[エクセルファイルの付加情報]
sheetName シート名を指定ください。
title_row_no 項目名(各列のタイトル)の開始行の番号を指定してください。
title_col_no 項目名(各列のタイトル)の開始列の番号を指定してください。

JSON形式で上記の情報をまとめ、「print_excel_info」の値としてPOSTしてください。
利用方法は、PHPのサンプルを参照ください。

<印刷データにJSONデータを利用する場合>

キー 備考
print_data_json JSONデータ

JSONデータは、以下のように「title」と「data」部分に分けて形成してください。

{
"title":[	
	"住所",
	"会社名",
	"担当者名"
],
"data":[	
	[
	"愛知県東区葵3ー14ー12",
	"AA株式会社",
	"山田太郎"
	],
	[
	"愛知県東区葵3ー14ー13",
	"BB株式会社",
	"山田次郎"
	]
]
}
戻り値 JSON形式「{“printDataId”:”(アップロードファイルのID)”}」の情報を返します。

●サンプル(PHP)

<?php
$url = ‘https://www.smartlabel.jp/smartapi/uploadFile/’;

//アップロードする対象のファイル
$targetFile = ‘●●’; //印刷データファイルのパス
$filename = $fileName; //ファイル名

$post_text = ”;
$post_excel = ”;
$print_text_array = array();
$print_excel_array = array();

//カンマ区切りテキストファイルの場合
$print_text_array[“delimiter”] = ‘comma’;
$print_text_array[“title_row_no”] = ‘1’;
$print_text_array[“title_col_no”] = ‘1’;
$post_text = json_encode($print_text_array);

//エクセルファイルの場合
$print_excel_array[“sheetName”] = ‘Sheet1’;
$print_excel_array[“title_row_no”] = ‘1’;
$print_excel_array[“title_col_no”] = ‘1’;
$post_excel = json_encode($print_excel_array);

$data = array(
//開発者ID
“dev_code” => (開発者ID),
//連携利用ID
“api_user_id” => (連携利用ID),
//連携利用会社認証用ハッシュ値
“api_user_authid” => (連携利用会社認証用ハッシュ値),
//アップロードファイル
“print_data” = ‘@’.$targetFile.’;filename=’. $filename,
//テキストファイルだった場合
“print_text_info” => $post_text,
//エクセルファイルだった場合
“print_excel_info” => $post_excel
);

$conn = curl_init();
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);
curl_setopt($conn, CURLOPT_URL, $url);
curl_setopt($conn, CURLOPT_POST, true);
curl_setopt($conn, CURLOPT_POSTFIELDS, $data);
//アクセス元のURLを指定してください
curl_setopt($conn, CURLOPT_REFERER, ‘http://●●●●’);
//戻り値はJSON形式です
$res = curl_exec($conn);
$res_array = json_decode($res,true);
curl_close($conn);
?>

 

取得した「printDataId」は差し込み印刷の時に指定をします。詳細は「提供API③:差し込み印刷」をご覧ください。

※印刷データは、弊社サーバ上で暗号化し保存しますので、ご安心ください。
※アップロードされたデータは1日間のみ利用可能です。

関連記事