Chilkat Online Tools

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 ----

DataFlex / Marketplacer SELLER API / Webhook Create

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": [
  ]
}