Chilkat Online Tools

VB.NET / Marketplacer SELLER API / Promotion Upsert

Back to Collection Items

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

Dim http As New Chilkat.Http
Dim success As Boolean

http.BasicAuth = True
http.Login = "{{username}}"
http.Password = "{{password}}"

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

' The following JSON is sent in the request body.

' {
'   "query": "mutation CreatePromotion($input: PromotionUpsertMutationInput!){\n\tpromotionUpsert(\n\t\tinput: $input\n\t) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tpromotion {\n\t\t\tid\n\t\t\tname\n\t\t}\n\t}\n}",
'   "variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"name\": \"10% Off\",\n\t\t\t\"description\": \"10% off site wide\",\n\t\t\t\"discountAmount\": 10,\n\t\t\t\"discountType\": \"PERCENT\",\n\t\t\t\"brandsExcludedIds\": [\n\t\t\t\t\"QnJhbmQtNA==\",\n\t\t\t\t\"QnJhbmQtMTk=\"\n\t\t\t],\n\t\t\t\"categoriesIncludedIds\": [\n\t\t\t\t\"VGF4b24tNzg=\"\n\t\t\t]\n\t\t}\n\t}\n}"
' }

Dim json As New Chilkat.JsonObject
json.UpdateString("query","mutation CreatePromotion($input: PromotionUpsertMutationInput!){" & vbLf & "	promotionUpsert(" & vbLf & "		input: $input" & vbLf & "	) {" & vbLf & "		errors {" & vbLf & "			field" & vbLf & "			messages" & vbLf & "		}" & vbLf & "		promotion {" & vbLf & "			id" & vbLf & "			name" & vbLf & "		}" & vbLf & "	}" & vbLf & "}")
json.UpdateString("variables","{" & vbLf & "	""input"": {" & vbLf & "		""attributes"": {" & vbLf & "			""name"": ""10% Off""," & vbLf & "			""description"": ""10% off site wide""," & vbLf & "			""discountAmount"": 10," & vbLf & "			""discountType"": ""PERCENT""," & vbLf & "			""brandsExcludedIds"": [" & vbLf & "				""QnJhbmQtNA==""," & vbLf & "				""QnJhbmQtMTk=\vbLf & "			]," & vbLf & "			""categoriesIncludedIds"": [" & vbLf & "				""VGF4b24tNzg=\vbLf & "			]" & vbLf & "		}" & vbLf & "	}" & vbLf & "}")

http.SetRequestHeader("Content-Type","application/json")
http.SetRequestHeader("MARKETPLACER-API-KEY","{{api_key}}")

Dim resp As Chilkat.HttpResponse = http.PostJson3("https://bestfriendbazaar.com/graphql","application/json",json)
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Debug.WriteLine(resp.StatusCode)
Debug.WriteLine(resp.BodyStr)

Curl Command

curl -X POST
	-u '{{username}}:{{password}}'
	-H "MARKETPLACER-API-KEY: {{api_key}}"
	-H "Content-Type: application/json"
	--data-raw '{"query":"mutation CreatePromotion($input: PromotionUpsertMutationInput!){\n\tpromotionUpsert(\n\t\tinput: $input\n\t) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tpromotion {\n\t\t\tid\n\t\t\tname\n\t\t}\n\t}\n}","variables":"{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"name\": \"10% Off\",\n\t\t\t\"description\": \"10% off site wide\",\n\t\t\t\"discountAmount\": 10,\n\t\t\t\"discountType\": \"PERCENT\",\n\t\t\t\"brandsExcludedIds\": [\n\t\t\t\t\"QnJhbmQtNA==\",\n\t\t\t\t\"QnJhbmQtMTk=\"\n\t\t\t],\n\t\t\t\"categoriesIncludedIds\": [\n\t\t\t\t\"VGF4b24tNzg=\"\n\t\t\t]\n\t\t}\n\t}\n}"}'
https://bestfriendbazaar.com/graphql

Postman Collection Item JSON

{
  "name": "Promotion Upsert",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "MARKETPLACER-API-KEY",
        "value": "{{api_key}}",
        "type": "text"
      },
      {
        "key": "Content-Type",
        "value": "application/json",
        "type": "text"
      }
    ],
    "body": {
      "mode": "graphql",
      "graphql": {
        "query": "mutation CreatePromotion($input: PromotionUpsertMutationInput!){\n\tpromotionUpsert(\n\t\tinput: $input\n\t) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tpromotion {\n\t\t\tid\n\t\t\tname\n\t\t}\n\t}\n}",
        "variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"name\": \"10% Off\",\n\t\t\t\"description\": \"10% off site wide\",\n\t\t\t\"discountAmount\": 10,\n\t\t\t\"discountType\": \"PERCENT\",\n\t\t\t\"brandsExcludedIds\": [\n\t\t\t\t\"QnJhbmQtNA==\",\n\t\t\t\t\"QnJhbmQtMTk=\"\n\t\t\t],\n\t\t\t\"categoriesIncludedIds\": [\n\t\t\t\t\"VGF4b24tNzg=\"\n\t\t\t]\n\t\t}\n\t}\n}"
      }
    },
    "url": {
      "raw": "{{base_url}}",
      "host": [
        "{{base_url}}"
      ],
      "path": null
    },
    "description": null
  },
  "response": [
  ]
}