square connect api批处理

时间:2015-06-16 23:23:07

标签: api batch-processing square square-connect

我需要有关批量处理的帮助,尤其是在向项目添加税码时。

我正在尝试使用方形批处理功能,我的示例包创建了两个项目,并将税码添加到它们中。在所有4个请求中 - 2个用于创建项目,2个用于'放置'税法。我尝试过以下订单: 1.创造两个项目;加税 2.创建一个项目;向该项添加税码;创建第二个项目,将代码添加到第二个项目。

在这两种情况下,结果都是相同的 - 税收仅适用于一个项目。对于第二项,我得到的回应是:

{
    "status_code":404,
    "body":{
        "type":"not_found",
        "message":"NotFound"
    },
    "request_id":4
}

为了帮助调查,这里是我在cURL请求中使用的示例json。

{
"requests":[
    {
        "method":"POST",
        "relative_path":"\/v1\/me\/items",
        "access_token":"XXX-YYY",
        "body":
            {
                "id":126,
                "name":"TestItem",
                "description":"TestItemDescription",
                "category_id":"DF1F51FB-11D6-4232-B138-2ECE3D89D206",
                "variations":[
                    {
                        "name":"var1",
                        "pricing_type":"FIXED_PRICING",
                        "price_money":
                            {
                                "currency_code":"CAD",
                                "amount":400
                            },
                        "sku":"123444:QWEFASDERRG"
                    }
                ]},
        "request_id":1
    },
    {
        "method":"PUT",
        "relative_path":"\/v1\/me\/items\/126\/fees\/7F2D50D8-43C1-4518-8B8D-881CBA06C7AB",
        "access_token":"XXX-YYY",
        "request_id":2
    },
    {
        "method":"POST",
        "relative_path":"\/v1\/me\/items",
        "access_token":"XXX-YYY",
        "body":
            {
                "id":127,
                "name":"TestItem1",
                "description":"TestItemDescription1",
                "category_id":"DF1F51FB-11D6-4232-B138-2ECE3D89D206",
                "variations":[
                    {
                        "name":"var1",
                        "pricing_type":"FIXED_PRICING",
                        "price_money":
                            {
                                "currency_code":"CAD",
                                "amount":400
                            },
                        "sku":"123444:QWEFASDERRG1"
                    }
                ]
            },
        "request_id":3
    },
    {
        "method":"PUT",
        "relative_path":"\/v1\/me\/items\/127\/fees\/7F2D50D8-43C1-4518-8B8D-881CBA06C7AB",
        "access_token":"XXX-YYY",
        "request_id":4
    }
]
}

以下是我收到的完整回复,表明成功创建了两个项目,只有一个成功的税收推动。

[
{
    "status_code":200,
    "body":
        {
            "visibility":"PUBLIC",
            "available_online":false,
            "available_for_pickup":false,
            "id":"126",
            "description":"TestItemDescription",
            "name":"TestItem",
            "category_id":"DF1F51FB-11D6-4232-B138-2ECE3D89D206",
            "category":
                {
                    "id":"DF1F51FB-11D6-4232-B138-2ECE3D89D206",
                    "name":"Writing Instruments"
                },
            "variations":[
                {
                    "pricing_type":"FIXED_PRICING",
                    "track_inventory":false,
                    "inventory_alert_type":"NONE",
                    "id":"4c70909b-90bd-4742-b772-e4fabe636557",
                    "name":"var1",
                    "price_money":
                        {
                            "currency_code":"CAD",
                            "amount":400
                        },
                    "sku":"123444:QWEFASDERRG",
                    "ordinal":1,
                    "item_id":"126"
                }
            ],
            "modifier_lists":[],
            "fees":[],
            "images":[]
        },
    "request_id":1
},
{
    "status_code":200,
    "body":{},
    "request_id":2
},
{
    "status_code":200,
    "body":
        {
            "visibility":"PUBLIC",
            "available_online":false,
            "available_for_pickup":false,
            "id":"127",
            "description":"TestItemDescription1",
            "name":"TestItem1",
            "category_id":"DF1F51FB-11D6-4232-B138-2ECE3D89D206",
            "category":
                {
                    "id":"DF1F51FB-11D6-4232-B138-2ECE3D89D206",
                    "name":"Writing Instruments"
                },
            "variations":[
                {
                    "pricing_type":"FIXED_PRICING",
                    "track_inventory":false,
                    "inventory_alert_type":"NONE",
                    "id":"6de8932f-603e-4cd9-99ad-67f6c7777ffd",
                    "name":"var1",
                    "price_money":
                        {
                            "currency_code":"CAD",
                            "amount":400
                        },
                    "sku":"123444:QWEFASDERRG1",
                    "ordinal":1,
                    "item_id":"127"
                }
            ],
            "modifier_lists":[],
            "fees":[],
            "images":[]
        },
    "request_id":3
},
{
    "status_code":404,
    "body":
        {
            "type":"not_found",
            "message":"NotFound"
        },
    "request_id":4
}
]

我已经查看了项目列表,并且两个项目ID都存在于库存中。所以我的问题是,为什么税收适用于一个项目而不适用于另一个项目?如何解决?

1 个答案:

答案 0 :(得分:0)

来自Square docs

  

使用“提交批次”端点时请注意以下事项:

     

您不能在一个批次中包含超过30个请求。

     

递归   不允许对提交批处理端点的请求(即,不允许)   批处理中包含的请求本身可以是对此的请求   终点)。

     

无法保证批量订单的顺序   请求已执行。

(强调我的)。

如果您想使用批处理API,您必须先创建像项目这样的父实体,然后在单独的批处理请求中应用任何子实体,如费用,折扣等等。或者,您可以单独提出请求。在这种情况下使用批处理API可能没什么好处。