Acrobat Services APIをREST APIで実行してみよう

# はじめに
[前回の記事](https://qiita.com/ryos_adobe/items/7fb1041f908dd6139ca7)にて、Acrobat Services APIの始め方を紹介しましたが、今回はREST APIでの実行方法について紹介していこうと思います。Acrobat Services APIにおけるREST APIのメリットの一つとしては、ファイルに対する柔軟な操作が可能な点にあります。Acrobat Services APIでは、通常Adobe Cloud上にファイルをアップロード⇒API処理⇒ダウンロードというのが一回の処理の流れになりますが、REST APIの場合、アップロードされたファイルに対して、後から自由にリクエストを実行する事が出来ます。

![{9276065C-CCD7-4BC6-866A-C7DAD7DB730B}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/8bdd53d2-d047-4eef-fa21-80b27d6aaaf9.png)

下記はAdobe Document Services APIの機能の概要です。これらのPDFに関する様々なオペレーションを自動化及び効率化する事が出来ます。こちらも詳しくは[前回の記事](https://qiita.com/ryos_adobe/items/7fb1041f908dd6139ca7)に記載しておりますので、よろしければ併せてご覧下さい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/5938e8e6-fb1b-d5c6-0c4b-5e1424de540d.png)

また、Acrobat Services APIにおけるREST APIの利用方法に関するリファレンスは、以下のページから確認可能です。

https://developer.adobe.com/document-services/docs/apis/

### 事前準備について

今回は、PostmanというGUIツールを使ってREST APIを実行していきます。なお、この記事の執筆時点では、Postman v11.22.0 を利用しています。もし同様に実行される方は、[Postmanのサイト](https://www.postman.com/)からダウンロードしインストールしてください。

### 今回の作業の流れ

今回の作業の流れとしては、以下の通りです。出来る限り細かく流れを確認しつつ進めたいので、最小のリクエスト単位で実行処理を進めていきます。項目毎に簡単な説明を入れてありますので、ここでは大まかな流れだけ把握出来れば問題ありません。

- **事前準備**
    - Postmanの作業環境作成
    - クレデンシャルの取得
　
- **本番作業**
    - アクセストークンの作成
    - アップロード用のURLを発行
    - Wordファイルをアップロード
    - APIによる処理を実行 (Word⇒PDF変換)
    - ダウンロード用のURLを発行
    - 変換したPDFファイルをダウンロード
    - APIによる処理を実行 (PDFを圧縮)
    - ダウンロード用のURLを発行
    - 圧縮したPDFファイルをダウンロード
    - アップロードしたファイルを削除

# PostmanによるREST API実行環境を作成

### Postmanの実行環境の説明
Postmanの実行環境としては、以下の層形式になっています。
**ワークスペース ＞ コレクション ＞ リクエスト**

それぞれの機能としては以下の通りとなります。
* **ワークスペース** ・・・ 複数のコレクションを束ねたプロジェクト管理用のコンテナ
* **コレクション** ・・・ 複数のリクエストを束ねたモジュール管理用のコンテナ
* **リクエスト**  ・・・ REST APIのリクエストを行う最小の単位

今回は、個人用の実行環境として新規にワークスペース作成から始めていきます。

### Postmanでワークスペースを作成
Postmanを起動し、ホーム内の左メニューからワークスペースを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/a65afae7-a252-1233-215f-a5dfb350a686.png)

右上に`Create Workspace`が表示されるので、これを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/3c1d1ee4-0612-3997-1863-5debd5550f88.png)

左のメニューから、空のワークスペースを選択し次に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/db68f409-0cbf-4236-f06b-30f851df33cf.png)

今回は、`Acrobat REST API Test`という名前でワークスペースを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/444f0204-985b-0305-6b20-25ab82e2c68e.png)

### コレクションの作成
ワークスペースが出来たので、次にコレクションを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/c80f9c5f-33a4-b018-f8e6-117a79374df8.png)

### リクエストの作成

コレクションが出来たので、次にリクエストを追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/5ce3e682-9bce-305b-d99d-999ecbb27845.png)

REST APIの実行場所となる新規のリクエストが追加されました。

