一般アカウントのapi受信について

BenBen
カテゴリ: POS

開発環境において、クライアントIDとクライアントシークレットを用いてアクセストークンを取得するですが、一般アカウントの場合は、確かに契約ID、記載されているURLと発行されるアクセストークンで受信するですが、以下のように送信が失敗しました。その原因を伺いしたいと思います。


答え

  • @Ben

    @Ben さんのアプリが送信したリクエストボディなどの情報がほしいです。重要な情報は隠して頂いて構いません。

    ---

    I would like to know the request body and other information sent by @Ben's app. Please feel free to hide important information.

    ---

    我想知道@Ben的应用程序所发送的请求体和其他信息。 如果你愿意,你可以隐藏重要信息。

  • 送信情報は以下の通りです。

    $token='2a7ae7e79dd52a15a738985a21407141 '; 

     $url='https://webapi.smaregi.jp/access/'; 

     $id = 'smk495h7'; 

       $header = [ 

     'POST '.$url.' HTTP/1.1', 

     'Host: webapi.smaregi.jp', 

     'X_contract_id: '.$id, 

     'X_access_token: '.$token, 

     'Content-Type: application/x-www-form-urlencoded;charset=UTF-8', 

     ]; 

    よろしくお願いいたします。

  • 先ほどもう一度送信を試しました。「https://webapi.smaregi.jp/access/」への送信(PHP)は成功しましたが、成功したのは店舗情報の更新だけで、他のはすべて失敗しました。貴社の仕様書(スマレジ・プラットフォームAPI POS仕様書 (smaregi.dev))を見ますと、URLは全部(https://api.smaregi.dev/{契約ID}/xxx  )になっています。この/access/に関するものは記載されていません。もし取引更新、部門、商品情報更新をAPIを送信したい場合、どのURLに送信すべきですか。

    送信:

    $arydata=array(

            "fields"=> array(

                    "categoryId",

                    "categoryName",

                    ),

            "conditions"=>array(

                    "categoryName like"=>"%%",

                    ),

            "order"=>array(

                    "categoryId desc",

                    ),

            "limit"=>100,

            "table_name"=>"Category",

            );

     

    $data ="proc_name=category_ref&params=". json_encode(

    $arydata , JSON_PRETTY_PRINT );

     

    echo $data."\n";

     

     

    /*-------------

     URL

    --------------*/

    $token='2a7ae7e79dd52a15a738985a21407141 ';

    $url='https://webapi.smaregi.jp/access/';

    $keiyaku_id = 'smk495h7';

     

     

    $header = [

            'POST '.$url.' HTTP/1.1',

            'Host: webapi.smaregi.jp',

            'X_contract_id: '.$keiyaku_id,

            'X_access_token: '.$token,

            'Content-Type: application/x-www-form-urlencoded;charset=UTF-8',

        ];

    レスポンス:

    proc_name=category_ref¶ms={ "fields": [ "categoryId",

    "categoryName" ], "conditions": { "categoryName

    like": "%%" }, "order": [ "categoryId desc"

    ], "limit": 100, "table_name": "Category" }

    ------------ HTTP/2 200 date: Thu, 20 May 2021 01:22:42 GMT content-type:

    text/html; charset=utf-8 server: nginx access-control-allow-origin: *

    access-control-allow-headers: X_access_token,X_contract_id,X_store_id,X-Access-Token,X-Contract-Id,X-Store-Id

    access-control-allow-methods: POST,OPTIONS x-request-id:

    a42e4d3f6888724a09b81d0357a89656

    {"total_count":"6","result":[{"categoryId":"12","categoryName":"\u725b\u8089\u70e7\u70e4"},{"categoryId":"11","categoryName":"\u732a\u8089\u70e7\u70e4"},{"categoryId":"10","categoryName":"\u9e21\u8089\u70e7\u70e4"},{"categoryId":"9","categoryName":"\u751c\u70b9"},{"categoryId":"8","categoryName":"\u70e7\u70e4"},{"categoryId":"7","categoryName":"\u996e\u6599"}]}

    Array

     

  • @Ben

    https://webapi.smaregi.jp/access/';

    こちらのリンクはスマレジのWEB API v2となります。

    スマレジ4 プラットフォームAPIとは異なるサービスですので、送信先が違います。

    https://api.smaregi.dev

    を利用してください。

    またWebAPI v2はコミュニティサイトでは案内できませんので、サポートやヘルプサイトをご利用ください。