こんにちは ゲストさん

一冊から製本して発送できるオンデマンド印刷。高品質で格安。PDFで入稿/最短翌日発送。

1冊から製本。製本のことなら製本直送.com

製本直送.com APIリファレンス NAV Navbar

APIリファレンス概要

本仕様書は、製本直送.comのAPI仕様に関するものです。

メール設定や製本料金の支払いについては事務局までお問い合わせください。(info@seichoku.com)

機能名 API名 概要
注文要求API Type1 入稿登録済みの原稿に対して、注文を出すAPIです。
原稿登録&注文要求API Type4 PDFの入稿登録から注文までを同時に行うAPIです。
原稿一覧取得API Type5 登録済み原稿一覧を取得するAPIです。
原稿登録API Type6 原稿を入稿登録するAPIです。

利用制限および注意事項

  • 入稿PDF仕様(ファイル形式・サイズ、ページ制限)や製本価格・送料は、製本直送.comの通常注文と同様です。
  • 各APIのリクエストパラメータはjsonを利用します。
  • リクエストパラメーターjsonはbase64_encodeする必要があります。
各APIにはテストモードがあります。APIの開発の際はテストモードを利用し、開発完了後に本番モードに切り替えていただけますようお願い致します。 テスト環境へのアクセスにはIP制限をつけております。ご利用前に固定IPアドレスを運営事務局までご連絡下さい。

事前準備

1.API利用申請

APIをご利用いただくには製本直送.comへの申請が必要となります。申請頂いた後にユーザー固有のアクセスキーとシークレットキーを発行いたします。

項目名 概要
アクセスキー API利用者の固有ID
シークレットキー アクセスキーに対する通信時の認証用キー

2.会員IDの確認

製本直送.comで登録したアカウントの会員IDを確認してください。 会員IDは製本直送.comの「会員情報」からご確認いただけます。 会員IDは会員情報に記載の「お客様ID」からSCKを除く数字部分のみとなります。

お客様IDSCK123456の場合APIで利用する会員IDは123456となります。

3.FTPサーバーのご準備(Type4, 6をご利用の場合)

原稿の入稿登録を行うAPI(Type4, Type6)をご利用いただく場合、FTPサーバーをご準備ください。
なお、セキュリティーのため弊社システムからFTPサーバーへのアクセスはパッシブモードになります。
FTPサーバーの設定がアクティブモードの場合は正しく原稿を入稿できないことがございますこと予めご注意ください。

FTPサーバー情報

以下の情報をご連絡ください。

  • FTPホスト
  • FTPユーザー名
  • FTPパスワード
  • FTPポート
  • FTPSの利用の有無
  • 結果レスポンスの受け取りURL
セキュリティ上、FTPサーバーにベーシック認証をつける場合はベーシック認証のユーザー名パスワードも併せてご連絡ください。

4.テスト用アカウントの発行

製本直送APIとの連携開発テストを行うためのテスト環境があります。テスト用のIDとシークレットキーは製本APIのご利用をお申し込み頂いた後に事務局より案内させていただきます。

5.発送完了通知について(任意)

製本発送完了時に、発送完了通知を指定のURLにPOSTします。
発送完了通知を受信されたい方は発送完了通知の受け取りURLをご連絡下さい。

発送完了通知 レスポンスパラメータ

No. 概要 フィールド名 備考
1 発送完了した注文番号 order_id
2 発送方法 delivery_code 1:ヤマトメール便
2:ネコポス
3:宅急便
4:佐川急便(飛脚宅配便)
5:佐川急便(飛脚メール便)
6:佐川急便(飛脚ゆうメール便)
10:ヤマト運輸(ネコポス)
11:福山通運(宅配便)
13:日本郵便(ポスト投函)
14:日本郵便(ゆうパック)
3 お問合せ番号 delivery_number
4 ステータス status 常に4(発送完了)
5 ユーザー側注文番号 user_order_id

Type1 注文要求API

製本直送.comに登録済みの原稿に対して、原稿IDと送付先住所を指定し注文を出すAPIとなります。 ご利用には事前に入稿登録が必要になります。

Type1処理の流れ

注文API

承認タイプを「手動承認」にした場合、API受付後に「API注文一覧からの手動承認」が必要となります。

API仕様

項目 概要
機能 製本直送.comへの注文要求
送信先URL https://www.seichoku.com/api/order.php
文字コード UTF-8
POSTパラメータ名 param

リクエストパラメーター

送信パラメーターサンプル(JSON)

{
  "testmode":1,
  "access_key":"SCAPI0000001",
  "secret_key":"xxxxxxxxxxxxxxxxx",
  "customer_id":1,
  "type":1,
  "order_date":"2017-01-01 00:00:00",
  "express":0,
  "cre_addr":1,
  "pre_regist_addr":0,
  "addr":{
    "zip01":"111",
    "zip02":"2222",
    "pref":"27",
    "addr01":"\u5927\u962a\u5e02\u5317\u533a\u5927\u6df1\u753a",
    "addr02":"3-1 \u30b0\u30e9\u30f3\u30d5\u30ed\u30f3\u30c8\u5927\u962a",
    "tel":"06-6150-2821",
    "name01":"API\u30c6\u30b9\u30c8\u592a\u90ce",
    "name02":"API\u30c6\u30b9\u30c8\u592a\u90ce",
    "email":"apitest@example.com"
  },
  "detail":[
    {
      "draft_id":"1234",
      "quantity":"1"
    },
    {
      "draft_id":"4321",
      "quantity":"1"
    }
  ]
}

リクエスト送信処理サンプル