![{A442B0E0-A96E-4A79-B5D0-09DAA70E2F21}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/22c38938-42bb-2765-0203-e16f95ca66b5.png)

# クレデンシャルを取得

### クレデンシャルの説明
クレデンシャルは、API接続時に必要な認証情報を指します。今回は、既にクレデンシャルが作成されている事を前提に進めていきますが、まだ作成されていない方は、以下の記事で作成方法を紹介しておりますのでこちらをご確認下さい。
[Adobe Document Services APIを使ってみよう](https://qiita.com/ryos_adobe/items/7fb1041f908dd6139ca7)

### クレデンシャルの確認

[Adobe Developer](https://developer.adobe.com/document-services/apis/pdf-services/)右上の`Console`を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/34ce9c0f-b953-8389-1eca-4739d2ce67b4.png)

クレデンシャルを複数作成している場合は、利用するクレデンシャルを一つ選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/e2420a36-3a87-ff81-d296-18bea38ecba1.png)

`Client ID`が表示されるので、こちらの情報をテキストにメモします。メモ出来たら、`Generate access token`を選択し、`Client Secret`の確認画面に移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/b1de9786-f921-81d2-0ba3-c253f645ddb3.png)

`Retrieve client secret`を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/38e7e82e-cb37-1edb-b99d-6e50d6015445.png)

`Client Secret`が表示されるので、こちらの情報をテキストにメモします。メモ出来たら、こちらのページはこれ以降は利用しませんので閉じて問題ありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/b8212e62-eb03-47c7-b693-c29cf2d83cfc.png)

|種別                     |値                                   |説明                       |
|---                     |---                                  |---                       |
|Client ID               |XXXXXXXXXXXXXXX                      |クライアントID             |
|Client Secret           |XXXXXXXXXXXXXXX                      |クライアントキー            |

# アクセストークンの取得

### アクセストークンの説明

アクセストークンは、クレデンシャルを使用して作成されるAcrobat Services API接続用の資格情報です。このトークンは一時的に有効なもので、発行から24時間(84,000秒)経過すると失効します。日を空けて実行する際等は、再度アクセストークンの取得から開始する必要があります。

### アクセストークンの発行

先ほどメモしたクレデンシャルを使って、アクセストークンを発行します。作成したPostmanのリクエスト画面を表示し、パラメーターをボディに変更、`application/x-www-form-urlencoded`スキーマを選択した後、下の表に従ってキーと値を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/bfb18c7d-5e2f-f35c-3134-87aec1153aeb.png)

|キー                    |値                                   |説明                       |
|---                     |---                                  |---                       |
|client_id               |XXXXXXXXXXXXXXX                      |クライアントID             |
|client_secret           |XXXXXXXXXXXXXXX                      |クライアントキー            |

`POST`を選択して以下のどちらかのリージョンの`URL`を指定し、送信します。これ以降に発生するPOST処理については、ここで選択したリージョンと同一の`URL`を選択して下さい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/4af3a5b8-8ac0-fd44-1b5f-b4d6fb02aaac.png)

|リクエスト          |URL                                      |説明                       |
|---                |---                                      |---                        |
|POST               |https://pdf-services-ue1.adobe.io/token  |USリージョン                |
|POST               |https://pdf-services-ew1.adobe.io/token  |EUリージョン                |

アクセストークンが発行されるので、トークン本体の長い文字列をテキストにメモします。

![{4CB72D82-2C23-4D9E-B343-77DB8ECBE176}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/df5ef26a-481f-08d3-0747-ec438a517eb6.png)

|種別               |値                                       |説明                  |
|---                |---                                      |---                  |
|access_token       |XXXXXXXXXXXXXXX（英数字の長い文字列）      |トークン本体          |
|token_type         |bearer                                   |トークンのタイプ       |
|expires_in         |86399                                    |トークンの有効期限     |

# ファイルアップロード用URLの取得

先ほどメモしたアクセストークンを使って、ファイルアップロード用の`URL`を発行します。`POST`を選択して、アクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定します。次にヘッダーを選択し、下の表に従ってキーと値を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/106f2809-afe2-dba6-98bc-71e5834442ce.png)

