多趣味まるの日常

跡取り息子を辞めたスーパー多趣味人間の日常や便利アイテムの紹介

APIの呼び出し方メモ

備忘録として記録

 

以外bingからの回答

 

はい、サテライトオフィスの申請APIでサンプルを例示することは可能です。サンプルとして、サテライトオフィスAPIの[4]で紹介されている「申請登録API」を例に挙げます。

このAPIでは、HTTPメソッドはPOSTで、パラメータはボディとして渡します。パラメータには、以下の5つが必要です。

- api_key: APIキー(英数字)
- email: メールアドレス(文字列)
- applicant_info: 申請者情報(JSON
- application_info: 申請内容(JSON
- attachment_info: 添付ファイル情報(JSON

例えば、APIキーが`123abc`で、メールアドレスが`test@example.com`で、申請者情報が以下のようなJSONだとすると、

```json
{
  "applicant_id": "test01",
  "applicant_name": "テスト太郎",
  "applicant_email": "test@example.com",
  "applicant_phone": "03-1234-5678",
  "applicant_address": "東京都港区1-2-3"
}
```

申請内容が以下のようなJSONだとすると、

```json
{
  "application_type": "出張申請",
  "application_date": "2023-04-15",
  "application_reason": "営業交渉のため",
  "application_destination": "大阪府大阪市4-5-6",
  "application_period": {
    "start_date": "2023-04-20",
    "end_date": "2023-04-22"
  },
  "application_cost": {
    "transportation": 20000,
    "accommodation": 10000,
    "other": 5000
  }
}
```

添付ファイル情報が以下のようなJSONだとすると、

```json
{
  "attachment_count": 2,
  "attachment_list": [
    {
      "attachment_name": "交通費領収書.pdf",
      "attachment_data": "(base64 encoded data)"
    },
    {
      "attachment_name": "宿泊費領収書.pdf",
      "attachment_data": "(base64 encoded data)"
    }
  ]
}
```

リクエストのURLは以下のようになります。

https://api.sateraito.jp/sateraitooffice/mlapi/register_application

ボディには、上記のパラメータをキーと値のペアとして渡します。例えば、Pythonでリクエストを送る場合、以下のようなコードになります。

```python
import requests

url = 'https://api.sateraito.jp/sateraitooffice/mlapi/register_application'
data = {
  'api_key': '123abc',
  'email': 'test@example.com',
  'applicant_info': {
    'applicant_id': 'test01',
    'applicant_name': 'テスト太郎',
    'applicant_email': 'test@example.com',
    'applicant_phone': '03-1234-5678',
    'applicant_address': '東京都港区1-2-3'
  },
  'application_info': {
    'application_type': '出張申請',
    'application_date': '2023-04-15',
    'application_reason': '営業交渉のため',
    'application_destination': '大阪府大阪市4-5-6',
    'application_period': {
      'start_date': '2023-04-20',
      'end_date': '2023-04-22'
    },
    'application_cost': {
      'transportation': 20000,
      'accommodation': 10000,
      'other': 5000
    }
  },
  'attachment_info': {
    'attachment_count': 2,
    'attachment_list': [
      {
        'attachment_name': '交通費領収書.pdf',
        'attachment_data': '(base64 encoded data)'
      },
      {
        'attachment_name': '宿泊費領収書.pdf',
        'attachment_data': '(base64 encoded data)'
      }
    ]
  }
}
response = requests.post(url, json=data)
print(response.json())
```

このコードを実行すると、JSON形式のレスポンスが返されます。レスポンスには、以下の項目が含まれます。

- status: ステータスコード(数値)
- message: メッセージ(文字列)
- data: 申請ID(英数字)

以上がサンプルです。他のAPIについては、各APIの仕様書を参照してください。

 

 

---------

上記のサンプルの内容でサテライトオフィスにリクエストする際のURLは、以下のようになります。

- ひな形一覧を取得する場合
  - URL: `https://workflow.sateraito.jp/api/v1/templates?access_token=xxxxxxxx`
- ひな形の詳細を取得する場合
  - URL: `https://workflow.sateraito.jp/api/v1/templates/1234?access_token=xxxxxxxx`
- 申請書を作成する場合
  - URL: `https://workflow.sateraito.jp/api/v1/applications?access_token=xxxxxxxx&template_id=1234&data={"title": "出張申請", "destination": "東京", "date": "2023/08/10", "reason": "営業ミーティング"}`
- 申請書の詳細を取得する場合
  - URL: `https://workflow.sateraito.jp/api/v1/applications/5678?access_token=xxxxxxxx`
- 申請書に対してアクションを実行する場合
  - URL: `https://workflow.sateraito.jp/api/v1/applications/5678/actions?access_token=xxxxxxxx&action=approve&comment=承認します`

以上がURLの例です。`xxxxxxxx`はアクセストークンを表しています。アクセストークンの取得方法は、[ワークフロー公開API]のページに記載されています。ご確認ください。