Back to Collection Items
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
loHttp.BasicAuth = .T.
loHttp.Login = "{{username}}"
loHttp.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}"
// }
loJson = createobject("CkJsonObject")
loJson.UpdateString("query","mutation CreatePromotion($input: PromotionUpsertMutationInput!){" + Chr(10) + " promotionUpsert(" + Chr(10) + " input: $input" + Chr(10) + " ) {" + Chr(10) + " errors {" + Chr(10) + " field" + Chr(10) + " messages" + Chr(10) + " }" + Chr(10) + " promotion {" + Chr(10) + " id" + Chr(10) + " name" + Chr(10) + " }" + Chr(10) + " }" + Chr(10) + "}")
loJson.UpdateString("variables",'{' + Chr(10) + ' "input": {' + Chr(10) + ' "attributes": {' + Chr(10) + ' "name": "10% Off",' + Chr(10) + ' "description": "10% off site wide",' + Chr(10) + ' "discountAmount": 10,' + Chr(10) + ' "discountType": "PERCENT",' + Chr(10) + ' "brandsExcludedIds": [' + Chr(10) + ' "QnJhbmQtNA==",' + Chr(10) + ' "QnJhbmQtMTk=\Chr(10) + ' ],' + Chr(10) + ' "categoriesIncludedIds": [' + Chr(10) + ' "VGF4b24tNzg=\Chr(10) + ' ]' + Chr(10) + ' }' + Chr(10) + ' }' + Chr(10) + '}')
loHttp.SetRequestHeader("Content-Type","application/json")
loHttp.SetRequestHeader("MARKETPLACER-API-KEY","{{api_key}}")
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpJson("POST","https://bestfriendbazaar.com/graphql",loJson,"application/json",loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loJson
release loResp
return
endif
? str(loResp.StatusCode)
? loResp.BodyStr
release loHttp
release loJson
release loResp
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": [
]
}