|リクエスト          |URL                                       |説明                       |
|---                |---                                       |---                        |
|POST               |https://pdf-services-ue1.adobe.io/assets  |USリージョン                |
|POST               |https://pdf-services-ew1.adobe.io/assets  |EUリージョン                |

|キー                    |値                           |説明                 |
|---                     |---                         |---                  | 
|Authorization           |Bearer XXXXXXXXXXXXXXX      |Bearer + トークン本体 |
|x-api-key               |XXXXXXXXXXXXXXX             |Client ID            |

今回は、wordファイルをアップロードする為、`Media Type`を`word`の形式で指定します。パラメーターをボディに変更し、`RAW`スキーマ(`JSON`形式)を選択、下のスクリプトを入力し送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/ee9dd77d-9225-55df-fcb5-b5033d2619d3.png)

```diff_json
{
"mediaType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
}
```

以下は、よく使う`mediaType`を記載しています。 (`Microsoft Office`と`pdf`)
`mediaType`は、ファイル形式に応じて変更して下さい。 (検索すると色々出てきます)

|ファイルの種類            |拡張子  |Media Type (MIME Type)   |
|---                      |---                                        |---                   |
|Portable Document Format |.pdf   |application/pdf          |
|Microsoft Word           |.docx  |application/vnd.openxmlformats-officedocument.wordprocessingml.document          |
|Microsoft Excel          |.xlsx  |application/vnd.openxmlformats-officedocument.spreadsheetml.sheet                |
|Microsoft PowerPoint     |.pptx  |application/vnd.openxmlformats-officedocument.presentationml.presentation        |

ファイルアップロード用の`URL`とファイルの`ID`が発行されるので、これらをテキストにメモします。

![{D550B74C-AC89-4964-B888-4F59BE22375C}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/dc9d3c7c-b979-f90a-2b03-d177d52534fa.png)

|種別            |値                                       |説明                         |
|---             |---                                      |---                         |
|uploadUri       |https\://XXXXXXXXXXXXXXX                 |ファイルアップロード用のURL    |
|assetID         |XXXXXXXXXXXXXXX                         |アップロードファイルのID       |

# ファイルのアップロード

`URL`が発行されたので、次にファイルのアップロードを行います。まずは、入力済みのヘッダ情報の二つの項目のチェックを外します。なお、ヘッダ情報が入力されていると、ファイルのアップロードに失敗します。(ファイルのアップロードは認証不要の為)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/07c55301-9607-b420-6166-6eb9f324135a.png)

パラメーターをボディに変更し、`+ New file from local machine`を選択してローカルにあるwordファイルを指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/08518885-5765-dbe2-16d6-83e555099b3b.png)

`PUT`を選択して、ファイルアップロード用`URL`を指定し送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/cb6c6558-7ced-6686-2688-1901be1717af.png)

|リクエスト       |URL                     |説明                       |
|---             |---                     |---                        |
|PUT             |https\://XXXXXXXXXXXXXXX |ファイルアップロード用のURL  |

`200 OK`の結果が出力され、アップロードに成功しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/330a5d2e-2217-360a-30c8-2e8d6d824f3c.png)

念の為、ファイルが問題無くアップロードされているか確認してみます。`GET`を選択してアクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定し、`URL`内の`[アセットID]`をファイルアップロード用の`URL`取得時に併せてメモしたファイルの`ID`に置き換えます。次に先ほどチェックを外したヘッダ情報の二つの項目にチェックを入れ、送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/b9fe1c16-524f-4124-38be-2949dae050e5.png)

|リクエスト   |URL                                                            |説明         |
|---         |---                                                            |---          |
|GET         |https://pdf-services-ue1.adobe.io/assets/[アセットID]/metadata  |USリージョン  |
|GET         |https://pdf-services-ew1.adobe.io/assets/[アセットID]/metadata  |EUリージョン  |

`200 OK`の結果が出力され、ファイルが存在している事が確認出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/cfbf6c2e-80ee-1dab-63a4-8c688d10beed.png)

ファイルが存在しない場合は、以下の通り`404 Not Found`の結果が出力されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/42f5026a-8d99-dd99-6592-9b8e387ef197.png)

