質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.91%

GAS:Google Form に入力した内容でスマレジで会員登録をしたい

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 166

yoou1921

score 0

前提・実現したいこと

Google Apps Scriptを使ってGoogle Form に入力した内容でPOSシステムの「スマレジ」での会員登録をしたいのですが何度やってもうまくいかないためアドバイスをいただきたいです。
Formに入力した内容をJSON形式にしてreqestをしてスマレジで受け取ろうとしています。

発生している問題・エラーメッセージ

reqest body = {"error_code":15,"error":"\u51e6\u7406\u540d\u304c\u7121\u52b9\u3067\u3059\u3002",
"error_description":"\u30d1\u30e9\u30e1\u30fc\u30bf\u4e0d\u6b63\u3067\u3059\u3002(procName is empty)"} 


処理名が無効と書いてるみたいですが、ちゃんと書いてあると思っているためどこがダメなのかもわからにい状態です。

該当のソースコード

body = {"proc_name":"customer_upd",
         "prams":{"proc_info": {"proc_division":"U"},
                   "data":{"table_name":"Customer",
                            "rows":{"customerId": null,
                                     "customerCode":memberCode,
                                     "rank":memberLank,
                                     "lastName": Familyname,
                                     "firstName":Firestname,
                                     "lastKana": FamilynameKANA,
                                     "firstKana": FirestnameKANA,
                                     "postCode":postCode,
                                     "address": address,
                                     "phoneNumber": phoneNumber,
                                     "mailAddress": mailAddress,
                                     "mailAddress2": mailAddress2,
                                     "companyName": companyName,
                                     "departmentName": departmentName,
                                     "managerialPosition": managerialPosition,
                                     "sex": gender,
                                     "mailReceiveFlag": mailReceiveflag
                                    }}}}


  var options = {
    "Content-type": "application/x-www-form-urlencoded;charset=UTF-8",
    "accept" : "application/json",
    "headers": {
          "X_access_token": "xxxxxxxxxxxxxxxxx",
          "X_contract_id": "xxxxxxxxxxxxxxxxxxx"
        },
    "method" : "post",
    "payload" : JSON.stringify(body),
    "muteHttpExceptions" : true 
  }

  var request = UrlFetchApp.fetch(SmaregiURL, options);
    Logger.log(request.getResponseCode());
    Logger.log("reqest body = " + request.getContentText());


値はすべて変数でFormで入力した値が代入しています。
数字にする必要があるところは文字列を数字になるようにしています。
必ず必要なCustomerIDはいろいろ試しましたが何も変わらずでした。

試したこと

スマレジ側でエラーがあるとメールが送信されるように設定してますがメールが来ません。
スマレジに行ってないということでしょうか
payloadの中身でJSON.stringfyをとると、メールは来るようになるんですが、今度はJSON形式ではありませんとエラーが出ます。

はじめてこういうものに触っているため色々調べながらになっていて初歩的なことも間違えているかもしれません。わかる方アドバイスをいただけたら幸いです。

補足情報(FW/ツールのバージョンなど)

仕様書が見せられないのでもっと自分で調べてやってみます。もし仕様書を見ることができる方でなにが原因かわかる方がいらっしゃいましたらコメントいただけたらと思います。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • yoou1921

    2020/07/05 23:46

    わざわざ調べてくださったのですね、ありがとうございます。
    そうですね、こちらのAPIは新しい別のやつみたいですね。
    自分が見てる仕様書を見せたいのですが、きっと規約的にダメですよね、、、

    キャンセル

  • draq

    2020/07/05 23:51

    ダウンロードにプレミアムプランの契約が必要らしいのでダメでしょうね。ここで聞くより、サポートに問い合わせた方がいいかもしれません。

    キャンセル

  • yoou1921

    2020/07/05 23:56

    ですよね、
    この間問い合わせてみたら少しアドバイス貰えたのですが、あとは自分で仕様書見て調べてくださいと言われてしまいました笑
    仕様書が少し難しいのですが、勉強して頑張ってみます。
    わざわざありがとうございました

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.91%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る