<?php
$arrData = array(
  'testmode' => 1,
  'access_key' => 'SCAPI0000001',
  'secret_key' => 'xxxxxxxxxxxxxxxxx',
  'customer_id' => 1,
  'type' => 1,
  'order_date' => date('Y-m-d H:i:s'),
  //'order_id' => 'shopid0001',
  'express' => 0,
  'cre_addr' => 1,
  'pre_regist_addr' =>0,
  'addr' => array(
    'zip01' => '111',
    'zip02' => '2222',
    'pref' => '27',
    'addr01' => '大阪市北区大深町',
    'addr02' => '3-1グランフロント大阪',
    'tel' => '06-6150-2821',
    'name01' => 'API',
    'name02' => 'TYPE1 テスト',
    'email' => 'apitest@example.com'
  ),
  'detail' => array(
    // 複数指定が可能です。
    array(
      'draft_id' => '1234',
      'quantity' => '1'
    ),
    array(
      'draft_id' => '1234',
      'quantity' => '1'
    )
  )
);

$url = "https://www.seichoku.com/api/order.php";  //API Type1,3用の送信先URL

$json_data = json_encode($arrData);
$encode_json = base64_encode($json_data);
$postdata = array("param" => $encode_json);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$response = curl_exec($ch);
curl_close($ch);

// 確認用
echo "JSON RESULT:<br/>\n";
print_r($response);
echo "<br/><br/>\n";

$objResponseJson = json_decode(base64_decode($response));

// レスポンス確認用
echo "OBJECT RESULT:<br/>\n";
print_r($objResponseJson);

概要 フィールド名 必須 備考
動作モード指定 testmode 半角数字1桁 0:本番
1:テストモード
テストモードではテストサーバーにリクエストが転送されます
アクセスキー access_key 半角英数字 マイページに記載のAPIアクセスキー
※テスト時はテスト用を入力
シークレットキー secret_key 半角英数字 ご利用開始前にメールでご連絡いたします。
※テスト時はテスト用を入力
会員ID customer_id 半角数字 マイページに記載の会員ID(SCKを除く数字)
※テスト時はテスト用を入力
承認タイプ type 半角数字1桁 1:承認作業不要
3:マイページでの手動承認が必要
承認フラグ approve 半角数字1桁 0:注文を未承認状態で受注します
※上記、承認type3を利用する場合は必須項目です。
注文日時 order_date 半角英数字19桁 yyyy-mm-dd hh:mm:ss
注文番号 order_id 文字列 販売店様側の任意の管理番号。不要の場合は「"order_id" => ''」としてください。
速達フラグ express 半角数字1桁 0:普通
1:速達
2:急行便
3:特急便
送付先登録フラグ cre_addr 半角数字1桁 0:送付先を登録しない
1:送付先を登録する
登録済み送付先ID pre_regist_addr 半角数字 事前登録済み送付先に配送する場合に送付先IDを記入します。送付先IDを使用しない場合は0を設定してください。
登録済み送付先ID一覧
送付先情報 addr - 登録済み送付先ID設定時に必須
下記、送付先情報addr配列を参照。
注文詳細 detail 複数原稿に対応しています。下記、注文詳細detail配列を参照。
API受付後に製造を開始するか否かをマイページから選択できる「承認機能」があります。承認機能を利用する際は承認タイプ`type`を`3`に、承認フラグ`approve`を`0`と設定してください。

送付先情報 addr パラメーター

配送先情報は以下のaddrのパラメーターが必要になります。 事前登録済み送付先ID(pre_regist_addr)を指定する際は不要です。

概要 フィールド名 必須
郵便番号1 zip01 半角数字3桁
郵便番号2 zip02 半角数字4桁
都道府県番号 pref 半角数字固定2桁
送付先住所1 addr01 文字列
送付先住所2 addr02 文字列
送付先電話番号 tel 半角数字一部記号
記号は-のみ許可
受取人の姓 name01 文字列
受取の名 name02 文字列
受取人メールアドレス email メールアドレス

注文詳細 detail パラメーター

注文詳細 detailのパラメーターでは注文対象の原稿IDと注文部数を指定します。

※注文詳細では複数原稿の指定が可能です。detail以下に注文対象毎の配列を配置してください。

概要 フィールド名 必須
原稿ID draft_id 半角数字
注文部数 quantity 半角数字

レスポンスパラメータ

APIリクエスト時に受付レスポンスをJSONで返します。

レスポンス:成功時の返り値

{
  "result":"success",
  "order_id":"xxxxxx",
  "purchase_amount":"xxxxxx",
  "scheduled_shipping_date":"xxxxxx",
}

レスポンス:失敗時の返り値

{
  "result":"failed",
  "errInfo":[
    {
      "err_code":"ED002",
      "err_message":"明細1のquantityが不正です。"
    },
    {
      "err_code":"ED002",
      "err_message":"明細2のquantityが不正です。"
    }
  ]
}

概要 フィールド名 備考
結果コード result - 成功時:success
失敗時:failed
受注番号 order_id - Success時のみ
製本直送受注番号
注文代金 purchase_amount - Success時のみ
発送予定日 scheduled_shipping_date - Success時のみ
エラー情報 errInfo - Failed時のみ
err_code エラーコード表参照
err_message エラーコード表参照

Type4 登録&注文API

PDFの入稿登録から注文までをワンストップで行うAPIとなります。 入稿素材の参照先、入稿仕様、送付先、送付オプションを指定して利用します。

Type4の処理の流れ

入稿&注文API

API仕様

項目 概要
機能 発注者から製本直送.comへの入稿・注文要求
送信先URL https://www.seichoku.com/user_data/setDraft.php
文字コード UTF-8
POSTパラメータ名 param

リクエストパラメータ

送信パラメーターサンプル(JSON)

