Chilkat Online Tools

SQL Server / Selling Partner API for Orders / update Shipment Status

Back to Collection Items

-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    -- This example assumes the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @http int
    -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
    EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    -- Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    -- The following JSON is sent in the request body.

    -- {
    --   "marketplaceId": "proident magna sint exercitation",
    --   "shipmentStatus": "ReadyForPickup",
    --   "orderItems": [
    --     {
    --       "orderItemId": "eiusmod esse et",
    --       "quantity": 63324935
    --     },
    --     {
    --       "orderItemId": "exercitation sint officia minim est",
    --       "quantity": -64460298
    --     }
    --   ]
    -- }

    DECLARE @json int
    -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT

    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'marketplaceId', 'proident magna sint exercitation'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'shipmentStatus', 'ReadyForPickup'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'orderItems[0].orderItemId', 'eiusmod esse et'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'orderItems[0].quantity', 63324935
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'orderItems[1].orderItemId', 'exercitation sint officia minim est'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'orderItems[1].quantity', -64460298

    EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'Content-Type', 'application/json'
    EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'Accept', 'application/json'

    DECLARE @resp int
    EXEC sp_OAMethod @http, 'PostJson3', @resp OUT, 'https://sellingpartnerapi-na.amazon.com/orders/v0/orders/:orderId/shipment', 'application/json', @json
    EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT
    IF @iTmp0 = 0
      BEGIN
        EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @json
        RETURN
      END

    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT

    PRINT 'Response Status Code = ' + @respStatusCode
    IF @respStatusCode <> 204
      BEGIN

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Response Body:'
        EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Failed.'
        EXEC @hr = sp_OADestroy @resp

        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @json
        RETURN
      END
    EXEC @hr = sp_OADestroy @resp


    PRINT 'Success.'

    EXEC @hr = sp_OADestroy @http
    EXEC @hr = sp_OADestroy @json


END
GO

Curl Command

curl -X POST
	-H "Content-Type: application/json"
	-H "Accept: application/json"
	-d '{
  "marketplaceId": "proident magna sint exercitation",
  "shipmentStatus": "ReadyForPickup",
  "orderItems": [
    {
      "orderItemId": "eiusmod esse et",
      "quantity": 63324935
    },
    {
      "orderItemId": "exercitation sint officia minim est",
      "quantity": -64460298
    }
  ]
}'
https://sellingpartnerapi-na.amazon.com/orders/v0/orders/:orderId/shipment

Postman Collection Item JSON

{
  "name": "update Shipment Status",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      },
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n  \"marketplaceId\": \"proident magna sint exercitation\",\n  \"shipmentStatus\": \"ReadyForPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"eiusmod esse et\",\n      \"quantity\": 63324935\n    },\n    {\n      \"orderItemId\": \"exercitation sint officia minim est\",\n      \"quantity\": -64460298\n    }\n  ]\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "orders",
        "v0",
        "orders",
        ":orderId",
        "shipment"
      ],
      "variable": [
        {
          "key": "orderId",
          "value": "incididunt ea cillum",
          "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
        }
      ]
    },
    "description": "Update the shipment status for an order that you specify.\n\n**Usage Plan:**\n\n| Rate (requests per second) | Burst |\n| ---- | ---- |\n| 5 | 15 |\n\nThe `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values then those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](doc:usage-plans-and-rate-limits-in-the-sp-api)."
  },
  "response": [
    {
      "name": "Success.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "No Content",
      "code": 204,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "x-amzn-RateLimit-Limit",
          "value": "incididunt ea cillum",
          "description": "Your rate limit (requests per second) for this operation."
        },
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "Request has missing or invalid parameters and cannot be parsed.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RateLimit-Limit",
          "value": "incididunt ea cillum",
          "description": "Your rate limit (requests per second) for this operation."
        },
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "The resource specified does not exist.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RateLimit-Limit",
          "value": "incididunt ea cillum",
          "description": "Your rate limit (requests per second) for this operation."
        },
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "The request size exceeded the maximum accepted size.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Request Entity Too Large",
      "code": 413,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "The request payload is in an unsupported format.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Unsupported Media Type",
      "code": 415,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "The frequency of requests was greater than allowed.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Too Many Requests",
      "code": 429,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "An unexpected condition occurred that prevented the server from fulfilling the request.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Internal Server Error",
      "code": 500,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    },
    {
      "name": "Temporary overloading or maintenance of the server.",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"marketplaceId\": \"et ullamco Ut\",\n  \"shipmentStatus\": \"RefusedPickup\",\n  \"orderItems\": [\n    {\n      \"orderItemId\": \"do et est aliqua\",\n      \"quantity\": 52877919\n    },\n    {\n      \"orderItemId\": \"dolor ullamco\",\n      \"quantity\": -24024920\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/orders/v0/orders/:orderId/shipment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            "v0",
            "orders",
            ":orderId",
            "shipment"
          ],
          "variable": [
            {
              "key": "orderId",
              "value": "incididunt ea cillum",
              "description": "(Required) An Amazon-defined order identifier, in 3-7-7 format."
            }
          ]
        }
      },
      "status": "Service Unavailable",
      "code": 503,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "x-amzn-RequestId",
          "value": "incididunt ea cillum",
          "description": "Unique request reference identifier."
        },
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"errors\": [\n    {\n      \"code\": \"aliquip velit ad\",\n      \"message\": \"proident sint\",\n      \"details\": \"amet sunt\"\n    },\n    {\n      \"code\": \"consequat pariatur\",\n      \"message\": \"pariatur laboris deserunt\",\n      \"details\": \"in cupidatat\"\n    }\n  ]\n}"
    }
  ]
}