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 ChilkatHttp
Dim success As Long
http.BasicAuth = 1
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 createNewShippingRule($input: ShippingOptionUpsertMutationInput!) {\n\tshippingOptionUpsert(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tshippingOption {\n\t\t\tid\n\t\t\tname\n\t\t}\n\t}\n}\n",
' "variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"name\": \"Express Metro Small\",\n\t\t\t\"description\": \"For packages in metro areas less than 5Kg\",\n\t\t\t\"shippingZoneIds\": [\n\t\t\t\t\"U2hpcHBpbmdab25lLTE0\"\n\t\t\t],\n\t\t\t\"shippingRateIds\": [\n\t\t\t\t\"U2hpcHBpbmdSYXRlLTE4\"\n\t\t\t],\n\t\t\t\"shippingProfileIds\": [\n\t\t\t\t\"U2hpcHBpbmdQcm9maWxlLTc=\"\n\t\t\t]\n\t\t}\n\t}\n}"
' }
Dim json As New ChilkatJsonObject
success = json.UpdateString("query","mutation createNewShippingRule($input: ShippingOptionUpsertMutationInput!) {" & vbLf & " shippingOptionUpsert(input: $input) {" & vbLf & " errors {" & vbLf & " field" & vbLf & " messages" & vbLf & " }" & vbLf & " shippingOption {" & vbLf & " id" & vbLf & " name" & vbLf & " }" & vbLf & " }" & vbLf & "}" & vbLf)
success = json.UpdateString("variables","{" & vbLf & " ""input"": {" & vbLf & " ""attributes"": {" & vbLf & " ""name"": ""Express Metro Small""," & vbLf & " ""description"": ""For packages in metro areas less than 5Kg""," & vbLf & " ""shippingZoneIds"": [" & vbLf & " ""U2hpcHBpbmdab25lLTE0\vbLf & " ]," & vbLf & " ""shippingRateIds"": [" & vbLf & " ""U2hpcHBpbmdSYXRlLTE4\vbLf & " ]," & vbLf & " ""shippingProfileIds"": [" & vbLf & " ""U2hpcHBpbmdQcm9maWxlLTc=\vbLf & " ]" & vbLf & " }" & vbLf & " }" & vbLf & "}")
http.SetRequestHeader "Content-Type","application/json"
http.SetRequestHeader "MARKETPLACER-API-KEY","{{api_key}}"
Dim resp As ChilkatHttpResponse
Set resp = http.PostJson3("https://bestfriendbazaar.com/graphql","application/json",json)
If (http.LastMethodSuccess = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Debug.Print resp.StatusCode
Debug.Print 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 createNewShippingRule($input: ShippingOptionUpsertMutationInput!) {\n\tshippingOptionUpsert(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tshippingOption {\n\t\t\tid\n\t\t\tname\n\t\t}\n\t}\n}\n","variables":"{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"name\": \"Express Metro Small\",\n\t\t\t\"description\": \"For packages in metro areas less than 5Kg\",\n\t\t\t\"shippingZoneIds\": [\n\t\t\t\t\"U2hpcHBpbmdab25lLTE0\"\n\t\t\t],\n\t\t\t\"shippingRateIds\": [\n\t\t\t\t\"U2hpcHBpbmdSYXRlLTE4\"\n\t\t\t],\n\t\t\t\"shippingProfileIds\": [\n\t\t\t\t\"U2hpcHBpbmdQcm9maWxlLTc=\"\n\t\t\t]\n\t\t}\n\t}\n}"}'
https://bestfriendbazaar.com/graphql
Postman Collection Item JSON
{
"name": "Shipping Option (Rule) 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 createNewShippingRule($input: ShippingOptionUpsertMutationInput!) {\n\tshippingOptionUpsert(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tshippingOption {\n\t\t\tid\n\t\t\tname\n\t\t}\n\t}\n}\n",
"variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"name\": \"Express Metro Small\",\n\t\t\t\"description\": \"For packages in metro areas less than 5Kg\",\n\t\t\t\"shippingZoneIds\": [\n\t\t\t\t\"U2hpcHBpbmdab25lLTE0\"\n\t\t\t],\n\t\t\t\"shippingRateIds\": [\n\t\t\t\t\"U2hpcHBpbmdSYXRlLTE4\"\n\t\t\t],\n\t\t\t\"shippingProfileIds\": [\n\t\t\t\t\"U2hpcHBpbmdQcm9maWxlLTc=\"\n\t\t\t]\n\t\t}\n\t}\n}"
}
},
"url": {
"raw": "{{base_url}}",
"host": [
"{{base_url}}"
],
"path": null
},
"description": null
},
"response": [
]
}