PostmanのAPIコレクションを使ってコラボフローAPIを爆速で試す🚀

この記事は コラボフロー Advent Calendar 2023 の 17日目 の記事です。

https://qiita.com/advent-calendar/2023/collaboflow

今回は、API実行シリーズに殴り込みです。

（Qといえば、やっぱりスタートレックのQだよね🤔・・・分からんかぁ😢）


## API試すシリーズ追加ぁ🍺

コラボフローのREST APIを試すシリーズは、いくつかあります。

1. [コラボフロー REST APIをInsomniaで簡単実行しちゃお！ - Qiita](https://qiita.com/sumichan/items/edc6091966280993a214)
1. [コラボフロー REST APIって叩いてみた？ - Qiita](https://qiita.com/nonbin/items/87639a44b684b40947a7)
1. [PowerShellでコラボフローのREST APIを実行してみよう！ - Qiita](https://qiita.com/narubo/items/1239cfe519f7cb63f28b)

Insomniaの簡単実行は、かなり強力、、、
同じくらい楽は出来ないのか・・・😇

### Postman の APIネットワーク を使うよー

ということで！

Postman を使います。（Postmanのロゴ、かわいい～🧑‍🚀）

https://www.postman.com/


以下の資料と記事を参考に、
爆速で利用できるよう Postman APIネットワークへ
コラボフローAPIを追加しました🚀

https://speakerdeck.com/nagix/postman-apinetutowakuwoshi-tuteapiwogong-kai-siyou

https://apidog.com/jp/blog/how-to-import-swagger-apis-to-postman/



## やってくぞ🚀


### 0️⃣ 大前提

コラボフローのクラウド環境を有しており、
APIキーの発行が完了している状況を前提とした記事になってます🙏

* [30日間無料お試し \| ワークフローはコラボフロー](https://www.collabo-style.co.jp/trial/)
* [コラボフローREST APIのAPIキーを取得する – コラボフローサポート](https://collaboflow.zendesk.com/hc/ja/articles/360000262636)

※認証キーの生成は、自動で行うのでAPIキーの取得のみで問題ないです🙌

### 1️⃣ サインイン

まずは、Postmanのアプリをダウンロードして起動💁
起動後にサインイン！💁💁

https://www.postman.com/downloads/


### 2️⃣ ワークスペースを探す

Postmanの上部メニューの Search Postman をクリックして
「***collaboflow***」 と入力すると、 collaboflow API の workspace が見つかります。

![search1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952882/c7efe0a6-3353-6eeb-09fa-bb7425eec671.gif)

※見つからない人は、[ここをクリックしてね😘](https://collabostyle.postman.co/workspace/ea58afab-7e2e-4980-89d8-851f3de685d6/collection/31733551-f478587e-4db3-4b6d-a453-1c1e729f05e9)


### 3️⃣ フォークする


#### 3️⃣-1️⃣ コレクションのフォーク

[collaboflow workspace](https://www.postman.com/collabostyle/workspace/collaboflow/) の Collections から collaboflow API を選択して、
三点リーダーから Creating A fork をクリックします。

コレクションの名称は、任意に変更して、 
Fork Collection ボタンをクリックします。

![fork1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952882/1dadc25f-3d77-3c71-691a-0309778121d1.gif)

##### コレクション内の pre-request script について

[Pre-request Script](https://learning.postman.com/docs/writing-scripts/pre-request-scripts/) にて、API実行前にAPIキー認証を生成して設定するようにしてあります😶‍🌫️

設定コード：

``` js

// 環境変数から認証に必要な情報を取得する
const userId = pm.environment.get('userId');
const apiKey = pm.environment.get('apiKey');

// APIキー認証のフォーマットで、Base64 Encoded
const base64encodedAuthorization = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(`${userId}/apikey:${apiKey}`));

// 環境変数の認証情報変数に設定
pm.environment.set("base64EncodedAuthorization", base64encodedAuthorization);
```

参考：

https://blog.kyash.co/entry/2021/09/03/095714


#### 3️⃣-2️⃣ 環境のフォーク

[collaboflow workspace](https://www.postman.com/collabostyle/workspace/collaboflow/) の Envrionments から Example を選択して、
三点リーダーから Creating A fork をクリックします。

![fork2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952882/926f3a8e-dcc5-1a2f-d9be-facf4a2e2867.gif)

Environment の名称は、任意に変更して、 
Fork Environment ボタンをクリックします。

##### 環境変数を変更する

サイドバーメニューの Environments をクリックします。　　

以下の変数の Current value に、
自分の有しているコラボフローの環境情報を入力して Save します。

| Variables |  補足 |
|:-|:-|
| userId  | APIを実行するユーザー |
| apiKey  | APIキー
| instance  | [コラボフローのインスタンス名](https://collaboflow.zendesk.com/hc/ja/articles/4425823538575) |

##### 設定例：

![environment_value.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952882/71d37bbe-100f-8d49-8113-821c43c368ff.png)


※注：[Current valueを変更しても、自環境にしか保存されていません。安心・・・😌](https://learning.postman.com/docs/sending-requests/variables/#initial-and-current-values)


### 4️⃣ APIを実行する

右上の Environments からAPIの環境情報を選択します。

試したいAPIをクリックして展開し、文書IDなどAPI実行に必要なパラメーターを入力して・・・

Send ボタンをクリック～🥳

![send_result.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2952882/fa1f6c33-33c5-e684-cb95-21e7d19a7302.gif)

※注：PostやDeleteしたデータは、元に戻せませんのでご注意ください🛐


## Postmanを使うメリット💡

自分のワークスペースにコレクションや環境情報をフォークすることで、
コレクションを編集したり、テスト用の環境情報を増やしたり、
別のサービスのAPIコレクションを追加したり、

https://learning.postman.com/docs/collaborating-in-postman/using-version-control/forking-elements/


また、チームで利用する各種APIを試す環境を整えれば、有効に活用できると思います🤚

https://learning.postman.com/docs/administration/managing-your-team/managing-your-team/


いっじょう～🧑‍🚀🚀


---

18日目は、 @narubo さんです～
お楽しみに😘