LoginSignup
0
2

More than 1 year has passed since last update.

GASでクラウドサインの契約書を作成する

Last updated at Posted at 2021-07-11

2021/07/11時点の情報です

はじめに

クラウドサインを作成するには利用申し込みが必要となります。詳細はこちら

作成の流れ

1. tokenを取得

引数

  • clientId
    • 各アカウントごとに固有

ソース

token取得
function getToken(clientId){
  const url = 'https://api.cloudsign.jp/token'
    + `?client_id=${clientId}`;

  const response = UrlFetchApp.fetch(url);
  const json = JSON.parse(response.getContentText());
  return json.access_token;
}

2. 書類を作成

引数

  • token
    • 1で取得したtoken
  • templateId
    • テンプレートのID。テンプレートをひらいた際のurlから判断できます

ソース

書類を作成

function createDocument(token, templateId){

  const url = 'https://api.cloudsign.jp/documents';

  const options = {
    headers : {
      'accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': `Bearer ${token}`
    },
    method : 'post',
    payload : `template_id=${templateId}`
  };
  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());
  return json;
}

余談 書類を取得
function getDocument(token, documentId){
  const url = `https://api.cloudsign.jp/documents/${documentId}`;
  const options = {
    headers : {
      'accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': `Bearer ${token}`
    },
    method : 'get',
  };
  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());
  return json;
}

3. 送信先を設定

引数

  • token
    • 1で取得したtoken
  • documentId
    • 2で作成したdocumentのid
  • destinationId
    • 0が送信元、1が送信先に(現在)なっています。
  • email
    • 設定したいメール
  • name
    • 設定したい名前

ソース

送信先を設定
function setDestination(token, documentId, destinationId, email, name){

  const url = `https://api.cloudsign.jp/documents/${documentId}/participants/${destinationId}`;

  const options = {
    headers : {
      'accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': `Bearer ${token}`
    },
    method : 'put',
    payload : `email=${email}&name=${name}`
  };
  UrlFetchApp.fetch(url, options);
}

4. 入力項目を設定

引数

  • token
    • 1で取得したtoken
  • documentId
    • 2で作成したdocumentのid
  • fileId
    • 2で作成したdocumentに付随するfileのid
  • widgetId
    • 2で作成したdocumentに付随するwidgetのid
    • テンプレートからのidは紐付いていないので、2の時点でwidgetIdListを保持しておくのがベター
  • text
    • 設定したいテキスト

ソース

入力項目を設定
function setForm(token, documentId, fileId, widgetId, text){

  const url = `https://api.cloudsign.jp/documents/${documentId}/files/${fileId}/widgets/${widgetId}`;

  const options = {
    headers : {
      'accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': `Bearer ${token}`
    },
    method : 'put',
    payload : `text=${text}`
  };
  UrlFetchApp.fetch(url, options);
}
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2