8. WebAPIの利用

Create!Form RemoteObject では、付属の Java のクライアントAPIのほか、WebAPIを利用することができます。

8.1. 概要

WebAPIのエンドポイントは以下の通りです。

http://サーバのホスト名またはIPアドレス:ポート番号/cfro/webapi/リソース名/リソースID?クエリ名=値

例えば、ジョブIDが「J0001」のジョブを取得する場合は HTTP の GET メソッドを使用して以下のようにアクセスします。

http://server:56789/cfro/webapi/jobs/J0001
サーバのホスト名:server
ポート番号:56789
リソース名:jobs
リソースID:J0001

サーバへのアクセスに成功すると、以下のような JSON 形式のレスポンスが返ります。

{
  "jobs": [
    {
      "cf.in": "data:157641f4169_1e_2",
      "cf.mode": "Cast",
      "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
      "cf.opt.P": "",
      "cf.opt.s": "D07_sheet.sty",
      "cf.out.id": "157641f42b3_23_0",
      "cf.out.type": "file",
      "cf.result.code": 0,
      "cf.result.output": "C:\\ProgramData\\Infotec\\CreateForm\\11\\temp\\cfro\\157641f41691e.pdf",
      "datas": "157641f4169_1e_2",
      "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
      "dispatch.datetime.end": "2016/09/26 10:32:32.828",
      "id": "J0001",
      "job.available": 30,
      "job.id": "J0001",
      "job.pages": 1,
      "job.status": "done",
      "job.times": 1,
      "job.times.cast": 1,
      "last.transaction.id": "157641f4173_1e_2"
    }
  ]
}

レスポンスのデータにはジョブID「J0001」のジョブプロパティが含まれています。 これは、Java のクライアントAPIにある 「lookupJob」 メソッドと同等の操作を表します。

このように、HTTP のリクエストが扱える環境や開発言語であれば、Create!Form RemoteObject のクライアントとして利用することができます。

ここではエンドポイントのリソース名として 「jobs」 を使用しましたが、他にも以下のリソース名が利用可能です。

リソース名 説明
services サーバへの接続確認を行うことができます。
jobs ストレージに保管されているジョブを扱うことができます。
datas ストレージに保管されている入力データを扱うことができます。

また、HTTP のリクエストメソッドを切り替えることで、操作内容が変わります。

メソッド 説明
GET リソースを取得します。リソースが存在しない場合はエラーとなります。
POST リソースを新規登録します。リソースが既に登録されている場合は上書きされます。
PUT リソースを更新します。更新するリソースが存在しない場合はエラーとなります。
PATCH リソースを部分的に更新します。更新するリソースが存在しない場合はエラーとなります。
DELETE リソースを削除します。削除するリソースが存在しない場合はエラーとなります。

8.2. リクエストボディの指定

HTTP の GET メソッドを使用する場合はリクエストボディは必要ありませんが、POST メソッドや PUT メソッドなどを使用してデータの登録や更新が発生する操作ではリクエストボディの指定が必要となります。

リクエストボディは以下のように JSON 形式で指定します。