{
  "testmode":1,
  "access_key":"SCAPI0000001",
  "secret_key":"xxxxxxxxxxxxxxxxxx",
  "customer_id":1,
  "order_id":"shop00111",
  "list":[
    {
      "path":"httpdocs\/ftp_test\/",
      "filename":"test.pdf",
      "easy":0,
      "nocover":0,
      "page_size":4,
      "bind_type":2,
      "bind_direction":1,
      "paper_type":4,
      "text_color_type":1,
      "cover_paper_data":"101,2,1",
      "cover_thick":0,
      "asobi":0,
      "nuritasi":1,
      "zenmen":1,
      "rot_num":1,
      "hyousi_path":"httpdocs\/ftp_test\/cover\/",
      "hyousi_filename":"book_cover.png"
      "bookcover_flg":1,
      "bookcover_paper_data":1,
      "bookcover_path":"httpdocs\/ftp_test\/cover\/",
      "bookcover_filename":"book_cover.png"
    },
    {
      "path":"httpdocs\/ftp_test\/",
      "filename":"test.pdf",
      "easy":0,
      "nocover":0,
      "page_size":4,
      "bind_type":2,
      "bind_direction":1,
      "paper_type":4,
      "text_color_type":1,
      "cover_paper_data":"101,2,1",
      "cover_thick":0,
      "asobi":0,
      "nuritasi":1,
      "zenmen":1,
      "rot_num":1,
      "hyousi_path":"httpdocs\/ftp_test\/cover\/",
      "hyousi_filename":"book.png"
      "bookcover_flg":1,
      "bookcover_paper_data":1,
      "bookcover_path":"httpdocs\/ftp_test\/cover\/",
      "bookcover_filename":"book_cover.png"
    }
  ],
  "haisou":0,
  "cre_adr":0,
  "pre_regist_addr":0,
  "zip01":"532",
  "zip02":"0003",
  "pref":"27",
  "addr01":"\u5927\u962a\u5e02\u5317\u533a\u5927\u6df1\u753a",
  "addr02":"3-1 \u30b0\u30e9\u30f3\u30d5\u30ed\u30f3\u30c8\u5927\u962a",
  "tel":"0661502821",
  "name01":"\u30c6\u30b9\u30c8\u592a\u90ce",
  "name02":"\u30c6\u30b9\u30c8\u592a\u90ce",
  "email":"apitest@example.com"
}

リクエスト送信処理サンプル

$arrData = array(
  "testmode" => 1,
  "access_key"=>"SCAPI0000001",
  "secret_key"=>"xxxxxxxxxxxxxxxxxx",
  "customer_id"=>1,
  "order_id" => 'shop-00111',
  "list" => array(
    // 複数原稿の入稿が可能
    array(
      'path' => 'httpdocs/ftp_test/',
      'filename'=>'test.pdf',
      'easy' => 0,
      'nocover' => 0,
      'page_size' => 4,
      //'niniwidth' => '',
      //'niniheight' => '',
      'bind_type' => 2,
      'bind_direction' => 1,
      'paper_type' => 4,
      'text_color_type' => 1,
      'cover_paper_data' => '101,2,1',
      'cover_thick' => 0,
      'asobi' => 0,
      //'uracover' => 1,
      'nuritasi' => 1,
      'zenmen' => 1,
      'rot_num' => 1,
      'hyousi_path' => 'httpdocs/ftp_test/cover/',
      'hyousi_filename' => 'book.png',
      'bookcover_flg' => 1,
      'bookcover_paper_data' => 1,
      'bookcover_path' => 'httpdocs/ftp_test/cover/',
      'bookcover_filename' => 'book_cover.png',
    ),
    array(
      'path' => 'httpdocs/ftp_test/',
      'filename'=>'test.pdf',
      'easy' => 0,
      'nocover' => 0,
      'page_size' => 4,
      //'niniwidth' => '',
      //'niniheight' => '',
      'bind_type' => 2,
      'bind_direction' => 1,
      'paper_type' => 4,
      'text_color_type' => 1,
      'cover_paper_data' => '101,2,1',
      'cover_thick' => 0,
      'asobi' => 0,
      //'uracover' => 1,
      'nuritasi' => 1,
      'zenmen' => 1,
      'rot_num' => 1,
      'hyousi_path' => 'httpdocs/ftp_test/cover/',
      'hyousi_filename' => 'book.png',
      'bookcover_flg' => 1,
      'bookcover_paper_data' => 1,
      'bookcover_path' => 'httpdocs/ftp_test/cover/',
      'bookcover_filename' => 'book_cover.png',
    ),
  ),
  'haisou' => 0,
  'cre_adr' => 0,
  'pre_regist_addr' => 0,
  'zip01' => '532',
  'zip02' => '0003',
  'pref' => '27',
  'addr01' => '大阪市北区大深町',
  'addr02' => '3-1グランフロント大阪',
  'tel' => '06-6150-2821',
  'name01' => 'API',
  'name02' => 'TYPE4 テスト',
  'email' => 'apitest@example.com',
);
$url = "https://www.seichoku.com/user_data/setDraft.php"; //API Type4用の送信先URL

$json_data = json_encode($arrData);
$encode_json = base64_encode($json_data);
$postdata = array("param" => $encode_json);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$response = curl_exec($ch);
curl_close($ch);

// レスポンス確認用
// ここでのレスポンスは“受付レスポンス”であり“入稿結果レスポンス”ではありません。
echo "JSON RESULT:<br/>\n";
print_r($response);
echo "<br/><br/>\n";

$objResponseJson = json_decode(base64_decode($response));

