Sample code for 30+ languages & platforms
B4X

Amazon SP-API Create Feed Doc

See more Amazon SP-API Examples

Creates a feed document. Amazon returns a feedDocumentId value, encryption details, and a URL for uploading the feed contents.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim authAws As ChilkatAuthAws
authAws.Initialize
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
authAws.ServiceName = "execute-api"
'  Use the region that is correct for your needs.
authAws.Region = "eu-west-1"

Dim rest As ChilkatRest
rest.Initialize("rest")
success = rest.Connect("sellingpartnerapi-eu.amazon.com", 443, True, True)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If


success = rest.SetAuthAws(authAws)

'  Load the previously obtained LWA access token.
'  See Fetch SP-API LWA Access Token
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/sp_api_lwa_token.json")
If success = False Then
    Log("Failed to load LWA access token.")
    Return
End If


'  Add the x-amz-access-token request header.
Dim lwa_token As String = jsonToken.StringOf("access_token")

Dim jsonReq As ChilkatJsonObject
jsonReq.Initialize
jsonReq.UpdateString("contentType", "text/tab-separated-values; charset=UTF-8")

Dim sbRequest As ChilkatStringBuilder
sbRequest.Initialize
jsonReq.EmitSb(sbRequest)

rest.ClearAllQueryParams
rest.ClearAllHeaders
rest.AddHeader("x-amz-access-token", lwa_token)

Dim sbResponse As ChilkatStringBuilder
sbResponse.Initialize
Dim path As String = "/feeds/2021-06-30/documents"
success = rest.FullRequestSb("POST", path, sbRequest, sbResponse)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If


'  Examine the response status.
Dim statusCode As Int = rest.ResponseStatusCode
Log("statusCode: " & statusCode)

If statusCode <> 201 Then
    Log("Response status text: " & rest.ResponseStatusText)
    Log("Response body: ")
    Log(sbResponse.GetAsString)
    Log("Failed.")
    Return
End If


Log(sbResponse.GetAsString)

'  If successful, gets a JSON response such as the following:

'  {
'    "feedDocumentId": "3d4e42b5-1d6e-44e8-a89c-2abfca0625bb",
'    "url": "https://d34o8swod1owfl.cloudfront.net/Feed_101__POST_PRODUCT_DATA_.xml"
'  }

'  Use this online tool to generate parsing code from sample JSON: 
'  Generate Parsing Code from JSON

Dim json As ChilkatJsonObject
json.Initialize

json.LoadSb(sbResponse)

Dim feedDocumentId As String = json.StringOf("feedDocumentId")
Dim url As String = json.StringOf("url")

'  Save the JSON to a file for the example that uploads the feed..
success = json.WriteFile("qa_data/json/sp_api_feed_upload_info.json")

Log("Success!")