http://server:56789/cfro/webapi/jobs/J0002/execute
{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

ヒント

リクエストボディの文字コードは 「UTF-8」 を使用してください。

例:Content-Type: application/json; charset=UTF-8

この例では、POST メソッドを使用して入力データの登録とジョブの実行を同時に行っています。 このように、データの登録や更新が発生する操作ではリクエストボディを指定します。

なお、リクエストボディはクエリ名 「json」 を使用して指定することもできます。

http://server:56789/cfro/webapi/jobs/J0002/execute?json={"cf.mode":"Cast","cf.opt.D":"..."}

ヒント

クエリ名 「json」 を使用する場合、「\」は「\\」、改行コードやタブはそれぞれ「\n」「\t」で指定してください。 また、リクエストボディとクエリ名 「json」 を同時に指定した場合、クエリ名が優先されます。

8.3. レスポンスデータの取得

レスポンスデータは JSON 形式の以下のフォーマットで返されます。

{
   "リソース名": [
      {
         レスポンスデータの内容
      }
   ]
}

ジョブ一覧の取得など、複数件のデータを取得した場合は、レスポンスデータの内容が複数返されます。

http://server:56789/cfro/webapi/jobs
{
  "jobs": [
    {
      "cf.in": "data:157641f4169_1e_2",
      "cf.mode": "Cast",
      "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
      "cf.opt.P": "",
      "cf.opt.s": "D07_sheet.sty",
      "cf.out.id": "157641f42b3_23_0",
      "cf.out.type": "file",
      "cf.result.code": 0,
      "cf.result.output": "C:\\ProgramData\\Infotec\\CreateForm\\11\\temp\\cfro\\157641f41691e.pdf",
      "datas": "157641f4169_1e_2",
      "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
      "dispatch.datetime.end": "2016/09/26 10:32:32.828",
      "id": "J0001",
      "job.available": 30,
      "job.id": "J0001",
      "job.pages": 1,
      "job.status": "done",
      "job.times": 1,
      "job.times.cast": 1,
      "last.transaction.id": "157641f4173_1e_2"
    },
    {
      "cf.in": "data:157644a2c53_1d_1",
      "cf.mode": "Cast",
      "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
      "cf.opt.s": "D07_sheet.sty",
      "cf.out.id": "157644a2cdd_22_1",
      "cf.out.type": "file",
      "cf.result.code": 0,
      "cf.result.output": "C:\\ProgramData\\Infotec\\CreateForm\\11\\temp\\cfro\\157644a2c531d.pdf",
      "datas": "157644a2c53_1d_1",
      "dispatch.datetime.begin": "2016/09/26 11:19:25.171",
      "dispatch.datetime.end": "2016/09/26 11:19:25.287",
      "id": "J0002",
      "job.available": 30,
      "job.id": "J0002",
      "job.pages": "",
      "job.status": "done",
      "job.times": 1,
      "job.times.cast": 1,
      "last.transaction.id": "157644a2c6c_1d_1"
    }
  ]
}

ただし、サーバから出力帳票データを取得する場合はレスポンスデータに出力帳票データがそのまま返されます。

http://server:56789/cfro/webapi/jobs/J0003/publish
%PDF-1.3
%粤マモ
4 0 obj
<<
/Type /Xobject
/Subtype /Form
/FormType 1
/BBox [0 0 842 595]

...

%%EOF

一方、サーバでエラーが発生した場合は、HTTP の ステータスコード とともにエラー用のレスポンスデータが返されます。

{
   "errors": [
      {
         "": エラーコード,
         "": "エラーメッセージ"
      }
   ]
}

8.4. ステータスコード

サーバ側でリクエストの処理が完了するとクライアント側へレスポンスデータと HTTP のステータスコードが返されます。 ステータスコードは正常時は100番台または200番台ですが、エラー発生時は400番台または500番台のレスポンスコードが返されます。

ステータスコードを確認することで、大まかに正常かエラーかを判断することができます。 ステータスコードがエラーの場合の詳細な内容については、レスポンスデータのエラーコードおよびエラーメッセージから確認できます。

ステータスコード 説明
102 リクエストは成功しましたが、現在も処理が継続しています。
200 リクエストは成功しました。
201 リクエストは成功し、新しいリソースが登録されました。
202 リクエストは成功しました。
204 コンテンツはありません。
400 リクエストが正しくありません。
404 リソースが見つかりません。
405 指定した HTTP メソッドは使用できません。
408 リクエストがタイムアウトしました。
413 リクエストボディが大きすぎます。
500 サーバ側でエラーが発生しました。
503 サーバが一時的に停止しています。

8.5. クエリの指定

サーバへアクセスする際にクエリを指定することで、取得する件数を絞ったり、レスポンスデータをソートしたりすることができます。

クエリは以下のクエリ名が利用可能です。

クエリ名 説明
skip レスポンスデータが複数件存在する場合の取得開始位置を0以上の値で指定します。
limit レスポンスデータが複数件存在する場合の取得件数を1以上の値で指定します。
fields レスポンスボディの特定のキーのみを返します。
sort レスポンスデータが複数件存在する場合のソート対象にするキーを指定します。
filter レスポンスデータが複数件存在する場合の取得条件を指定します。
method HTTP メソッドをクエリから指定します。
json リクエストボディをクエリから指定します。
format レスポンスデータのフォーマットを指定します。

ヒント

クエリを複数指定する場合は「&」でつなげて指定します。

8.5.2. limit

先頭から30件だけ取得します。

http://server:56789/cfro/webapi/jobs?limit=30

先頭から数えて11件目から2件だけ取得します。

http://server:56789/cfro/webapi/jobs?skip=10&limit=2

8.5.3. fields

ジョブIDのキーのみ取得します。

http://server:56789/cfro/webapi/jobs?fields=id

ジョブIDとジョブの実行回数のキーのみ取得します。 (複数のキーを指定する場合は「,」で区切って指定します)

http://server:56789/cfro/webapi/jobs?fields=id,job.times

存在しないキー「abc」を指定した場合は無視され、ジョブIDのキーのみ取得されます。

http://server:56789/cfro/webapi/jobs?fields=id,abc

8.5.4. sort

ジョブIDの昇順でソートします。 (キーの直後に「:」を指定し、asc (昇順) または desc (降順) を指定します)

http://server:56789/cfro/webapi/jobs?sort=id:asc

8.5.5. filter

「一致条件:キー:条件値」のように指定します。 複数の条件を指定する場合は「,」で区切ることでAND条件として最大10条件まで組み合わせることが可能です。 一致条件は、完全一致「match」、部分一致「partial」、前方一致「prefix」、後方一致「suffix」が指定できます。

ジョブIDが「J0001」のジョブのみを取得します。

http://server:56789/cfro/webapi/jobs?filter=match:id:J0001

8.5.6. method

HTTP メソッドを POST に変更してジョブ「J0001」を新規登録します。

http://server:56789/cfro/webapi/jobs/J0001?method=post

8.5.7. json

リクエストボディを指定してジョブを更新します。

http://server:56789/cfro/webapi/jobs/J0001?method=post&json={"cf.mode":"Cast","cf.opt.D":"..."}

8.6. SSL通信時のアクセス先

「http」を「https」に変更してアクセスします。 ポート番号やリソース名、クエリの指定などはSSL通信をしない場合と指定方法に変わりはありません。

8.7. 管理用 WebAPI による稼働状態の制御

管理用 WebAPI を使用することで Create!Form RemoteObject の稼働状態を制御することができます。 WebAPI を使用して遠隔地から稼働状態を制御したい場合などに利用します。

http://サーバのホスト名またはIPアドレス:55555/cfro/admin/

注意

管理用 WebAPI は通常の WebAPI のエンドポイントとは異なります。 常に「http」にてアクセスし、ポート番号は「55555」を使用します。

8.7.1. services/start

Create!Form RemoteObject を開始します。

http://サーバのホスト名またはIPアドレス:55555/cfro/admin/services/start
HTTP メソッド:POST
ステータスコード:200

レスポンスデータ

キー 説明 データ型
status Create!Form RemoteObject が開始状態の場合は true が出力されます。 Boolean
{
   "status": true
}

8.7.2. services/stop

Create!Form RemoteObject を停止します。

http://サーバのホスト名またはIPアドレス:55555/cfro/admin/services/stop
HTTP メソッド:POST
ステータスコード:200

レスポンスデータ

キー 説明 データ型
status Create!Form RemoteObject が開始状態の場合は true が出力されます。 Boolean
{
   "status": true
}

8.7.3. services/status

Create!Form RemoteObject の稼働状態を取得します。

http://サーバのホスト名またはIPアドレス:55555/cfro/admin/services/status
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
status Create!Form RemoteObject が開始状態の場合は true が出力されます。 Boolean
{
   "status": true
}
キー 説明 データ型
error エラーメッセージが出力されます。 String
{
   "error": "LICENSE invalid.\nlicense file is not found. [C:\\ProgramData\\Infotec\\CreateForm\\11\\conf\\private\\LICENSE_RO]\n"
}

8.8. WebAPI詳細

8.8.1. services

8.8.1.1. services

サーバへの接続チェックとサーバ情報を取得します。

http://server:56789/cfro/webapi/services
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
count    
count.datas 登録済みの入力データの件数が出力されます。 Number
count.jobs 登録済みのジョブの件数が出力されます。 Number
home 導入ディレクトリが出力されます。 String
job.available 実行済みジョブの有効期限の設定が出力されます。 Number
ssl SSL通信が有効かどうかが出力されます。 Boolean
storage    
storage.version ストレージのバージョンが出力されます。 String
storage.path ストレージパスが出力されます。 String
version 製品バージョンが出力されます。 String
{
   "services": [
      {
         "count": {
            "datas": 58,
            "jobs": 58
         },
         "home": "C:\\Program Files\\Infotec\\CreateForm\\11",
         "job.available": "0",
         "ssl": false,
         "storage": {
            "path": "C:\\ProgramData\\Infotec\\CreateForm\\11\\var\\storage",
            "version": "3.2.6"
         },
         "version": "11.00.0"
      }
   ]
}

8.8.1.2. services/cleanup

有効期限切れのジョブをクリーンアップします。 (非同期で処理されます)

http://server:56789/cfro/webapi/services/cleanup
HTTP メソッド:POST
ステータスコード:202

レスポンスデータ

キー 説明 データ型
count    
count.datas 登録済みの入力データの件数が出力されます。 Number
count.jobs 登録済みのジョブの件数が出力されます。 Number
home 導入ディレクトリが出力されます。 String
job.available 実行済みジョブの有効期限の設定が出力されます。 Number
ssl SSL通信が有効かどうかが出力されます。 Boolean
storage    
storage.version ストレージのバージョンが出力されます。 String
storage.path ストレージパスが出力されます。 String
version 製品バージョンが出力されます。 String
{
   "services": [
      {
         "count": {
            "datas": 58,
            "jobs": 58
         },
         "home": "C:\\Program Files\\Infotec\\CreateForm\\11",
         "job.available": "0",
         "ssl": false,
         "storage": {
            "path": "C:\\ProgramData\\Infotec\\CreateForm\\11\\var\\storage",
            "version": "3.2.6"
         },
         "version": "11.00.0"
      }
   ]
}

8.8.2. datas

8.8.2.1. datas

入力データIDを指定せずに入力データを新規登録します。

http://server:56789/cfro/webapi/datas
HTTP メソッド:POST
ステータスコード:201

リクエストボディ

キー 必須 説明 データ型
file      
file.data 入力データの内容を指定します。 String
キー 必須 説明 データ型
database      
database.type データベースの種別を指定します。(odbc/oracle) String
database.name データベースのデータソース名を指定します。 String
database.user データベースのユーザ名を指定します。 String
database.password データベースのパスワードを指定します。 String
database.sql   データベースのSQLコマンドまたはSQLファイルを指定します。 String
{
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

レスポンスデータ

キー 説明 データ型
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.2.2. datas

入力データの一覧を取得します。

http://server:56789/cfro/webapi/datas
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.2.3. datas/入力データID

入力データIDを指定して入力データを新規登録します。

http://server:56789/cfro/webapi/datas/入力データID
HTTP メソッド:POST
ステータスコード:201

リクエストボディ

キー 必須 説明 データ型
file      
file.data 入力データの内容を指定します。 String
キー 必須 説明 データ型
database      
database.type データベースの種別を指定します。(odbc/oracle) String
database.name データベースのデータソース名を指定します。 String
database.user データベースのユーザ名を指定します。 String
database.password データベースのパスワードを指定します。 String
database.sql   データベースのSQLコマンドまたはSQLファイルを指定します。 String
{
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

レスポンスデータ

キー 説明 データ型
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.2.4. datas/入力データID

入力データIDを指定して入力データを更新します。

http://server:56789/cfro/webapi/datas/入力データID
HTTP メソッド:PUT
ステータスコード:200

リクエストボディ

キー 必須 説明 データ型
file      
file.data 入力データの内容を指定します。 String
キー 必須 説明 データ型
database      
database.type データベースの種別を指定します。(odbc/oracle) String
database.name データベースのデータソース名を指定します。 String
database.user データベースのユーザ名を指定します。 String
database.password データベースのパスワードを指定します。 String
database.sql   データベースのSQLコマンドまたはSQLファイルを指定します。 String
{
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

レスポンスデータ

キー 説明 データ型
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.2.5. datas/入力データID

入力データIDを指定して入力データを部分的に更新します。

http://server:56789/cfro/webapi/datas/入力データID
HTTP メソッド:PATCH
ステータスコード:200

リクエストボディ

キー 必須 説明 データ型
file      
file.data 入力データの内容を指定します。 String
キー 必須 説明 データ型
database      
database.type データベースの種別を指定します。(odbc/oracle) String
database.name データベースのデータソース名を指定します。 String
database.user データベースのユーザ名を指定します。 String
database.password データベースのパスワードを指定します。 String
database.sql   データベースのSQLコマンドまたはSQLファイルを指定します。 String
{
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

レスポンスデータ

キー 説明 データ型
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.2.6. datas/入力データID

入力データを取得します。

http://server:56789/cfro/webapi/datas/入力データID
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
database    
database.type データベースの種別が出力されます。 String
database.name データベースのデータソース名が出力されます。 String
database.user データベースのユーザ名が出力されます。 String
database.password データベースのパスワードが出力されます。 String
database.sql データベースのSQLコマンドが出力されます。 String
file    
file.data 入力データが出力されます。 String
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "file": {
            "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
         },
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.2.7. datas/入力データID?format=file

入力データを取得します。

http://server:56789/cfro/webapi/datas/入力データID?format=file
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

入力データがそのまま返されます。

8.8.2.8. datas/入力データID

入力データを削除します。

http://server:56789/cfro/webapi/datas/入力データID
HTTP メソッド:DELETE
ステータスコード:204

レスポンスデータ

キー 説明 データ型
id 入力データIDが出力されます。 String
{
   "datas": [
      {
         "id": "157641f4169_1e_2"
      }
   ]
}

8.8.3. jobs

8.8.3.1. jobs

ジョブIDを指定せずにジョブを新規登録します。

http://server:56789/cfro/webapi/jobs
HTTP メソッド:POST
ステータスコード:201

リクエストボディ

キー 必須 説明 データ型
cf.mode Create!Form ランタイムの種別を指定します。 String
cf.opt.D 作業ディレクトリを指定します。 String
cf.opt.s ジョブファイル名を指定します。 String
cf.opt.q   QDFファイル名を指定します。 String
cf.opt.j   印刷スプール名を指定します。 String
cf.opt.nc   印刷部数を指定します。 Number
cf.opt.#   プリンタ番号またはプリンタ名を指定します。”default”を指定すると通常使うプリンタとなります。 String
cf.opt.o   ファイルの出力先を指定します。 String
cf.opts   拡張オプションを指定します。 String
context   プリセットコンテキストのコンテキスト名を指定します。 String
datas 入力データIDを指定します。配列を使用して複数指定するとマルチデータソースとなります。 String/Array
job.available   ジョブの有効期限の日数を指定します。-1を指定すると無期限となります。 Number
{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "datas": "157641f4169_1e_2"
}

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.2. jobs

ジョブの一覧を取得します。

http://server:56789/cfro/webapi/jobs
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.3. jobs/ジョブID

ジョブのプロパティを取得します。

http://server:56789/cfro/webapi/jobs/ジョブID
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.4. jobs/ジョブID?format=file

ジョブの出力帳票データを取得します。

http://server:56789/cfro/webapi/jobs/ジョブID?format=file
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

出力帳票データがそのまま返されます。

8.8.3.5. jobs/ジョブID

ジョブIDを指定してジョブを新規登録します。

http://server:56789/cfro/webapi/jobs/ジョブID
HTTP メソッド:POST
ステータスコード:201

リクエストボディ

キー 必須 説明 データ型
cf.mode Create!Form ランタイムの種別を指定します。 String
cf.opt.D 作業ディレクトリを指定します。 String
cf.opt.s ジョブファイル名を指定します。 String
cf.opt.q   QDFファイル名を指定します。 String
cf.opt.j   印刷スプール名を指定します。 String
cf.opt.nc   印刷部数を指定します。 Number
cf.opt.#   プリンタ番号またはプリンタ名を指定します。”default”を指定すると通常使うプリンタとなります。 String
cf.opt.o   ファイルの出力先を指定します。 String
cf.opts   拡張オプションを指定します。 String
context   プリセットコンテキストのコンテキスト名を指定します。 String
datas 入力データIDを指定します。配列を使用して複数指定するとマルチデータソースとなります。 String/Array
job.available   ジョブの有効期限の日数を指定します。-1を指定すると無期限となります。 Number
{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "datas": "157641f4169_1e_2"
}

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.6. jobs/ジョブID

ジョブIDを指定してジョブを更新します。

http://server:56789/cfro/webapi/jobs/ジョブID
HTTP メソッド:PUT
ステータスコード:200

リクエストボディ

キー 必須 説明 データ型
cf.mode Create!Form ランタイムの種別を指定します。 String
cf.opt.D 作業ディレクトリを指定します。 String
cf.opt.s ジョブファイル名を指定します。 String
cf.opt.q   QDFファイル名を指定します。 String
cf.opt.j   印刷スプール名を指定します。 String
cf.opt.nc   印刷部数を指定します。 Number
cf.opt.#   プリンタ番号またはプリンタ名を指定します。”default”を指定すると通常使うプリンタとなります。 String
cf.opt.o   ファイルの出力先を指定します。 String
cf.opts   拡張オプションを指定します。 String
context   プリセットコンテキストのコンテキスト名を指定します。 String
datas 入力データIDを指定します。配列を使用して複数指定するとマルチデータソースとなります。 String/Array
job.available   ジョブの有効期限の日数を指定します。-1を指定すると無期限となります。 Number
{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "datas": "157641f4169_1e_2"
}

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.7. jobs/ジョブID

ジョブIDを指定してジョブを部分的に更新します。

http://server:56789/cfro/webapi/jobs/ジョブID
HTTP メソッド:PATCH
ステータスコード:200

リクエストボディ

キー 必須 説明 データ型
cf.mode Create!Form ランタイムの種別を指定します。 String
cf.opt.D 作業ディレクトリを指定します。 String
cf.opt.s ジョブファイル名を指定します。 String
cf.opt.q   QDFファイル名を指定します。 String
cf.opt.j   印刷スプール名を指定します。 String
cf.opt.nc   印刷部数を指定します。 Number
cf.opt.#   プリンタ番号またはプリンタ名を指定します。”default”を指定すると通常使うプリンタとなります。 String
cf.opt.o   ファイルの出力先を指定します。 String
cf.opts   拡張オプションを指定します。 String
context   プリセットコンテキストのコンテキスト名を指定します。 String
datas 入力データIDを指定します。配列を使用して複数指定するとマルチデータソースとなります。 String/Array
job.available   ジョブの有効期限の日数を指定します。-1を指定すると無期限となります。 Number
{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "datas": "157641f4169_1e_2"
}

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.8. jobs/ジョブID

ジョブを削除します。

http://server:56789/cfro/webapi/jobs/ジョブID
HTTP メソッド:DELETE
ステータスコード:204

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.9. jobs/ジョブID/execute

ジョブIDを指定してジョブを同期実行します。

http://server:56789/cfro/webapi/jobs/ジョブID/execute
HTTP メソッド:POST
ステータスコード:201

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
cf.result.code ジョブの終了コードが出力されます。 Number
datas 入力データIDが出力されます。 String/Array
dispatch.datetime.begin ジョブの印刷開始日時が出力されます。 DateTime (RFC3339)
dispatch.datetime.end ジョブの印刷終了日時が出力されます。 DateTime (RFC3339)
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
job.pages ジョブの出力ページ数が出力されます。 Number
job.times ジョブの実行回数が出力されます。 Number
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "cf.result.code": 0,
         "datas": "157641f4169_1e_2",
         "dispatch.datetime.begin": "2016/09/26 10:32:32.502",
         "dispatch.datetime.end": "2016/09/26 10:32:32.828",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001",
         "job.pages": 1,
         "job.times": 1
      }
   ]
}

8.8.3.10. jobs/ジョブID/post

ジョブIDを指定してジョブを非同期実行します。

http://server:56789/cfro/webapi/jobs/ジョブID/post
HTTP メソッド:POST
ステータスコード:202

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
datas 入力データIDが出力されます。 String/Array
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "datas": "157641f4169_1e_2",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001"
      }
   ]
}

