他のサービスからのCSV連携について

kintoneを用いてシステム開発を行なっている者です。

よろしくお願いします。

 

■やりたいこと

・他のサービスから定時でCSVが送信されるので、そのCSVをkintone側でキャッチし、csvの内容を元に各テーブル(アプリ)のレコードの追加/更新を行いたい

 

■知りたいこと

質問1:

csvを用いたレコードの操作にはKintoneCLIを用いるという記事(※参考記事1)をみたのですが、今回の場合、他のサービス(仮にサービスA)を利用するため、サービスAのサーバにKintoneCLIをインストールしてもらう必要があるということでしょうか?

 

質問2:

csvを定時でもらって、その情報を元にkintoneアプリ、つまり、kintoneにあるテーブルのレコードを更新するという処理は何かベストプラクティスのようなものがあるのでしょうか?(kintone自体の利用が初めてのため基本的なところが抜けてたら申し訳ありません。)

 

質問3:

ファイルアップロードAPIの記事(※参考記事2)を観て、

以下のような流れを想定していたのですが、

こういったやり方は推奨されるでしょうか?

また、そもそも可能でしょうか?

 

流れ1 :他のサービス(サービスA)からJSでファイル受信用のkintoneのWebAPIを叩いてもらい、そのリクエストでCSVを送ってもらう。(CSVが受け取れたら200を返す)

 

流れ2 :kintoneのストレージ的なところにCSVを保持しておいて、そのCSVを読み取り(ファイルキーを元に読みにいく)、その内容に基づいてkintone内のテーブル(アプリ)のレコードを操作する。(送られてきたCSVはストレージに溜まっていく)

 

※参考記事1:cliでcsvを元にレコード操作をする方法

https://developer.cybozu.io/hc/ja/articles/202957070-kintone-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9#step8

 

参考記事2:ファイルアップロードAPIについて

https://developer.cybozu.io/hc/ja/articles/202350470-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89API

 

 

以上、よろしくお願いします。

Seigo Tokuzawa様

お世話になっております。
トヨクモの江田と申します。

外部からkintoneのレコードを操作する場合は、kintone REST APIを用いることになります。
https://developer.cybozu.io/hc/ja/articles/201941754
https://developer.cybozu.io/hc/ja/articles/202166160
https://developer.cybozu.io/hc/ja/articles/201941784

kintone コマンドラインツールに限らず、HTTPリクエストを送ることができる言語やツールを使えば、kintoneのレコードを操作できます。
リクエストヘッダやリクエストボディを所定の形式に設定して、リクエストを送ることで、kintoneのレコードの操作ができます。

kintone コマンドラインツールは、リクエストヘッダやリクエストボディの作成、リクエストの送信を簡単に行ってくれるツールになります。
kintone コマンドラインツール以外にも、SDKといったkintone連携を容易にするツールもあるので、お好きな言語やツールで開発するとよいと思います。
https://developer.cybozu.io/hc/ja/articles/213043483

サービスAから得たデータを、何らかの方法でkintone REST API用の形式に直して、リクエストを送ることになります。
サービスA上でデータを整形して送信できるのであれば、それがよいかと思います。
難しい場合は、自分でサーバーを立てて、サービスAからのデータの受け取り、データの整形、kintoneへの送信を行うことになるかと思います。

参考記事2については、ユーザー管理に関する記事になりますので、恐らく今回はあまり関係してこないかと思います。

トヨクモ 江田様

徳沢です。

返信が遅れてしまい申し訳ありません。

 

わかりやすくご教示いただき、ありがとうございます。

やはり、サービスA上でデータを整形できない場合は中間サーバのようなものをたてないとダメなのですね。

認識が概ねあっていて安心しました。

 

今回はありがとうございました!