# アップロードしたWordファイルをPDFファイルに変換

アップロードしたWordファイルに対して、APIによるPDF変換処理を行います。`POST`を選択して、アクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定します。次にヘッダ情報は有効化したままでパラメーターをボディに変更し、`RAW`スキーマ(`JSON`形式)を選択、下のスクリプト内の`[アセットID]`をファイルアップロード用のURL取得時に併せてメモしたファイルの`ID`に置き換えて入力し、送信します。

※スクリプト内の`notifiers`の項目は、有効にする事でWebhookを用いて指定した`URL`に通知を行う事が可能となりますが、今回は利用せずに`dummy`を指定しています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/11b53f13-46ba-a980-95f5-87f3c3417cfe.png)

|リクエスト  |URL                                                    |説明          |
|---        |---                                                    |---           |
|POST       |https://pdf-services-ue1.adobe.io/operation/createpdf  |USリージョン   |
|POST       |https://pdf-services-ew1.adobe.io/operation/createpdf  |EUリージョン   |

```diff_json
{
  "assetID": "[アセットID]",
  "documentLanguage": "en-US",
  "notifiers": [
    {
      "type": "CALLBACK",
      "data": {
        "url": "https://dummy.callback.org/",
        "headers": {
          "x-api-key": "dummykey",
          "access-token": "dummytoken"
        }
      }
    }
  ]
}
```

`201 Created`の結果が出力され、ファイル変換のAPI処理に成功しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/c69f20fe-234f-7baa-78f9-a638db53ee0e.png)

# PDF変換したファイルのダウンロード

先ほどのPDF変換処理後の出力結果のヘッダーから`location`を確認し、`URL`の値をメモします。

※補足ですが、このURLの中には`x-request-id`という文字列が埋め込まれており、この`ID`はジョブIDとも呼ばれ、問題発生時の問い合わせに利用する事が出来ます。以下の記事にジョブID、ログに関連した情報が記載されていますので、良ければご参照下さい。
[Acrobat Services APIのログ取得とリクエストIDの確認方法](https://qiita.com/azblueground/items/3748c0b9b3ed82663586)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/e8254471-f4aa-1587-1f94-4bd5fe4e1bec.png)

|リクエスト       |URL                           |説明                                |
|---             |---                           |---                                 |
|GET             |https\://XXXXXXXXXXXXXXX       |Acrobat Services API上の保存場所     |

`GET`を選択し、`location`の`URL`を入力後、パラメーターをボディに変更しスキーマは指定せずに送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/705b5bb0-8379-d656-fc17-bb41b694444a.png)

|リクエスト       |URL                           |説明                                |
|---             |---                           |---                                 |
|GET             |https\://XXXXXXXXXXXXXXX       |Acrobat Services API上の保存場所     |

ファイルダウンロード用の`URL`とファイルの`ID`が発行されるので、これらをテキストにメモします。

![{0B3A7328-BCA8-4F61-8FFB-73214F3591A9}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/105a05b0-6aa9-60b8-0e90-9c3f21b61bb5.png)

|種別            |値                                       |説明                         |
|---             |---                                      |---                         |
|uploadUri       |https\://XXXXXXXXXXXXXXX                  |ファイルダウンロード用のURL    |
|assetID         |XXXXXXXXXXXXXXX                          |ダウンロードファイルのID       |

`URL`が発行されたので、ファイルのダウンロードを行います。`GET`を選択し、ファイルダウンロード用の`URL`を指定します。次にヘッダ情報の二つの項目のチェックを外して送信します。(ファイルのダウンロードは認証不要)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/6893e583-e037-7270-08a1-2077db3e4f77.png)

|リクエスト       |URL                     |説明                         |
|---             |---                     |---                          |
|GET             |https\://XXXXXXXXXXXXXXX | ファイルダウンロード用のURL   |

Wordファイルから変換したPDFファイルが出力結果として表示されました。

![{E8D99F25-F84B-43FD-855F-D60AD130B8BC}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/c7ebfbd8-2c35-071f-6ab9-f80b221bec97.png)

# 変換したPDFファイルを圧縮処理