8.8.3.11. jobs/ジョブID/status

ジョブIDを指定してジョブのステータスを取得します。

http://server:56789/cfro/webapi/jobs/ジョブID/status
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
done ジョブの実行が正常終了(正常エラー終了を含む)した場合は true が出力されます。 Boolean
fail 致命的なエラーによりジョブが正常終了していない場合は true が出力されます。 Boolean

ヒント

ジョブ実行中にジョブのステータスを取得した場合はすべて false で出力されます。

{
   "done": true,
   "fail": false
}

8.8.3.12. jobs/ジョブID/result

ジョブIDを指定してジョブの実行結果を取得します。

http://server:56789/cfro/webapi/jobs/ジョブID/result
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

キー 説明 データ型
code ジョブの終了コードが出力されます。ジョブが未実行または正常終了の場合は0が出力されます。 Number
pages ジョブの出力ページ数が出力されます。ジョブが未実行の場合は0が出力されます。 Number

注意

ジョブの出力ページ数を取得するためには実行オプションへ総ページ数のオプション(「P」「Pw」「Pn」「Pnw」)を指定する必要があります。 総ページ数のオプションが指定されていない場合は常に 0 が出力されます。

{
   "code": 0,
   "pages": 1
}

8.8.3.13. jobs/ジョブID/publish

