お世話になります。
保存成功後に、他アプリへ自動登録するプログラムを作成しています。
PC版だと何も問題がないのですが、スマートフォン版では保存成功後のイベントがなく困っています。
レコード番号を登録したいので保存実行前イベントは利用できません。
現状はボタンを配置してオンクリックで自動登録するようにしています。
保存後にクリックするようにアラートを出してはいますが、それでも忘れるという意見が出てきてしまい。。
何か良いアイデアはありませんでしょうか?
お忙しいところ恐れ入りますが、よろしくお願い致します。
kawasaki-mさん
cstapの瀧ヶ平です
スマートフォン版で保存後かどうかを確認するのは現状だとレコード詳細画面の表示後イベントでdocument.referrerを確認してレコード作成/編集画面から遷移してきたかどうかを検査する方法が妥当ではないでしょうか?
あるいはそもそも登録する操作をブラウザ上で行わせるのではなく、サーバを用意してwebhookで通知を送信して、その通知を受けたらその通知を元に他のアプリへ自動登録するなどが考えられます
cstap 瀧ヶ平様
ご回答ありがとうございます。
私の言葉不足がありました、申し訳ありません。
下記のようなScriptを作成しております。
PC版なら、app.record.create.submit.successが使えるので、問題ないのですが、
スマートフォン版は、app.record.create.submit.successが使えないのでどうすればいいのか悩んでおります。
説明が下手で申し訳ありません。
(function() {
“use strict”;
kintone.events.on(‘app.record.create.submit.success’, function(event) {
// レコードの取得
var 詳細 = ‘’;
if (event) {
詳細 = event[“record”][“詳細”][“value”];
}
var recordId = event.recordId;
// リクエストプロパティ(JSON)
var params = {
“app”: **, // ← アプリのID
“record”: {
“cord1”: { “value”: recordId },
“詳細”: { “value”: 詳細 },
}
};
// kintone REST API リクエスト ~ レコードの登録(POST)
kintone.api(
kintone.api.url(‘/k/v1/record’, true), // - pathOrUrl
‘POST’, // - method
params, // - params
function(resp) { // - callback
// (特に何もしない)
},
function(resp) { // - errback
// (特に何もしない)
}
);
});
})();
kawasaki-mさん
app.record.create.submit.successが使えないと思ったので、webhookを用いてレコード登録時に通知を送信し、その通知を元にレコードを別のアプリに登録する方法を提案しましたがこちらではダメでしょうか?
また同様に、登録後にレコード詳細画面に遷移してきた時にレコード詳細画面表示後イベントを発火し、
その中でdocument.referrerを確認し直前のページがレコード登録画面であるかどうかを確認した後にひらいているレコード(新規に登録されたレコード)を元に別アプリにレコードを登録するという意味だったのですが、こういう方法では問題有りますでしょうか?
cstap 瀧ヶ平様
ご丁寧にありがとうございます。理解いたしました。
>また同様に、登録後にレコード詳細画面に遷移してきた時にレコード詳細画面表示後イベントを発火し、
>その中でdocument.referrerを確認し直前のページがレコード登録画面であるかどうかを確認した後にひらいているレコード(新規に登録されたレコード)を元に
>別アプリにレコードを登録するという意味だったのですが、こういう方法では問題有りますでしょうか?
こちらの方法で試したところ無事動作しました。
本当に助かりました。ありがとうございました。