「それさぁ、早く言ってよ〜」Alteryxのチェインアプリを使って、Sansan open APIのタグIDから名刺データを絞り込む

2019.09.30

こんにちは。DA部の兼本です。

Alteryxには、最初に実行したワークフローで作成したデータを次のワークフローに渡す「チェインワークフロー」という仕組みが用意されています。 今回は、Sansan Open APIを利用して、チェインワークフローの実例をご紹介します。

Sansanとは?

みなさんはクラウド名刺管理サービスの「Sansan」をご存知ですか? 松重豊さん扮する営業部長の「それさぁ、早く言ってよ〜」というCMが有名ですよね。

Sansanには、Webインターフェースやアプリが用意されているので、名刺情報を調べるときは助かっています。さらに、プログラムから名刺データにアクセスするためにOpen APIなどの外部連携機能も提供されており、至れり尽くせりな感じです。

Open APIでは、名刺データを期間指定で取得したり、条件指定で会社名や氏名、メールアドレス、タグ情報などで取得することもできます。

名刺Set取得(期間指定)

GET /bizCards{?updatedFrom,updatedTo,nextPageToken,
               includeTags,includePastBizCards,range,
               entryStatus,orderBy,orderDirection,limit}

名刺Set取得(条件指定)

GET /bizCards/search{?nextPageToken,includeTags,includePastBizCards,
                      range,companyName,name,email,tel,mobile,tagId,
                      entryStatus,orderBy,orderDirection,limit}

ただし、名刺Set取得の際に条件としてタグを使用する場合は「タグ名」ではなくて「タグID」を指定する必要があります。
タグIDはアプリやWebの画面では確認できないため、タグIDを取得するためには、事前にタグIDを取得するAPIを実行して、使用するタグのIDを確認する必要があります。

名刺のタグSet取得

GET/bizCards/{id}/tags{?nextPageToken,limit}

今回は、上記のように2段階でデータを取得しなければいけない場合の処理をチェインワークフローで実現します。

名刺のタグSet取得

2つのワークフローを作成して連携するように設定します。
最初のワークフローでは名刺のタグSetを取得するAPI(GET/bizCards/{id}/tags)を実行し、その結果をAlteryxのデータベース形式(*.yxdb)で保存します。

ワークフローを実行すると以下のデータを取得できます。生データなのでモザイク処理していますが、valueフィールドにタグIDが、nameフィールドにはタグ名が格納されています。

※フィールド名をnameとvalueという名称にしているのは、後工程で使用するための準備です。

タグIDを元にして、名刺Setの取得

2番目のワークフローでは、タグIDをフィルタ条件に設定して、名刺Setの取得を行います。

ダウンロードツール()では、条件で絞り込んだ名刺情報のSetを取得するAPI(GET /bizCards/search)を実行しています。

今回はタグIDで絞り込みをしたいと考えていますので、ワークフロー実行時にペイロードに含まれる「tagid」の値を動的に置き換える必要があります。
こんなとき、Alteryxではインターフェースツールを使用して、外部からの入力をパラメータとして受け取ることができます。

上に示したワークフロー図内の「インターフェースツールでワークフロー実行時に検索するタグを指定」と記述された枠内の処理がこれに当たります。

インターフェースツールではドロップダウンリストでタグ名を指定できるようにしていますが、このデータソースとして最初のワークフローで作成したyxmdファイルを使用しています。

ドロップダウンリストの値として外部ソースを使用する場合、リストに表示するアイテム名とその値をそれぞれ、「name」、「value」というフィールドに格納しておく必要があります。このため、最初のワークフローではタグ名とタグIDをそれぞれ、nameとvalueというフィールド名にしています。

チェインワークフローの設定

さて、これでチェインワークフローで使用する2つのワークフローを作成したわけですが、肝心の連携設定をまだしていません。

分析アプリの設定

これを行うために、再度最初に作成したワークフローを開き、設定のワークフロータブを表示します。

初期状態ではデータ型のラジオボタンが「標準ワークフロー」に設定されているはずなので、ここを「分析アプリ」に変更します。標準ワークフローから分析アプリに変更すると、ワークフロー実行時にパラメータを受け付けることができます。
チェインアプリの設定を行うためには、ワークフローが分析アプリとして設定されている必要があるため、設定変更をします。

インターフェースデザイナー

ワークフローを分析アプリに変更すると、「インターフェースデザイナー」ウィンドウでインターフェースツールの全体設定を行えます。

今回は特に設定変更する必要はありませんが、「sansanから最新のタグリストを取得するためにワークフローを実行してください」という文言を分析アプリの実行画面に表示するように設定しています。

続いてチェインワークフローの設定を行います。「インターフェースデザイナー」ウィンドウの左サイドバーにある歯車アイコンをクリックして「プロパティ」ページを開きます。

「成功した場合 - 別の分析アプリを実行する」のチェックを有効にし、実行するワークフローのファイル名を指定します。これにより、最初のワークフローの実行が正常に完了したのち、ここで指定したワークフローを起動できます。

チェインワークフローの実行

ワークフローを分析アプリとして実行するには「実行」ボタンの横にある「分析アプリとして実行」ボタンを押下します。

最初のワークフローが分析アプリモードで起動します。

特に設定項目はないので「続行」ボタンを押下します。
この時点で最初のワークフローが実行されて、最新のsansanのタグIDとタグ名のリストを取得します。

取得したリストを外部ソースとして2番目のワークフローが連続して起動します。
ドロップダウンリストからタグを選択して「完了」ボタンを押下すると2番目のワークフローが実行され、実行結果をExcel形式で保存することができました。

今回の例では2つのワークフローを使用していますが、3つ以上のワークフローをチェインワークフローとして設定することも可能です。

まとめ

いかがでしたか。今回はAlteryxのチェインワークフローについてご紹介いたしました。
「こういうことがやりたかったよ!」って方がいらっしゃいましたら、ぜひモニタの前で「早く言ってよ〜」って呟いてください。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400