ジョブの出力帳票データを取得します。

http://server:56789/cfro/webapi/jobs/ジョブID/publish
HTTP メソッド:GET
ステータスコード:200

レスポンスデータ

出力帳票データがそのまま返されます。

8.8.3.14. jobs/ジョブID/execute

入力データとジョブを同時に新規登録して同期実行し、出力帳票データを取得します。

http://server:56789/cfro/webapi/jobs/ジョブID/execute
HTTP メソッド:POST
ステータスコード:200

リクエストボディ

キー 必須 説明 データ型
cf.mode Create!Form ランタイムの種別を指定します。 String
cf.opt.D 作業ディレクトリを指定します。 String
cf.opt.s ジョブファイル名を指定します。 String
cf.opt.q   QDFファイル名を指定します。 String
cf.opt.j   印刷スプール名を指定します。 String
cf.opt.nc   印刷部数を指定します。 Number
cf.opt.#   プリンタ番号またはプリンタ名を指定します。”default”を指定すると通常使うプリンタとなります。 String
cf.opt.o   ファイルの出力先を指定します。 String
cf.opts   拡張オプションを指定します。 String
context   プリセットコンテキストのコンテキスト名を指定します。 String
file      
file.data 入力データの内容を指定します。 String
database      
database.type データベースの種別を指定します。(odbc/oracle) String
database.name データベースのデータソース名を指定します。 String
database.user データベースのユーザ名を指定します。 String
database.password データベースのパスワードを指定します。 String
database.sql   データベースのSQLコマンドまたはSQLファイルを指定します。 String
job.available   ジョブの有効期限の日数を指定します。-1を指定すると無期限となります。 Number