echo "OBJECT RESULT:<br/>\n";
print_r($objResponseJson);
概要 フィールド名 必須 備考
動作モード指定 testmode 半角数字1桁 0:本番
1:テストモード
※テスト時はテストサーバーにデータが転送されます。
アクセスキー access_key 半角英数字 マイページに記載のアクセスキー
※テスト時はテスト用を入力
シークレットキー secret_key 半角英数字 ご利用開始時にメールでご連絡したものを記入
※テスト時はテスト用を入力
会員ID customer_id 半角数字 マイページに記載の会員ID(SCKを除く数字のみ)
※テスト時はテスト用を入力
注文番号 order_id 文字列 販売店様側の任意の管理番号。不要の場合は「"order_id" => ''」としてください。
速達フラグ haisou 半角数字1桁 0:普通
1:速達
2:急行便
3:特急便
送付先登録フラグ cre_addr 半角数字1桁 0:送付先を登録しない
1:送付先を登録する
登録済み送付先ID pre_regist_addr 半角数字 事前に登録済みの送付先に送付する場合に送付先IDを記入。
送付先IDを使用しない場合は0。
登録済み送付先ID一覧
郵便番号1 zip01 半角数字3桁 ※登録済み送付先IDpre_regist_addrが0の場合必須。
郵便番号2 zip02 半角数字4桁 ※登録済み送付先IDpre_regist_addrが0の場合必須。
都道府県番号 pref 半角数字固定2桁 ※登録済み送付先IDpre_regist_addrが0の場合必須。
送付先住所1 addr01 文字列 ※登録済み送付先IDpre_regist_addrが0の場合必須。
送付先住所2 addr02 文字列 ※登録済み送付先IDpre_regist_addrが0の場合必須。
送付先電話番号 tel 半角数字一部記号 記号は - のみ許可
※登録済み送付先IDpre_regist_addrが0の場合必須。
受取人の姓 name01 文字列 ※登録済み送付先ID:pre_regist_addrが0の場合必須。
受取人の名 name02 文字列 ※登録済み送付先ID:pre_regist_addrが0の場合必須。
受取人連絡用email email メールアドレス
製本情報 list 製本設定の指定。複数原稿対応。製本情報listパラメーターを参照。

製本情報 list パラメーター

製本情報listのパラメーターについて

※複数配列指定での複数原稿入稿に対応しています。

概要 フィールド名 必須 備考
原稿PATH path 文字列 FTPドキュメントルートからの原稿PDFパス
ファイル名 filename 半角英数字 原稿PDFファイル名
用紙サイズ page_size 半角数字1桁 用紙サイズ参照
任意サイズ指定(横幅) niniwidth 半角数字 仕上がり横幅(mm)
※サイズ自由(page_size:10)の際必須。
任意サイズ指定(縦幅) niniheight 半角数字 仕上がり縦幅(mm)
※サイズ自由(page_size:10)の際必須。
綴じ方 bind_type 半角数字1桁 1:中綴じ
2:無線綴じ
※中綴じの場合、表紙の厚さは中綴じ専用表紙(cover_thick=2)のみ選択可能
綴じ方向 bind_direction 半角数字1桁 1:右綴じ
2:左綴じ
本文用紙 paper_type 半角数字 巻末の用紙種類参照
本文仕上がり色指定 text_color_type 半角数字 1:カラー
2:モノクロ
遊び紙 asobi 半角数字1桁 0:遊び紙なし
1:遊び紙あり(水色)
2:遊び紙あり(アイボリー)
塗り足し nuritasi 半角数字1桁 0:塗り足しなし
1:塗り足しあり
全面印刷 zenmen 半角数字1桁 印刷カバー率が50%を超える場合は1、超えない場合は0
注文冊数 rot_num 半角数字 注文冊数
表紙の種類 cover_paper_data カンマ区切りの半角数字 表紙の種類・加工参照
表紙の厚さ cover_thick 半角数字1桁 - 無線綴じ(bind_type=2)の場合
0:無線綴じ厚め
1:無線綴じ柔らかめ
- 中綴じ(bind_type=1)の場合
2:中綴じ専用表紙
表紙自動コース指定 easy 半角数字1桁 1:表紙自動コース(PDFの1枚目が表紙)
0:それ以外
表紙不要コース指定 nocover 半角数字1桁 1:表紙不要コース
0:それ以外
ウラ表紙
(表紙自動コース)
uracover 半角数字1桁 0:ウラ表紙白紙
1:PDFの最後のページをウラ表紙に割り当てる
※表紙自動コース(easy=1, nocover=0)の場合必須
表紙画像PATH hyousi_path 文字列 表紙画像ファイル(jpg,png)が置かれているFTPドキュメントルートからのPATH
※表紙指定コース(easy=0, nocover=0)の場合必須。
表紙画像のファイル名 hyousi_filename 半角英数字 表紙画像ファイル名
※表紙指定コース(easy=0, nocover=0)の場合必須。
ブックカバー使用フラグ bookcover_flg 半角数字1桁 0または未入力:使用しない
1:使用する
ブックカバーの種類 bookcover_paper_data 半角数字1桁 1:ブックカバーカラー&ラミネート加工(グロス)
2:ブックカバーカラー&ラミネート加工(マット)
3:ブックカバーモノクロ&ラミネート加工(グロス)
4:ブックカバーモノクロ&ラミネート加工(マット)
※ブックカバー使用時(bookcover_flg=1)の場合必須。
ブックカバーPATH bookcover_path 文字列 ※ブックカバー使用時(bookcover_flg=1)の場合必須。
ブックカバー画像ファイル(jpg,png)が置かれているFTPドキュメントルートからのPATH
ブックカバー画像のファイル名 bookcover_filename 半角英数字 ※ブックカバー使用時(bookcover_flg=1)の場合必須。
ブックカバー画像ファイル名
※表示画像ファイルは用紙サイズよりも周囲(上下左右)3mmずつ大きく作成する必要があります(塗り足し分)。

レスポンスパラメーター

レスポンスサンプル(成功)

{
  "result":"success",
  "resultInfo":{
    "count": 2,
    "list":[
      {...},
      {...}
    ],"user_order_id":"print:XX"
  }
}

レスポンスサンプル(失敗)

{
  "result":"failed",
  "errInfo":{
    {
      "err_code":"ED002",
      "err_mes":"明細1のquantityが不正です。"
    },
    {...},
    {...}
  ,"user_order_id":"print:XX"}
}
概要 フィールド名 備考
結果コード result - 成功時:success
失敗時:failed
エラー情報 errInfo - Failed時のみ
err_code エラーコード参照
err_message エラーコード参照

