Aアプリ内のフィールド項目をゲストスペースアプリへのフィールドへ登録したい

はじめまして。初めて投稿させて頂きます。
高橋と申します。宜しくお願い致します。

まだまだ、javascriptについては未熟な部分もあり、
ご教授頂き、勉強にて自身成長していけたらとおもっております。

タイトルの通り、現在あるAアプリから特定のフィールドをゲストスペース内のBアプリのフィールドへ登録したいとおもっております。

下記、私自身でコードを書いてみました。

/*
* レコードの情報を修理進捗管理へボタン押下後に自動反映する。
* @author Kazuya Takahashi kazuyacambodia@angkorwat.in.net
* 登録するレコードは新規作成
*/

(function () {
“use strict”;

//他のアプリID
var otherAppId = 330;

kintone.events.on('app.record.detail.show',function(event){
    var record = event.record;

    //メニュー、右側にボタンを設置する
    var myIndexButton = document.createElement('button');
    myIndexButton.id = 'my_index_button';
    myIndexButton.innerHTML = '修理進捗管理へ保存';
    myIndexButton.onclick = function () {
        window.alert('修理進捗アプリへ登録しますか?')

        var enquiry = record.otoiawase1.value;
        var enquiry1 = record.color.value;
        var contents = record.content.value;

        var params = {
            app:otherAppId,
            record:{
                端末名:{
                    value:enquiry
                },
                カラー:{
                    value:enquiry1
                },
                症状:{
                    value:contents
                }
            }
        };
        kintone.api('/k/v1/records','POST',params);
    };
    kintone.app.record.getHeaderMenuSpaceElement().appendChild(myIndexButton);
});

})();

宜しくお願い致します。

ゲストスペース内のアプリに対してはURLが若干変わり/k/guest/(スペースのID)/v1/records.jsonとなります。
なお、ゲストスペースへのリクエストか否かを意識しないですむ方法が「kintone.apiにゲストスペースでも使える正しいパスを指定する」というTipsで紹介されています。

また、記載されているボディの形式は「レコードの登録(1件)」での記載方法になりますので、次のようにすると良いのではないかと思います。

(function () {
    "use strict";

    //他のアプリID
    var otherAppId = 330;

    kintone.events.on('app.record.detail.show',function(event){
        var record = event.record;

        //メニュー、右側にボタンを設置する
        var myIndexButton = document.createElement('button');
        myIndexButton.id = 'my_index_button';
        myIndexButton.innerHTML = '修理進捗管理へ保存';
        kintone.app.record.getHeaderMenuSpaceElement().appendChild(myIndexButton);

        myIndexButton.onclick = function () {
            window.alert('修理進捗アプリへ登録しますか?')

            var enquiry = record.otoiawase1.value;
            var enquiry1 = record.color.value;
            var contents = record.content.value;

            var params = {
                app:otherAppId,
                record:{
                    端末名:{
                        value:enquiry
                    },
                    カラー:{
                        value:enquiry1
                    },
                    症状:{
                        value:contents
                    }
                }
            };

            kintone.api(kintone.api.url('/k/v1/record', true), 'POST', params, function(resp) {});

        };
    });
})();

いかがでしょうか?

Ryu Yamashita 様

ご回答ならびアドバイス有難うございました。

その後、試行錯誤しておりますが、下記の通り書き換えましたが、エラーが返ってくるのみとなっており苦戦しております。

(function () {
“use strict”;

//他のアプリID
var otherAppId = 330;

kintone.events.on('app.record.detail.show',function(event){
    var record = event.record;

    //メニュー、右側にボタン
    var myIndexButton = document.createElement('button');
    myIndexButton.id = 'my_index_button';
    myIndexButton.innerHTML = '修理進捗管理へ保存';
    kintone.app.record.getHeaderMenuSpaceElement().appendChild(myIndexButton);

    myIndexButton.onclick = function () {
        window.alert('修理進捗アプリへ登録しますか?')

        var enquiry = record.otoiawase1.value;
        var enquiry1 = record.color.value;
        var contents = record.content.value;

        var params = {
            "app":otherAppId,
            "record":{
                "端末名":{
                    "value":enquiry
                },
                "カラー":{
                    "value":enquiry1
                },
                "症状":{
                    "value":contents
                }
            }
        };

        kintone.api(
            kintone.api.url('/k/v1/records',true),
            'POST' ,
            params , 
            function(resp){
                alert('登録が完了しました')
            },
            function(resp){
                alert('登録エラー')
            }
        ); 
    };
});

})();

また、記載されているボディの形式は「レコードの登録(1件)」での記載方法になりますので、次のようにすると良いのではないかと思います。

こちらが修正されていないようです。

レコードの一括登録(records.json)レコードの登録(1件)(record.json)はリクエストボディへの記載方法が異なりますので、ご確認頂ければと思います。

レコードの一括登録(records.json)を使われたいのであれば、
paramsが次のようになると思います。

{
    "app": otherAppId,
    "records": [
        {
            端末名:{
                value:enquiry
            },
            カラー:{
                value:enquiry1
            },
            症状:{
                value:contents
            }
        }
    ]
}

また、パッと見ですが、alert() の後ろのセミコロンが抜けているようです。

kintone REST APIをJavaScriptからコールする際のデバッグにはこの辺(1, 2)を参考にされるのも良いかと思います。

REST APIをJavaScriptからコールして上手くいかない時には、POSTMAN等他の方法でまずコールしてみるのは、3者意見的に問題解決への近道になることがあります。正味のコール部分以外kintone JavaScript APIの機能が使えないというのはありはしますが。

Ryu Yamashita 様

早速のご回答、アドバイス有難うございます。
勉強になります。参考にさせて頂きます。