ビルトイン関数
SVF Cloud の Web API 呼び出しはビルトイン関数を利用できます。ビルトイン関数は次の形式で用意され、SVF Cloud Web API と同機能が実現できます。
$fn.svf.{API種別}.{API名}()インタフェース共通ルールは次の通りです。
| 関数の種類 | 非同期関数 (Promise を返却) |
|---|---|
| 引数 | オブジェクト |
| 戻り値 | オブジェクトまたは なし |
| 例外発生 | エラーオブジェクトからHTTPのレスポンスコードやエラー内容を取得できる |
$fn.svf.oauth2.token()
[認証] - アクセストークンの取得
パラメータ
| name | type | require | description |
|---|---|---|---|
| sub | string | 〇 | ユーザ ID |
| exp | number | 〇 | 有効期限 |
| userName | string | 〇 | ユーザ名 |
| timeZone | string | タイムゾーン | |
| lang | string | ロケール |
戻り値
| name | type | description |
|---|---|---|
| token | string | アクセストークン |
| expiration | number | 有効期限 |
サンプル
// [アクション]const results = await $fn.svf.oauth2.token({ exp: 1333685628, sub: "xxxx@api.svfcloud.com", userName: "帳票太郎", locale: "ja"});
// [戻り値]{ token:"fa074d728eef1bfb1da897de1f64b53dae7857e87dd0b8b96d9f65e06da43e9f", expiration:1442046911540}$fn.svf.oauth2.revoke()
[認証] - アクセストークンの破棄
パラメータ
| name | type | require | description |
|---|---|---|---|
| token | string | 〇 | アクセストークン |
戻り値
なし
サンプル
// [アクション]await $fn.svf.oauth2.revoke({ token: "fa074d728eef1bfb1da897de1f64b53dae7857e87dd0b8b96d9f65e06da43e9f"});$fn.svf.artifacts.print()
[印刷] - 印刷の実行
パラメータ
| name | type | require | description |
|---|---|---|---|
| token | string | 〇 | アクセストークン |
| name | string | 成果物名 | |
| printer | string | 〇 | |
| source | string | 〇 | データタイプ |
| defaultForm | string | 様式ファイルパス | |
| data | object | 〇 | CSVデータ |
| timeout | number | タイムアウト時間(秒) | |
| resource | object[] | リソースデータ | |
| password | string | パスワード | |
| pdfPermPass | string | 権限パスワード | |
| pdfPermPrint | string | PDF 印刷許可 | |
| pdfPermModify | string | PDF 変更許可 | |
| pdfPermCopy | boolean | PDF コピー許可 | |
| redirect | boolean | リダイレクト動作 | |
| useEudc | boolean | 外字ファイル利用 | |
| adjust | string | 印字位置調整 | |
| defaultSvfEncode | string | デフォルトの SVF エンコード |
パラメータ補足説明
[data]
| タイプ | object | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| プロパティ |
|
||||||||||||||||
| 補足説明 | - csvString/csvFile いずれかは必須(両方指定はcsvStringが優先 - nameにマルチバイト文字を利用する場合は、UTF-8でエンコードが必要 |
||||||||||||||||
| コード例 |
data: {
|
[resource]
| タイプ | object[] | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| プロパティ |
|
||||||||||||
| 補足説明 | |||||||||||||
| コード例 |
resource: [
|
戻り値
| name | type | description |
|---|---|---|
| artifactId | string | 成果物 ID |
| actionId | string | アクション ID |
| ticket | string | ワンタイムチケット |
サンプル
// [アクション]const csvdata = "ID,NAME,AMOUNT" + "\r\n" + "00001,Kant,150000" + "\r\n" + "00002,Heidegger,200000";
const results = await $fn.svf.artifacts.print({ token: "fa074d728eef1bfb1da897de1f64b53dae7857e87dd0b8b96d9f65e06da43e9f", name: "請求書", printer: "PDF", source: "CSV", defaultForm: "form/Sample/販売管理/請求書.xml", data: { // nameには「請求書」をUTF-8でエンコードした文字列指定 name: "%E8%AB%8B%E6%B1%82%E6%9B%B8", csvString: csvdata }});
// [戻り値]{ artifactId: "411e2d3e-60c2-4f0d-9298-87e49b565b09", actionId: "0afc1417-e564-4274-b224-49aeed29e3b2", ticket: "18b2b4526cf8d3f7a6ecb1d23fed49f9602ab0d86acc272a7d49d52498cce33f"}$fn.svf.artifacts.info()
[印刷] -成果物情報の取得
パラメータ
| name | type | require | description |
|---|---|---|---|
| token | string | 〇 | アクセストークン |
| artifactId | string | 〇 | 成果物 ID |
戻り値
「成果物情報の取得 - レスポンス」に準じた JavaScript object形式で戻ります。
サンプル
// [アクション]const results = await $fn.svf.artifacts.info({ token: "fa074d728eef1bfb1da897de1f64b53dae7857e87dd0b8b96d9f65e06da43e9f", artifactId: "411e2d3e-60c2-4f0d-9298-87e49b565b09"});$fn.svf.artifacts.download()
[印刷] -成果物のダウンロード
パラメータ
| name | type | require | description |
|---|---|---|---|
| token | string | 〇 | アクセストークン |
| artifactId | string | 〇 | 成果物 ID |
| actionId | string | 〇 | アクション ID |
| ticket | string | 〇 | ワンタイムチケット |
| file | string | 〇 | 出力ファイル |
| timeout | number | タイムアウト時間(秒) |
戻り値
なし
サンプル
// [アクション]await $fn.svf.artifacts.download({ token: "fa074d728eef1bfb1da897de1f64b53dae7857e87dd0b8b96d9f65e06da43e9f", artifactId: "411e2d3e-60c2-4f0d-9298-87e49b565b09", actionId: "0afc1417-e564-4274-b224-49aeed29e3b2", ticket: "18b2b4526cf8d3f7a6ecb1d23fed49f9602ab0d86acc272a7d49d52498cce33f", file: "/sales/2022_06.pdf", timeout: 60});$fn.svf.actions.status()
[印刷状況] - 印刷状況の取得
パラメータ
| name | type | require | description |
|---|---|---|---|
| token | string | ○ | アクセストークン |
| actionId | string | ○ | アクション ID |
戻り値
印刷状況の取得 - レスポンスに準じた JavaScript object形式で戻ります。
サンプル
// [アクション]const results = await $fn.svf.actions.status({ token: "fa07d725eef1fb81da897f6f64b53deae378e7dd0b8b96d9f65e06dda43e9f", actionId: "c3180e6c-5f8a-4aef-ab44-b238ce4a7a35"});