入稿&注文結果通知

概要 フィールド名 - - 備考
結果コード result 成功時:success
失敗時:failed
エラー情報 errInfo Failed時のみ
入稿結果情報 resultInfo Success時のみ
count 登録件数
list 原稿情報
id 原稿ID
customer_id 会員ID
file_name 原稿ファイル名
thumbnail 原稿サムネイル画像ファイル名
price 製本原価(税込み、円)
page_size 用紙サイズID
用紙サイズ参照
page_size_x 用紙任意サイズ:縦
page_size_y 用紙任意サイズ:横
page_num ページ数
text_paper_type 用紙の種類
※「用紙種類」参照
text_color_type 1:カラー
2:モノクロ
cover_paper_data 表紙の種類
表紙の種類・加工参照
cover_thick 0:表紙厚め
1:表紙薄め
bind_type 1:中綴じ
2:無線綴じ
bind_direction 1:右綴じ
2:左綴じ
zenmen 印刷カバー率
0:50%未満
1:50%以上
bookcover 0:ブックカバー未使用
1:ブックカバー使用
bookcover_paper_data 0:ブックカバー未使用
1:ブックカバーカラー&ラミネート加工(グロス)
2:ブックカバーカラー&ラミネート加工(マット)
3:ブックカバーモノクロ&ラミネート加工(グロス)
4:ブックカバーモノクロ&ラミネート加工(マット)
asobi 0:遊び紙なし
1:遊び紙あり(水色)
2:遊び紙あり(アイボリー)
cource 1:表紙不要コース
2:表紙自動コース
3:表紙作成コース
memo メモ
create_date 作成日
order_id 注文番号
user_order_id APIユーザー指定の注文番号
scheduled_shipping_date 発送予定日
purchase_amount 注文代金
split_index 内部値 *API利用には影響しません。

結果レスポンスのデータ形式について

レスポンスパラメーターのデコード処理サンプル

<?php

// POSTされてきた値の取得
$param = htmlspecialchars(trim($_POST['param']));

// jsonオブジェクトとして処理する場合
$objParam = base64_decode($param);

// 配列として処理する場合
$arrParam = json_decode(base64_decode($param));

// JSONデータをログ出し
$filepath = "log.txt";
$fp = fopen($filepath, "a+");
$log = print_r($objParam, true).PHP_EOL;
fwrite($fp, $log);
fclose($fp);

// 配列化データをログ出し
$filepath2 = "log2.txt";
$fp2 = fopen($filepath2, "a+");
$log2 = print_r($arrParam, true).PHP_EOL;
fwrite($fp2, $log2);
fclose($fp2);

“結果レスポンス”は、APIお申込時にご連絡いただいた「結果レスポンスの受け取りURL」に対してjsonデータをbase64エンコードしたものをパラメータ名[param]としてPOST送信しているため、受け取ったPOST値をbase64デコードしてjsonデータを取得することが可能となります。

結果レスポンスにて原稿作成に失敗した場合、入稿原稿を確認し再度APIリクエストを行う必要があります。

Type5 原稿一覧取得API

製本直送.comに登録済みの原稿を一覧で取得するAPIとなります。

API仕様

項目 概要
機能 製本直送.comへ登録済みの原稿リストを取得する
送信先URL https://www.seichoku.com/api/getDraftList.php
文字コード UTF-8
POSTパラメータ名 param

リクエストパラメーター

APIリクエストサンプル

<?php
$arrData = array(
  "testmode" => 1,
  "access_key" => 'SCAPI0000001',
  "secret_key" => 'xxxxxxxxxxxxxxxxx',
  "customer_id" => 1,
);

//API Type5用の送信先URL
$url = "https://www.seichoku.com/api/getDraftList.php";

$json_data = json_encode($arrData);
$encode_json = base64_encode($json_data);
$postdata = array("param" => $encode_json);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$response = curl_exec($ch);
curl_close($ch);

// 確認用
echo "JSON RESULT:<br/>\n";
print_r($response);
echo "<br/><br/>\n";

$objResponseJson = json_decode(base64_decode($response));

echo "OBJECT RESULT:<br/>\n";
print_r($objResponseJson);
概要 フィールド名 必須 備考
動作モード testmode 半角数字固定1桁 0:本番
1:テストモード
※テスト時はテストサーバーにデータが送信されます。
APIアクセスキー access_key 半角英数字 製本直送.comのマイページに記載のものを記入
※テスト時はテスト用を入力
APIシークレットキー secret_key 半角英数字 ご利用開始時にメールでご連絡したものを記入
※テスト時はテスト用を入力
会員ID customer_id 半角数字 製本直送.comのマイページに記載のものを記入(SCKを除く数字のみ)
※テスト時はテスト用を入力

レスポンスパラメーター

成功時レスポンス

{
  "result":"success",
  "count":"1",
  "list":[
    {
      "id":"2275",
      "customer_id":"1",
      "file_name":"test.pdf",
      "thumbnail":"hxlmiKWQMB_s.png",
      "price":"200",
      "page_size":"1",
      "page_size_x":null,
      "page_size_y":null,
      "page_num":"4",
      "text_paper_type":"16",
      "text_color_type":"1",
      "cover_paper_data":"100",
      "cover_thick":"1",
      "bind_type":"1",
      "bind_direction":"2",
      "zenmen":"1",
      "bookcover":"0",
      "asobi":"0",
      "course":"3",
      "memo":null,
      "create_date":"2015-05-12 15:57:02",
      "order_id":2825
      }
    ]
}

失敗時レスポンス

