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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

1460閲覧

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

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/07/05 09:45

編集2020/07/05 15:14

前提・実現したいこと

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)"}

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

該当のソースコード

Google

1 2body = {"proc_name":"customer_upd", 3 "prams":{"proc_info": {"proc_division":"U"}, 4 "data":{"table_name":"Customer", 5 "rows":{"customerId": null, 6 "customerCode":memberCode, 7 "rank":memberLank, 8 "lastName": Familyname, 9 "firstName":Firestname, 10 "lastKana": FamilynameKANA, 11 "firstKana": FirestnameKANA, 12 "postCode":postCode, 13 "address": address, 14 "phoneNumber": phoneNumber, 15 "mailAddress": mailAddress, 16 "mailAddress2": mailAddress2, 17 "companyName": companyName, 18 "departmentName": departmentName, 19 "managerialPosition": managerialPosition, 20 "sex": gender, 21 "mailReceiveFlag": mailReceiveflag 22 }}}} 23 24 25 var options = { 26 "Content-type": "application/x-www-form-urlencoded;charset=UTF-8", 27 "accept" : "application/json", 28 "headers": { 29 "X_access_token": "xxxxxxxxxxxxxxxxx", 30 "X_contract_id": "xxxxxxxxxxxxxxxxxxx" 31 }, 32 "method" : "post", 33 "payload" : JSON.stringify(body), 34 "muteHttpExceptions" : true 35 } 36 37 var request = UrlFetchApp.fetch(SmaregiURL, options); 38 Logger.log(request.getResponseCode()); 39 Logger.log("reqest body = " + request.getContentText());

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

試したこと

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

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/07/05 13:49 編集

ご質問ありがとうございます スマレジはそれであっています。 仕様を見ながらやって見てたのですがこれだと全然違うのですね、 一旦もう少し調べてみます
draq

2020/07/05 13:49

たとえばリクエスボディの"proc_name", "prams", "proc_info", "proc_division" 等のキー名がAPI仕様に出てこないので違うサービスorAPIの話かと思いました。
draq

2020/07/05 13:54

スマレジ・プラットフォームAPI POS仕様書 (β版)の更新履歴を見ると、2020/06/17に会員登録API追加となっているので、ググって出てくる情報は古いのかもしれません。
退会済みユーザー

退会済みユーザー

2020/07/05 14:30

https://help.smaregi.jp/hc/ja/articles/224295527-WebAPIの仕様書のダウンロード方法 業務で使用したいのですが、契約していてこの方法でダウンロードできる仕様書には、このキーが出てくるので、教えてくださった仕様書とは少し違うのかもしれません。 ちなみに、教えてくださった仕様書はどういった方法でお調べになったのでしょうか
draq

2020/07/05 14:41

https://smaregi.jp/developers/ ここの下の方に2020/06/22に「スマレジ・プラットフォームAPI POS(β版)を更新しました。」というリンクがありこのAPIのことかと思いました。
draq

2020/07/05 14:43

どうも別のAPIのようですね。私の最初のコメントは忘れてください。
退会済みユーザー

退会済みユーザー

2020/07/05 14:46

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

2020/07/05 14:51

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

退会済みユーザー

2020/07/05 14:56

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問