Wordファイルから変換したPDFファイルに対して、今度はAPIによる圧縮処理を行う事で容量を削減します。まずは、先ほどチェックを外したヘッダ情報の二つの項目にチェックを入れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/ff0efd0c-dd8e-010f-98c9-6e9549e8b9a0.png)

`POST`を選択して、アクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定します。次にパラメーターをボディに変更し、`RAW`スキーマ(`JSON`形式)を選択、下のスクリプト内の`[アセットID]`を先ほどのPDF変換後に発行したファイルダウンロード用の`URL`取得時に、併せてメモしたファイルの`ID`に置き換えて入力し送信します。

※スクリプト内の`notifiers`の項目は、有効にする事でWebhookを用いて指定した`URL`に通知を行う事が可能となりますが、今回は利用せずに`dummy`を指定しています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/2a8f9c29-5027-98b5-24ce-af5125e83a56.png)

|リクエスト  |URL                                                      |説明          |
|---        |---                                                      |---           |
|POST       |https://pdf-services-ue1.adobe.io/operation/compresspdf  |USリージョン   |
|POST       |https://pdf-services-ew1.adobe.io/operation/compresspdf  |EUリージョン   |

```diff_json
{
  "assetID": "[アセットID]",
  "compressionLevel": "LOW",
  "notifiers": [
    {
      "type": "CALLBACK",
      "data": {
        "url": "https://dummy.callback.org/",
        "headers": {
          "x-api-key": "dummykey",
          "access-token": "dummytoken"
        }
      }
    }
  ]
}
```

`201 Created`の結果が出力され、ファイル圧縮のAPI処理に成功しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/97dd712c-0679-0e1f-3188-92fc3911ca4d.png)

# 圧縮処理したPDFファイルのダウンロード

先ほどのPDF圧縮処理後の出力結果のヘッダーから`location`を確認し、`URL`の値をメモします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/f1e519a8-2ad6-08bc-02fe-93883f5244a1.png)

|キー            |値                         |説明                               |
|---             |---                       |---                                |
|locatoin        |https\://XXXXXXXXXXXXXXX   |Acrobat Services API上の保存場所    |

`GET`を選択し、`location`のURLを入力後、パラメーターをボディに変更しスキーマは指定せずに送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/6a1d686b-3b27-3af8-cfae-7aa4ab08cb70.png)

|リクエスト       |URL                           |説明                             |
|---             |---                           |---                              |
|GET             |https\://XXXXXXXXXXXXXXX       |Acrobat Services API上の保存場所  |

ファイルダウンロード用の`URL`とファイルの`ID`が発行されるので、これらをテキストにメモします。

![{39DC2CD6-EA4C-465B-B476-5F2B26068E1E}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/b327dbfc-f178-bede-72be-98526f033a4e.png)

|種別            |値                                       |説明                         |
|---             |---                                      |---                         |
|uploadUri       |https\://XXXXXXXXXXXXXXX                  |ファイルダウンロード用のURL    |
|assetID         |XXXXXXXXXXXXXXX                          |ダウンロードファイルのID       |

`URL`が発行されたので、ファイルのダウンロードを行います。`GET`を選択し、ファイルダウンロード用の`URL`を指定します。次にヘッダ情報の二つの項目のチェックを外して送信します。(ファイルのダウンロードは認証不要)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/d93b92f8-5041-b22b-a9eb-a02dcbdacb81.png)

|リクエスト       |URL                     |説明                       |
|---             |---                     |---                        |
|GET             |https\://XXXXXXXXXXXXXXX | ファイルダウンロード用のURL |

圧縮処理したPDFファイルが出力結果として表示されました。

![{4A530875-1CF8-43A8-AB72-327BB621653A}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/a4856940-48d5-88b2-09d6-2b5703957363.png)

左が圧縮前、右が圧縮後のPDFです。右の方がわずかに容量が小さくなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/05fe2b0e-9a17-ad80-3dab-d15625afd087.png)

# アップロードしたファイルの削除

今回は、以下の三つのファイルがAcrobat Services API上に存在しており、それぞれで削除を実行します。手順はいずれも同様の為、今回は1回分のみ記載しています。なお、アップロードされたファイルの保持期間は24時間の為、意図的に削除を行わずとも24時間後には自動的に削除される仕組みとなります。