{
  "result":"failed",
  "errInfo":[
    {
      "err_code":"ED002",
      "err_message":"明細1のquantityが不正です。"
    },
    ...
  ]
}
概要 フィールド名 - 備考
結果コード result 成功時:success
失敗時:failed
エラー時 errInfo Failed時のみ
err_code エラーコード
エラーコード参照
err_message エラーメッセージ
エラーコード参照
成功時 list Success時のみ
id 原稿ID
customer_id 会員ID
file_name 原稿ファイル名
thumbnail 原稿サムネイル画像ファイル名
price 製本原価(税込み、円)
page_size 用紙サイズID
用紙サイズ参照
page_num ページ数
text_paper_type 用紙の種類
用紙種類参照
text_color_type 1:カラー
2:モノクロ
cover_paper_data 表紙の種類
表紙の種類・加工
cover_thick 0:表紙厚め
1:表紙薄め
bind_type 1:中綴じ
2:無線綴じ
bind_direction 1:右綴じ
2:左綴じ
zenmen 印刷カバー率
0:50%未満
1:50%以上
asobi 0:遊び紙なし
1:遊び紙あり(水色)
2:遊び紙あり(アイボリー)
cource 1:表紙不要コース
2:表紙自動コース
3:表紙作成コース
memo メモ
create_date 作成日

Type6 原稿登録

製本直送.comに原稿を入稿登録するAPIとなります。

API仕様

項目 概要
機能 製本直送.comへの原稿登録要求
送信先URL https://www.seichoku.com/user_data/registerDraft.php
文字コード UTF-8
POSTパラメータ名 param

リクエストパラメーター

<?php
$arrData = array(
  "testmode" => 1,
  "access_key"=>"SCAPI0000001",
  "secret_key"=>"xxxxxxxxxxxxxxxxxx",
  "customer_id"=>1,
  "list" => array(
    array(
      'path' => 'httpdocs/ftp_test/',
      'filename'=>'test.pdf',
      'easy' => 0,
      'nocover' => 0,
      'page_size' => 4,
      //'niniwidth' => '',
      //'niniheight' => '',
      'bind_type' => 2,
      'bind_direction' => 1,
      'paper_type' => 4,
      'text_color_type' => 1,
      'cover_paper_data' => '101,2,1',
      'cover_thick' => 0,
      'asobi' => 0,
      //'uracover' => 1,
      'nuritasi' => 1,
      'zenmen' => 1,
      'rot_num' => 1,
      'hyousi_path' => 'httpdocs/ftp_test/cover/',
      'hyousi_filename' => 'book.png'
      'bookcover_flg' => 1,
      'bookcover_paper_data' => 1,
      'bookcover_path' => 'httpdocs/ftp_test/cover/',
      'bookcover_filename' => 'book_cover.png'
    )
  )
);

//API Type6用の送信先URL
$url = "https://www.seichoku.com/user_data/registerDraft.php "; 

$json_data = json_encode($arrData);
$encode_json = base64_encode($json_data);
$postdata = array("param" => $encode_json);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$response = curl_exec($ch);
curl_close($ch);

// 確認用
echo "JSON RESULT:<br/>\n";
print_r($response);
echo "<br/><br/>\n";

$objResponseJson = json_decode(base64_decode($response));
// レスポンス確認用
echo "OBJECT RESULT:<br/>\n";
print_r($objResponseJson);

概要 フィールド名 必須 備考
動作モード指定 testmode 半角数字1桁 0:本番
1:テストモード
※テスト時はテストサーバーにデータが転送されます。
アクセスキー access_key 半角英数字 マイページに記載のアクセスキー
※テスト時はテスト用を入力
シークレットキー secret_key 半角英数字 ご利用開始時にメールでご連絡したものを記入
※テスト時はテスト用を入力
会員ID customer_id 半角数字 マイページに記載の会員ID(SCKを除く数字のみ)
※テスト時はテスト用を入力
製本情報 list - 製本仕様の指定です。下記製本情報listパラメーターを参照。

製本情報listパラメーター

製本情報listのパラメーターについて

概要 フィールド名 必須 備考
原稿PATH path 文字列 FTPドキュメントルートからの原稿PDFパス
ファイル名 filename 半角英数字 原稿PDFファイル名
用紙サイズ page_size 半角数字1桁 用紙サイズ参照
任意サイズ指定(横幅) niniwidth 半角数字 仕上がり横幅(mm)
※サイズ自由(page_size:10)の際必須
任意サイズ指定(縦幅) niniheight 半角数字 仕上がり縦幅(mm)
※サイズ自由(page_size:10)の際必須
綴じ方 bind_type 半角数字1桁 1:中綴じ
2:無線綴じ
※中綴じの場合、表紙の厚さは中綴じ専用表紙(cover_thick=2)のみ選択可能
綴じ方向 bind_direction 半角数字1桁 1:右綴じ2:左綴じ
本文用紙 paper_type 半角数字 用紙種類参照
本文仕上がり色指定 text_color_type 半角数字 1:カラー
2:モノクロ
遊び紙 asobi 半角数字1桁 0:遊び紙なし
1:遊び紙あり(水色)
2:遊び紙あり(アイボリー)
塗り足し nuritasi 半角数字1桁 0:塗り足しなし
1:塗り足しあり
全面印刷 zenmen 半角数字1桁 印刷カバー率が50%を超える場合は1、超えない場合は0
注文冊数 rot_num 半角数字 注文冊数
表紙の種類 cover_paper_data カンマ区切りの半角数字 表紙の種類・加工
表紙の厚さ cover_thick 半角数字1桁 - 無線綴じ(bind_type=2)の場合
0:無線綴じ厚め
1:無線綴じ柔らかめ
- 中綴じ(bind_type=1)の場合
2:中綴じ専用表紙
表紙自動コース指定 easy 半角数字1桁 1:表紙自動コース(PDFの1枚目が表紙)
0:それ以外
表紙不要コース指定 nocover 半角数字1桁 1:表紙不要コース
0:それ以外
ウラ表紙
(表紙自動コース)
uracover 半角数字1桁 0:ウラ表紙白紙
1:PDFの最後のページをウラ表紙に割り当てる
※表紙自動コース(easy=1, nocover=0)の場合必須
表紙画像PATH hyousi_path 文字列 ※表紙指定コース(easy=0, nocover=0)の場合必須。
表紙画像ファイル(jpg,png)が置かれているFTPドキュメントルートからのPATH
表紙画像のファイル名 hyousi_filename 半角英数字 ※表紙指定コース(easy=0, nocover=0)の場合必須。
表紙画像ファイル名
ブックカバー使用フラグ bookcover_flg 半角数字1桁 0または未入力:使用しない
1:使用する
ブックカバーの種類 bookcover_paper_data 半角数字1桁 1:ブックカバーカラー&ラミネート加工(グロス)
2:ブックカバーカラー&ラミネート加工(マット)
3:ブックカバーモノクロ&ラミネート加工(グロス)
4:ブックカバーモノクロ&ラミネート加工(マット)
※ブックカバー使用時(bookcover_flg=1)の場合必須。
ブックカバーPATH bookcover_path 文字列 ※ブックカバー使用時(bookcover_flg=1)の場合必須。
ブックカバー画像ファイル(jpg,png)が置かれているFTPドキュメントルートからのPATH
ブックカバー画像のファイル名 bookcover_filename 半角英数字 ※ブックカバー使用時(bookcover_flg=1)の場合必須。
ブックカバー画像ファイル名
※表示画像ファイルは用紙サイズよりも周囲(上下左右)3mmずつ大きく作成する必要があります(塗り足し分)。