ヒント

入力データの内容(file)またはデータベース(database)のいずれかを指定します。

{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

レスポンスデータ

出力帳票データがそのまま返されます。

8.8.3.15. jobs/ジョブID/post

入力データとジョブを同時に新規登録して非同期実行します。

http://server:56789/cfro/webapi/jobs/ジョブID/post
HTTP メソッド:POST
ステータスコード:202

リクエストボディ

キー 必須 説明 データ型
cf.mode Create!Form ランタイムの種別を指定します。 String
cf.opt.D 作業ディレクトリを指定します。 String
cf.opt.s ジョブファイル名を指定します。 String
cf.opt.q   QDFファイル名を指定します。 String
cf.opt.j   印刷スプール名を指定します。 String
cf.opt.nc   印刷部数を指定します。 Number
cf.opt.#   プリンタ番号またはプリンタ名を指定します。”default”を指定すると通常使うプリンタとなります。 String
cf.opt.o   ファイルの出力先を指定します。 String
cf.opts   拡張オプションを指定します。 String
context   プリセットコンテキストのコンテキスト名を指定します。 String
file      
file.data 入力データの内容を指定します。 String
database      
database.type データベースの種別を指定します。(odbc/oracle) String
database.name データベースのデータソース名を指定します。 String
database.user データベースのユーザ名を指定します。 String
database.password データベースのパスワードを指定します。 String
database.sql   データベースのSQLコマンドまたはSQLファイルを指定します。 String
job.available   ジョブの有効期限の日数を指定します。-1を指定すると無期限となります。 Number

ヒント

入力データの内容(file)またはデータベース(database)のいずれかを指定します。

{
   "cf.mode": "Cast",
   "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
   "cf.opt.s": "D07_sheet.sty",
   "file": {
      "data": "社員台帳1ページ分のデータ\r\n0000001,1994/08/01,インサツ ハナコ,印刷  花子,1972/03/10\r\n"
   }
}

レスポンスデータ

キー 説明 データ型
cf.mode Create!Form ランタイムの種別が出力されます。 String
cf.opt.D 作業ディレクトリが出力されます。 String
cf.opt.s ジョブファイル名が出力されます。 String
datas 入力データIDが出力されます。 String/Array
id ジョブIDが出力されます。 String
job.available ジョブの有効期限の日数が出力されます。 Number
job.id ジョブIDが出力されます。 String
{
   "jobs": [
      {
         "cf.mode": "Cast",
         "cf.opt.D": "C:/ProgramData/Infotec/CreateForm/11/work/sample/04_名簿・一覧",
         "cf.opt.s": "D07_sheet.sty",
         "datas": "157641f4169_1e_2",
         "id": "J0001",
         "job.available": 30,
         "job.id": "J0001"
      }
   ]
}

8.8.4. エラーコード一覧

エラーコード ステータスコード エラーメッセージ
-100 404 リクエストしたリソースが存在しません。接続先のURLが正しいことを確認して接続してください。
-110 405 指定したHTTPメソッドには対応していません。正しいHTTPメソッドを使用して接続してください。
-111 400 パスの指定が正しくありません。
-120 400 クエリ「skip」の指定が正しくありません。
-121 400 クエリ「limit」の指定が正しくありません。
-122 400 クエリ「fields」の指定が正しくありません。
-123 400 クエリ「sort」の指定が正しくありません。
-124 400 クエリ「filter」の指定が正しくありません。
-150 404 ジョブが存在しません。
-151 404 入力データファイルが存在しません。
-152 404 出力帳票データが取得できません。
-153 404 出力帳票データが存在しません。
-154 404 プリセットコンテキストファイルが存在しません。
-155 403 上書きが禁止されています。
-161 400 ジョブの登録に必要なプロパティが設定されていません。
-162 400 ジョブの更新に必要なプロパティが設定されていません。
-163 400 入力データファイルの登録に必要なプロパティが設定されていません。
-164 404 SQLファイルが存在しません。
-165 400 入力データファイルの更新に必要なプロパティが設定されていません。
-166 400 ジョブの実行に必要なプロパティが設定されていません。
-167 400 ジョブに指定されている入力データファイルが存在しません。
-168 400 ジョブに入力データファイルが設定されていません。
-169 400 入力データファイルの種別の指定が正しくありません。
-170 400 入力データファイルが取得できません。
-171 400 値のデータ型が正しくありません。
-200 500 ストレージのI/Oエラーが発生しました。
-500 404 NOT FOUND
-501 500 STORAGE I/O ERROR
-900 400 リクエストが正しくありません。
-999 500 不明なエラーが発生しました。