初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2020-04-29 13:11:23

しろ92
Member

APIで在庫の更新について

いつもお世話になっております。
現在BカートというBtoB WEB受発注システムを利用しております。
使用環境は下記の通りです。

windows 10
Filemaker pro 17

APIを利用して在庫を更新したいのですが、下記のドキュメント通りに設定して実行しましたが、「product_stockが必須です。」と返ってきます。
認証はできています。

BカートAPIドキュメントサイト:https://docs.api.bcart.jp/?version=latest#232e1eb4-b76a-41f8-8e3f-b262005becd3

仮:Bカートに登録されている商品データ product_no:A1234_1 stock:2

実行スクリプト
処理内容:Bカートにある"A1234_1"の在庫を 2 から 5 に変更する。
---------------------------
変数を設定
変数名:$d
変数内容:
JSONFormatElements ( "{\"product_stock\":[
        {
            \"product_no\": \"A1234_1\",
            \"stock_flag\": 0,
            \"stock\": 5
        }
    ]
}"
)
---------------------------
変数を設定
変数名:$curl
変数内容:
"--location --request PATCH \"https://api.bcart.jp/api/v1/product_stock/\"
--header \"Accept: application/json\"
--header \"Authorization: Bearer {access_token}\"
--header \"Content-Type: application/json\"
--data-raw @$d"
--------------------------
URLから挿入
選択;ダイアログあり:オフ;ターゲット:$a;"https://api.bcart.jp/api/v1/product_stock/";SSL証明書の検証;cURLオプション:$curl
-------------------------

実行結果
変数$aの内容
{"errors":[{"product_stock":"product_stockが必須です。"}]}

なぜこれが返ってくるのか分かりません。
filemakerでは無理な処理なのでしょうか。
すみませんが、教えていただけないでしょうか。
よろしくお願い致します。

Offline

#2 2020-04-29 13:18:16

しろ92
Member

Re: APIで在庫の更新について

すみません、手違いで複数投稿してしましました。

Offline

#3 2020-04-29 15:37:45

himadanee
Guest

Re: APIで在庫の更新について

変数の内容が関数になってませんか?
JSONFormatElements は清書用関数なので、データには不要です。

#4 2020-04-30 00:11:35

しろ92
Member

Re: APIで在庫の更新について

himadanee wrote:

変数の内容が関数になってませんか?
JSONFormatElements は清書用関数なので、データには不要です。

himadaneeさん、返信ありがとうございます。

変数$dの内容を下記のように変更したのですが、結果は同じ「product_stockが必須です。」と返ってきました。

変数を設定
変数名:$d
変数内容:
"{\"product_stock\":[
        {
            \"product_no\": \"A1234_1\",
            \"stock_flag\": 0,
            \"stock\": 5
        }
    ]
}"

どこか間違っていますでしょうか。
よろしくお願い致します。

Offline

#5 2020-04-30 09:26:16

qb_dp
Member

Re: APIで在庫の更新について

サンプルを見ると「--data-raw」は、 ' シングルクォーテーションで包まれているようです。
https://docs.api.bcart.jp/?version=late … 62005becd3
以下で試してみては。

"'{\"product_stock\":[
        {
            \"product_no\": \"A1234_1\",
            \"stock_flag\": 0,
            \"stock\": 5
        }
    ]
}'"

Offline

#6 2020-04-30 13:30:22

しろ92
Member

Re: APIで在庫の更新について

qb_dpさん、ありがとうございます。

シングルクォーテーションで試しましたが、結果は同じでした。
在庫の取得(GET)は、できるのですが...

Offline

#7 2020-04-30 13:55:26

qb_dp
Member

Re: APIで在庫の更新について

変数を設定
変数名:$curl
変数内容:
"--location --request PATCH \"https://api.bcart.jp/api/v1/product_stock/\"
--header \"Accept: application/json\"
--header \"Authorization: Bearer {access_token}\"
--header \"Content-Type: application/json\"
--data-raw @$d"
--------------------------
URLから挿入
選択;ダイアログあり:オフ;ターゲット:$a;"https://api.bcart.jp/api/v1/product_stock/";SSL証明書の検証;cURLオプション:$curl
-------------------------

コノ行「--location」と「\"https://api.bcart.jp/api/v1/product_stock/\"」は要らないのでは。
--location --request PATCH \"https://api.bcart.jp/api/v1/product_stock/\"

"--request PATCH
--header \"Accept: application/json\"
--header \"Authorization: Bearer {access_token}\"
--header \"Content-Type: application/json\"
--data-raw @$d"

とか、

"--location
--request PATCH
--header \"Accept: application/json\"
--header \"Authorization: Bearer {access_token}\"
--header \"Content-Type: application/json\"
--data-raw @$d"

で試してみては。

Offline

#8 2020-04-30 14:07:23

qb_dp
Member

Re: APIで在庫の更新について

ん~、以下が帰ってくるならやはりJSONの問題かも...
{"errors":[{"product_stock":"product_stockが必須です。"}]}

JSONの改行を無しで送って見るとか...

Offline

#9 2020-04-30 18:37:36

しろ92
Member

Re: APIで在庫の更新について

qb_dpさんが言われた、改行なしと@$dの部分を下記のように変更すると上手くいきました。

変数$d 
内容:"{\"product_stock\":[{\"product_no\":\"A1234_1\",\"stock_flag\": 0,\"stock\":5}]}"

変数$curl
--data-raw @$d" 次のように変更 →  --data-raw " & $d

ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 8 queries executed - Memory usage: 523.71 KiB (Peak: 528.62 KiB) ]