レスポンスパラメーター(API受付)

API受付成功時

{
  "result":"success",
}

API受付失敗時

{
  "result":"failed",
  "errInfo":[
    {
      "err_code":"ED002",
      "err_message":"明細1のquantityが不正です。"
    },
    ...
  ]
}
概要 フィールド名 備考
結果コード result - 成功時:success
失敗時:failed
エラー情報 errInfo - Failed時のみ
err_code エラーコード表参照
err_message エラーコード表参照

入稿結果通知

入稿成功時

{
  "result":"success",
  "resultInfo":
  {
    "list":[
      {
        "id":"2275",
        "customer_id":"1",
        "file_name":"test.pdf",
        "thumbnail":"hxlmiKWQMB_s.png",
        "price":"200",
        "page_size":"1",
        "page_num":"4",
        "text_paper_type":"16",
        "text_color_type":"1",
        "cover_paper_data":"100",
        "cover_thick":"1",
        "bind_type":"1",
        "bind_direction":"2",
        "zenmen":"1",
        "bookcover_paper_data":"1",
        "asobi":"0",
        "course":"3",
        "create_date":"2015-05-12 15:57:02"
      }
    ]
  }
}

入稿失敗時

{
  "result":"failed",
  "errInfo":[
    {
      "err_code":"ED002",
      "err_message":"明細1のquantityが不正です。"
    }
  ]
}
概要 フィールド名 - - 備考
結果コード result 成功時:success
失敗時:failed
エラー時 errInfo Failed時のみ
err_code エラーコード
エラーコード表参照
err_message エラーメッセージ
エラーコード表参照
成功時 resultInfo Success時のみ
list 原稿情報
id 原稿ID
customer_id 会員ID
file_name 原稿ファイル名
thumbnail 原稿サムネイル画像ファイル名
price 製本原価(税込み、円)
page_size 用紙サイズID
用紙サイズ参照
page_num ページ数
text_paper_type 用紙の種類
用紙種類参照
text_color_type 1:カラー
2:モノクロ
cover_paper_data 表紙の種類
表紙の種類・加工
bind_type 1:中綴じ
2:無線綴じ
bind_direction 1:右綴じ
2:左綴じ
create_date 作成日

入稿結果通知

受け取ったパラメータをデコード処理する

<?php
// POST されてきた値の取得
$param = htmlspecialchars(trim($_POST['param']));

// jsonオブジェクトとして処理する場合
$objParam = base64_decode($param);

// 配列として処理する場合
$arrParam = json_decode(base64_decode($param));

// JSONデータをログ出し
$filepath = "log.txt";
$fp = fopen($filepath, "a+");
$log = print_r($objParam, true).PHP_EOL;
fwrite($fp, $log);
fclose($fp);

// 配列化データをログ出し
$filepath2 = "log2.txt";
$fp2 = fopen($filepath2, "a+");
$log2 = print_r($arrParam, true).PHP_EOL;
fwrite($fp2, $log2);
fclose($fp2);

“結果レスポンス"は、APIお申込時にご連絡いただいた「結果レスポンスの受け取りURL」にレスポンスが送信されます。 結果レスポンスを受信して原稿作成に失敗していた場合は、再度APIをリクエストするか、あるいは利用者に入稿した原稿を確認してもらうなどの処理が必要になります。

“結果レスポンス”は、上記URLに対してjsonデータをbase64エンコードしたものをパラメータ名[param]としてPOST 送信しております。 受け取ったPOST値を解析する際は、base64デコードして頂く必要があります。

用紙サイズ(page_size)

コード 用紙サイズ
1 A4
2 A5
3 B5
4 B6
5 A6
6 新書判
10 任意サイズ
任意サイズを利用する場合、任意サイズ指定(横幅mm)と任意サイズ指定(縦幅mm)の指定が必須となります。

用紙種類(text_paper_type)

