GMO Sign: Retrieve Document File URL
This item retrieve document file URL specified control number from GMO Sign.
Configs for this Auto Step
- conf_OAuth2
- C1: Secret Key *
- cusId
- C2: Customer id *#{EL}
- accessUrl
- C3: Access url *#{EL}
- controlNumber
- C4: Document Control Number *
- documentsUrl
- C5: File(Document) download URL *
Script (click to open)
/*
JSON例
・アクセストークン生成 AccessToken_Generate_Post
{
"secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"cus_id": "XXXXXXXXXX"
}
・文書取得 Document_GetAll_Post
{
"secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"cus_id": "XXXXXXXXXX",
"access_token": "(取得したトークン)",
"control_number": "(取得した管理番号)",
"download_type": 2,
"operation": 1
}
//※署名済文書取得 だとうまく取れなかったので上記を使った
*/
main();
function main() {
//// == 工程コンフィグの参照 / Config Retrieving ==
//シークレットキーはHTTP認証設定のトークン直接指定に入れてもらう
const key = configs.getObject("conf_OAuth2").getToken() + "";
const cusId = configs.get("cusId") + "";
const accessUrl = configs.get("accessUrl") + "";
const dataId_documentsUrl = configs.get("documentsUrl");
//// == ワークフローデータの参照 / Data Retrieving ==
const controlNumber = engine.findData(configs.getObject("controlNumber")) + "";
//// == 演算 / Calculating ==
//アクセストークン取得
let accessToken = getAccessToken(key, cusId, accessUrl);
//文書ファイルURL取得
let documentsUrl = retrieveFileURL(key, cusId, accessUrl, accessToken, controlNumber);
//// == ワークフローデータへの代入 / Data Updating ==
engine.setDataByNumber( dataId_documentsUrl, documentsUrl );
/* アクセスログがあれば
if ( dataId_log !== "" ) {
engine.setDataByNumber( dataId_log, accessLog );
}
*/
}
/**
* アクセストークン取得
* @param {String} key シークレットキー
* @param {String} cusId 顧客ID
* @param {String} accessUrl 接続先URL
* @returns {String} アクセストークン
*/
function getAccessToken(key, cusId, accessUrl) {
//JSON準備
let requestObj = {};
requestObj.secret_key = key;
requestObj.cus_id = cusId;
//HTTPリクエスト送付
const url = "https://" + accessUrl + "/agree-api/v0/api/accesstoken/generate";
const response = httpClient.begin()
.body( JSON.stringify(requestObj), "application/json" )
.post(url);
const status = response.getStatusCode();
const responseStr = response.getResponseAsString();
if (status !== 200) {
engine.log(responseStr);
throw `Failed to get access token. status: ${status}`;
}
engine.log("responseStr:" + responseStr);//検証用
const json = JSON.parse(responseStr);
return json['result']['access_token'];
}
/**
* 文書ダウンロードURL取得
* @param {String} key シークレットキー
* @param {String} cusId 顧客ID
* @param {String} accessUrl 接続先URL
* @param {String} accessToken アクセストークン
* @param {String} controlNumber 文書管理番号
* @returns {String} 文書ダウンロードURL
*/
function retrieveFileURL(key, cusId, accessUrl, accessToken, controlNumber) {
//JSON準備
let requestObj = {};
requestObj.secret_key = key;
requestObj.cus_id = cusId;
requestObj.access_token = accessToken;
requestObj.control_number = controlNumber;
requestObj.download_type = 2;
requestObj.operation = 1;
engine.log("requestObj:" + JSON.stringify(requestObj));//検証用
//HTTPリクエスト送付
const url = "https://" + accessUrl + "/agree-api/v0/api/document/getAll";
const response = httpClient.begin()
.body( JSON.stringify(requestObj), "application/json" )
.post(url);
const status = response.getStatusCode();
const responseStr = response.getResponseAsString();
if (status !== 200) {
engine.log(responseStr);
throw `Failed to regist file. status: ${status}`;
}
engine.log("responseStr:" + responseStr);//検証用
const json = JSON.parse(responseStr);
return json['result']['documents_url'];
}
Download
- gmo-sign-document-retrieve-file-url.xml
- 2024-07-05 (C) Questetra, Inc. (MIT License)
Freely modifiable JavaScript (ECMAScript) code. No warranty of any kind.
(Installing Addon Auto-Steps are available only on the Professional edition.)
(Installing Addon Auto-Steps are available only on the Professional edition.)
Notes
- GMO Sign is a service provided by GMO GlobalSign Holdings, Inc.
- GMO Sign’s time stamping is included in the Scan Document Management function, which is included in the Security and Internal Control Pack (Information current as of 2024-07-25. The configuration may change, so please check with the provider.)
- To add a timestamp using GMO Sign, you need to use a combination of GMO Sign: Request for Timestamp and GMO Sign: Retrieve Timestamped File URL.
- For “Secret Key”, “Customer ID”, and “Access URL”, please specify the values provided by GMO GlobalSign Holdings, Inc. For “Secret Key”, please specify “Direct token specification” in “HTTP authentication settings”.
Capture

