他アプリとの重複チェック

kintoneの標準機能で重複を禁止する機能がありますが、同様のことを2つのアプリ間で実装したいと考えております。

具体的にはマスターを照会する「マスターアプリ」と、ユーザーがマスター登録を申請する「申請アプリ」の2つがあり、申請アプリにレコード追加する際にコード(文字列)が既にマスターアプリ存在している場合、エラーを出したいです。

 

何となくAPIを使う必要があるのは想像できているのですが、形にできていない状態です。

 

知恵をお貸しいただけると助かります。

toshi 様

こんにちは。

kintone REST API を利用しなければいけないかと思います。

 

レコードの取得(GET) – cybozu developer network

おそらく確認されてるとは思いますが、このあたりの処理から始めて行かれるのが良いかと思います。

var body = {
  'app': kintone.app.getId(),
  'query': '更新日時 > "2012-02-03T09:00:00+0900" and 更新日時 < "2012-02-03T10:00:00+0900" order by レコード番号 asc limit 10 offset 1',
  'fields': ['レコード番号', '作成日時', 'ドロップダウン']
};

kintone.api(kintone.api.url('/k/v1/records.json', true), 'GET', body, function(resp) {
  // success
  console.log(resp);
}, function(error) {
  // error
  console.log(error);
});

var body 中の設定が重要です。

 

app: 取得先のアプリ番号 _ ※必須 _ とりあえずは複雑に考えないで、この app だけ設定するだけで良いかもしれない。

query: ここは全件取得するなら特に設定の必要はないかと思います。

fildes: ここは絞って取得したいフィールドがあるならば設定する。なければ必要ない。

 

上記から取得してきたデータ(Aアプリ)と 入力内容を突合してエラーを吐き出すようにすれば良いかと思います。

地道な積み重ねですので、まずは kintone REST API を使ってみることから始められると良いと思います。

上記を体験して気付くのですが、このままだと100件しか取得できないのでまたそこから試行錯誤になります。

ですが、このコミュニティ内に沢山解決する記述はありますので、検索して対処していくと良いと思います。