コード 用紙種類
4 書籍用紙【汎用色】(菊判47.5kg相当)
6 書籍用紙【クリーム色】(四六判66.5kg)
7 上質紙 白色【しらおい】(菊判62.5kg)
16 書籍用紙【HSスノーフォース】(四六判77.5kg)
9 書籍用紙【モンテシオン】(菊判39.5kg)
11 上質紙 高白色【マシュマロCoC】(菊判62.5kg)
12 光沢紙【コート紙1グロス】(四六判90kg)
13 光沢紙【コート紙2グロス】(四六判110kg)
14 塗工紙【コート紙1マット】(四六判90kg)
15 塗工紙【コート紙2マット】(四六判110kg)
17 光沢紙【コート紙3グロス】(四六判135kg)
※中綴じ注文不可
18 塗工紙【コート紙3マット】(四六判135kg)
※中綴じ注文不可

表紙の種類・加工(cover_paper_data)

コード 表紙の種類・加工
100,2,1 表紙カラー&ラミネート加工なし
101,2,1 表紙カラー&ラミネート加工(マット)
102,2,1 表紙カラー&ラミネート加工(グロス)
104,2,1 表紙モノクロ&ラミネート加工なし
105,2,1 表紙モノクロ&ラミネート加工(マット)
106,2,1 表紙モノクロ&ラミネート加工(グロス)
108,2,1 表紙なし
※表紙なしの場合“nocover”を「1」にして”cover_paper_data”を「108,2,1」にセットして下さい。
   ※ブックカバーありの製本の場合、表紙なしは不可、また表紙にラミネートはかけられません。
   "cover_paper_data"は100,2,1 か 104,2,1 のどちらかを指定してください。

エラーコード(err_code)

Code Message
EF000 FTPの接続ができません
EF001 pathに移動できません
EF002 ファイルが存在しません
EF003 ファイルのダウンロード失敗
Code Message
E000 パラメータ解析エラー
EM000 access_keyの値が不正です
EM001 secret_keyの値が不正です
EM002 customer_idの値が不正です
Code Message
EM003 testmodeの値が不正です
EM004 typeの値が不正です
EM005 order_dateの値が不正です
EM006 order_idの値が不正です
EM007 access_key secret_key一致しません
EM008 listの構造が不正です
EM009 既に登録されたデータです
EA000 zip01の値が不正です
EA001 zip02の値が不正です
EA002 prefの値が不正です
EA003 addr01の値が不正です
EA004 telの値が不正です
EA005 name01の値が不正です
EA006 name02の値が不正です
ED001 draft_idの値が不正です
ED002 quantityの値が不正です
EL001 有効な原稿データが存在しません
Code Message エラー内容
EZ001 パラメータ設定が不正です。 『表紙不要コース』でページ数が49ページ以上に設定されています。
EZ002 パラメータ設定が不正です。 『表紙不要コース』で綴じ方に『無線綴じ』 が設定されています。
EZ003 パラメータ設定が不正です。 『表示自動コース』でページ数が22ページ未満且つ、綴じ方が『無線綴じ』に設定されています。
EZ004 パラメータ設定が不正です。 『表示自動コース』でページ数が51ページ以上 且つ、綴じ方が『中綴じ』に設定されています。
ES001 変換に失敗しました。 ファイル変換処理で失敗しました。
ES002 セキュリティの掛かったPDFファイルです。 アップロードされたPDFファイルに何らかのセキュリティが付与されている為、変換処理が行えません。
ES003 変換に失敗しました。 ファイル変換処理で失敗しました。
ES004 変換に失敗しました。 ファイル変換処理で失敗しました。
ES005 変換に失敗しました。 ファイル変換処理で失敗しました。
ES006 変換に失敗しました。 ファイル変換処理で失敗しました。

都道府県コード(pref)

コード 都道府県
1 北海道
2 青森県
3 岩手県
4 宮城県
5 秋田県
6 山形県
7 福島県
8 茨城県
9 栃木県
10 群馬県
11 埼玉県
12 千葉県
13 東京都
14 神奈川県
15 新潟県
16 富山県
17 石川県
18 福井県
19 山梨県
20 長野県
21 岐阜県
22 静岡県
23 愛知県
24 三重県
25 滋賀県
26 京都府
27 大阪府
28 兵庫県
29 奈良県
30 和歌山県
31 鳥取県
32 島根県
33 岡山県
34 広島県
35 山口県
36 徳島県
37 香川県
38 愛媛県
39 高知県
40 福岡県
41 佐賀県
42 長崎県
43 熊本県
44 大分県
45 宮崎県
46 鹿児島県
47 沖縄県

CHANGELOG

日付 内容
2015/05/15 API提供開始
2016/01/21 API Type4のリクエストパラメータの名称を一部変更([color_type]→[text_color_type])
2016/02/02 API Type1,3,4の速達パラメータに「特急便」「急行便」追加
2016/02/20 API Type6を追加
2019/9/18 配送方法に「日本郵便」を追加
2019/10/10 本文用紙に「コート紙3(グロス157g/㎡)」「コート紙3(マット157g/㎡)」を追加
2019/10/11 配送方法の日本郵便を「日本郵便(ポスト投函)」と「日本郵便(ゆうパック)」に変更 2019/12/21 FTP接続に関する注意書きを更新 2019/12/25 発送完了通知 レスポンスパラメータにユーザー側注文番号 2022/03/31 ハードカバーおよびブックカバーの実装 2022/05/02 本文用紙に「アイベストW(コート紙260g/㎡)」「ハードカバー用紙(光沢無し)」「ハードカバー用紙(光沢あり)」を追加
2022/07/25 一部本文用紙の利用変更ならびに表示名の変更
2023/12/20 発送方法(delivery_code)の入力値を改修 例:01:ヤマトメール便 → 1:ヤマトメール便
2023/12/20 type4の結果レスポンスに以下を追加
- user_order_id : APIユーザー指定の注文番号
- scheduled_shipping_date : 発送予定日
- purchase_amount : 注文代金
- split_index : 内部値を追加
2023/12/20 type1のレスポンスパラメータに以下を追加
- scheduled_shipping_date : 発送予定日
- purchase_amount : 注文代金
php