ERROR!
------------------- GenerateCode ----------------------
ImpliedContentType: application/json
explicitContentType: application/json
---- begin chilkat script ----
// This example assumes the Chilkat API to have been previously unlocked.
// See {{-global_unlock:::Global Unlock Sample-}} for sample code.
new Http http;
ckbool success;
http.BasicAuth = cktrue;
http.Login = "{{username}}";
http.Password = "{{password}}";
// Use this online tool to generate code from sample JSON: {{.https://tools.chilkat.io/jsonCreate|||Generate Code to Create JSON.}}
// The following JSON is sent in the request body.
// {
// "query": "mutation WebhookCreate($input: WebhookCreateMutationInput!) {\n\twebhookCreate(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tstatus\n\t\twebhook {\n\t\t\tid\n\t\t}\n\t}\n}",
// "variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"enabled\": true,\n\t\t\t\"type\": \"INVOICE\",\n\t\t\t\"eventName\": \"UPDATE\",\n\t\t\t\"url\": \"https://example.com/your_post_endpoint\",\n\t\t\t\"headers\": \"{ \\\"environment\\\": \\\"Production\\\" }\",\n\t\t\t\"queryString\": \"query($id: ID!){node(id: $id){... on Invoice{__typename id statusFlags createdAt}}}\"\n\t\t}\n\t}\n}"
// }
new JsonObject json;
ignore = json.UpdateString("query","mutation WebhookCreate($input: WebhookCreateMutationInput!) {\n webhookCreate(input: $input) {\n errors {\n field\n messages\n }\n status\n webhook {\n id\n }\n }\n}");
ignore = json.UpdateString("variables","{\n \"input\": {\n \"attributes\": {\n \"enabled\": true,\n \"type\": \"INVOICE\",\n \"eventName\": \"UPDATE\",\n \"url\": \"https://example.com/your_post_endpoint\",\n \"headers\": \"{ \\"environment\\": \\"Production\\" }\",\n \"queryString\": \"query($id: ID!){node(id: $id){... on Invoice{__typename id statusFlags createdAt}}}\"\n }\n }\n}");
call http.SetRequestHeader("Content-Type","application/json");
call http.SetRequestHeader("MARKETPLACER-API-KEY","{{api_key}}");
new HttpResponse resp;
success = http.HttpJson("POST","https://bestfriendbazaar.com/graphql",json,"application/json",resp);
if (success == ckfalse) {
println http.LastErrorText;
return;
}
println resp.StatusCode;
println resp.BodyStr;
---- end chilkat script ----
Back to Collection Items
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoHttp
Boolean iSuccess
Handle hoJson
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
Set ComBasicAuth Of hoHttp To True
Set ComLogin Of hoHttp To "{{username}}"
Set ComPassword Of hoHttp To "{{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 WebhookCreate($input: WebhookCreateMutationInput!) {\n\twebhookCreate(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tstatus\n\t\twebhook {\n\t\t\tid\n\t\t}\n\t}\n}",
// "variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"enabled\": true,\n\t\t\t\"type\": \"INVOICE\",\n\t\t\t\"eventName\": \"UPDATE\",\n\t\t\t\"url\": \"https://example.com/your_post_endpoint\",\n\t\t\t\"headers\": \"{ \\\"environment\\\": \\\"Production\\\" }\",\n\t\t\t\"queryString\": \"query($id: ID!){node(id: $id){... on Invoice{__typename id statusFlags createdAt}}}\"\n\t\t}\n\t}\n}"
// }
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get ComUpdateString Of hoJson "query" "mutation WebhookCreate($input: WebhookCreateMutationInput!) {" + (character(10)) + " webhookCreate(input: $input) {" + (character(10)) + " errors {" + (character(10)) + " field" + (character(10)) + " messages" + (character(10)) + " }" + (character(10)) + " status" + (character(10)) + " webhook {" + (character(10)) + " id" + (character(10)) + " }" + (character(10)) + " }" + (character(10)) + "}" To iSuccess
ERROR: ")" expected
Get ComUpdateString Of hoJson "variables" '{' + (character(10)) + ' "input": {' + (character(10)) + ' "attributes": {' + (character(10)) + ' "enabled": true,' + (character(10)) + ' "type": "INVOICE",' + (character(10)) + ' "eventName": "UPDATE",' + (character(10)) + ' "url": "https://example.com/your_post_endpoint",' + (character(10)) + ' "headers": "{ \' To iSuccessERROR: Undefined variable(environment)
End_Procedure
Curl Command
curl -X POST
-u '{{username}}:{{password}}'
-H "MARKETPLACER-API-KEY: {{api_key}}"
-H "Content-Type: application/json"
--data-raw '{"query":"mutation WebhookCreate($input: WebhookCreateMutationInput!) {\n\twebhookCreate(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tstatus\n\t\twebhook {\n\t\t\tid\n\t\t}\n\t}\n}","variables":"{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"enabled\": true,\n\t\t\t\"type\": \"INVOICE\",\n\t\t\t\"eventName\": \"UPDATE\",\n\t\t\t\"url\": \"https://example.com/your_post_endpoint\",\n\t\t\t\"headers\": \"{ \\\"environment\\\": \\\"Production\\\" }\",\n\t\t\t\"queryString\": \"query($id: ID!){node(id: $id){... on Invoice{__typename id statusFlags createdAt}}}\"\n\t\t}\n\t}\n}"}'
https://bestfriendbazaar.com/graphql
Postman Collection Item JSON
{
"name": "Webhook Create",
"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 WebhookCreate($input: WebhookCreateMutationInput!) {\n\twebhookCreate(input: $input) {\n\t\terrors {\n\t\t\tfield\n\t\t\tmessages\n\t\t}\n\t\tstatus\n\t\twebhook {\n\t\t\tid\n\t\t}\n\t}\n}",
"variables": "{\n\t\"input\": {\n\t\t\"attributes\": {\n\t\t\t\"enabled\": true,\n\t\t\t\"type\": \"INVOICE\",\n\t\t\t\"eventName\": \"UPDATE\",\n\t\t\t\"url\": \"https://example.com/your_post_endpoint\",\n\t\t\t\"headers\": \"{ \\\"environment\\\": \\\"Production\\\" }\",\n\t\t\t\"queryString\": \"query($id: ID!){node(id: $id){... on Invoice{__typename id statusFlags createdAt}}}\"\n\t\t}\n\t}\n}"
}
},
"url": {
"raw": "{{base_url}}",
"host": [
"{{base_url}}"
],
"path": null
},
"description": null
},
"response": [
]
}