|種別            |値                                       |説明                   |
|---             |---                                      |---                    |
|assetID         |XXXXXXXXXXXXXXX                          |処理前のWordファイル    |
|assetID         |XXXXXXXXXXXXXXX                          |変換後のPDFファイル     |
|assetID         |XXXXXXXXXXXXXXX                          |圧縮後のPDFファイル     |

まずは、ファイルが存在しているか確認してみます。`GET`を選択してアクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定し、`URL`内の`[アセットID]`を上記のいずれかのファイルの`ID`に置き換えます。次に先ほどチェックを外したヘッダ情報の二つの項目にチェックを入れ、送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/4a7ada4f-62e6-5b8d-6e08-a5460d05b8f2.png)

|リクエスト   |URL                                                            |説明         |
|---         |---                                                            |---          |
|GET         |https://pdf-services-ue1.adobe.io/assets/[アセットID]/metadata  |USリージョン  |
|GET         |https://pdf-services-ew1.adobe.io/assets/[アセットID]/metadata  |EUリージョン  |

`200 OK`の結果が出力され、ファイルが存在している事が確認出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/c3656c16-30a5-01ff-08ce-2a53937e04d6.png)

それでは、ファイルの削除を行います。`DELETE`を選択してアクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定し、`URL`内の`[アセットID]`を先ほど選択したファイルの`ID`に置き換え、送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/60674176-c79e-fb6f-bfec-75d641101bb4.png)

|リクエスト   |URL                                                            |説明         |
|---         |---                                                            |---          |
|DELETE      |https://pdf-services-ue1.adobe.io/assets/[アセットID]           |USリージョン  |
|DELETE      |https://pdf-services-ew1.adobe.io/assets/[アセットID]           |EUリージョン  |

`204 No Content`の結果が出力されれば、ファイルの削除に成功しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/0f974302-ea0b-c722-f302-48333a4af934.png)

最後に、ファイルが削除されているか確認してみます。`GET`を選択してアクセストークン作成時に指定したリージョンと同一リージョンの`URL`を以下から指定し、`URL`内の`[アセットID]`を先ほど選択したファイルの`ID`に置き換え、送信します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/243bcfad-ee67-2c6b-0d3d-752c9176471c.png)

|リクエスト   |URL                                                            |説明         |
|---         |---                                                            |---          |
|GET         |https://pdf-services-ue1.adobe.io/assets/[アセットID]/metadata  |USリージョン  |
|GET         |https://pdf-services-ew1.adobe.io/assets/[アセットID]/metadata  |EUリージョン  |

`404 Not Found`の結果が出力され、ファイルが存在していない事が確認出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812776/fa5b0907-d0c6-cf23-fc92-f3c07f32d78d.png)

# まとめ
今回の記事では、REST APIの利用方法と流れについて紹介しました。今回利用したPostmanは、コレクションやリクエストを多数作成する事は勿論、履歴の確認、まとめて実行やフローを作成する事も出来、効率的なシステム開発を行う事が出来ます。また、[Adobe developer](https://developer.adobe.com/)でもPostman向けのサンプルコードが多数用意されており、今回の一連の流れを1スクリプトで実行する事も可能です。以下のREST APIのページの上部にPostmanのサンプルコードがありますので、ご確認下さい。

https://developer.adobe.com/document-services/docs/apis/

また、[Acrobat Services API Use Casesのページ](https://developer.adobe.com/document-services/use-cases/agreements-and-contracts/sales-proposals-and-contracts/)や、[Adobe Document Cloud 公式YouTube](https://www.youtube.com/@AdobeDocumentCloudJP)にも活用のヒントがたくさん含まれていますので、そちらも是非ともご活用下さい。

もし本格的に導入を検討したい方がおられましたら、以下のページからご相談頂く事が可能なので、是非ともお気軽にお問合せ下さい。

https://developer.adobe.com/document-services/pricing/contact/sales/?s_cid=7015Y0000048nxKQAQ&s_iid=7015Y000003pFaCQAU