Chilkat Online Tools

VB.NET / Marketplacer SELLER API / Promotions Query

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": "query PromotionQuery($status: String, $pageSize: Int, $endCursor: String) {\n\tpromotions(status: $status, first: $pageSize, after: $endCursor) {\n\t\ttotalCount\n\t\tpageInfo {\n\t\t\thasNextPage\n\t\t\tendCursor\n\t\t}\n\t\tnodes  {\n\t\t\tid\n\t\t\tseller {\n\t\t\t\tid\n\t\t\t\tbusinessName\n\t\t\t}\n\t\t\tname\n\t\t\tteaser\n\t\t\tdescription\n\t\t\tstartDate\n\t\t\tendDate\n\t\t\tminimumSpend\n\t\t\tmaximumSpend\n\t\t\tsuspended\n\t\t\tdiscountType\n\t\t\tdiscountAmount\n\t\t\tfreeShipping\n\t\t\tcostPercentageBorneByMarketplace\n\t\t\tloyaltyProgramLevels (first: $pageSize, after: $endCursor){\n\t\t\t\tnodes {\n\t\t\t\t\tname\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tfreeShippingDomesticOnly\n\t\t\tbrandsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tbrandsExcluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tcategoriesIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tcategoriesExcluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tadvertsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tadvertsExcluded (first: $pageSize, after: $endCursor) {\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tvariantsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tsku\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tvariantsExcluded (first: $pageSize, after: $endCursor) {\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tsku\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tsaleItemsExcluded\n\t\t}\n\t}\n}\n\nfragment PageInfoPartial on PageInfo {\n\thasNextPage\n\tendCursor\n}\n",
'   "variables": "{\n\t\"status\": \"active\",\n\t\"pageSize\": 10,\n\t\"endCursor\": \"\"\n}"
' }

Dim json As New Chilkat.JsonObject
json.UpdateString("query","query PromotionQuery($status: String, $pageSize: Int, $endCursor: String) {" & vbLf & "	promotions(status: $status, first: $pageSize, after: $endCursor) {" & vbLf & "		totalCount" & vbLf & "		pageInfo {" & vbLf & "			hasNextPage" & vbLf & "			endCursor" & vbLf & "		}" & vbLf & "		nodes  {" & vbLf & "			id" & vbLf & "			seller {" & vbLf & "				id" & vbLf & "				businessName" & vbLf & "			}" & vbLf & "			name" & vbLf & "			teaser" & vbLf & "			description" & vbLf & "			startDate" & vbLf & "			endDate" & vbLf & "			minimumSpend" & vbLf & "			maximumSpend" & vbLf & "			suspended" & vbLf & "			discountType" & vbLf & "			discountAmount" & vbLf & "			freeShipping" & vbLf & "			costPercentageBorneByMarketplace" & vbLf & "			loyaltyProgramLevels (first: $pageSize, after: $endCursor){" & vbLf & "				nodes {" & vbLf & "					name" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			freeShippingDomesticOnly" & vbLf & "			brandsIncluded (first: $pageSize, after: $endCursor){" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						name" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			brandsExcluded (first: $pageSize, after: $endCursor){" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						name" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			categoriesIncluded (first: $pageSize, after: $endCursor){" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						displayName" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			categoriesExcluded (first: $pageSize, after: $endCursor){" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						displayName" & vbLf & "					}" & vbLf & "				}" & vbLf & "			}" & vbLf & "			advertsIncluded (first: $pageSize, after: $endCursor){" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						description" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			advertsExcluded (first: $pageSize, after: $endCursor) {" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						description" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			variantsIncluded (first: $pageSize, after: $endCursor){" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						sku" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			variantsExcluded (first: $pageSize, after: $endCursor) {" & vbLf & "				edges {" & vbLf & "					node {" & vbLf & "						sku" & vbLf & "					}" & vbLf & "				}" & vbLf & "				pageInfo{" & vbLf & "					...PageInfoPartial" & vbLf & "				}" & vbLf & "			}" & vbLf & "			saleItemsExcluded" & vbLf & "		}" & vbLf & "	}" & vbLf & "}" & vbLf & vbLf & "fragment PageInfoPartial on PageInfo {" & vbLf & "	hasNextPage" & vbLf & "	endCursor" & vbLf & "}" & vbLf)
json.UpdateString("variables","{" & vbLf & "	""status"": ""active""," & vbLf & "	""pageSize"": 10," & vbLf & "	""endCursor"": ""\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":"query PromotionQuery($status: String, $pageSize: Int, $endCursor: String) {\n\tpromotions(status: $status, first: $pageSize, after: $endCursor) {\n\t\ttotalCount\n\t\tpageInfo {\n\t\t\thasNextPage\n\t\t\tendCursor\n\t\t}\n\t\tnodes  {\n\t\t\tid\n\t\t\tseller {\n\t\t\t\tid\n\t\t\t\tbusinessName\n\t\t\t}\n\t\t\tname\n\t\t\tteaser\n\t\t\tdescription\n\t\t\tstartDate\n\t\t\tendDate\n\t\t\tminimumSpend\n\t\t\tmaximumSpend\n\t\t\tsuspended\n\t\t\tdiscountType\n\t\t\tdiscountAmount\n\t\t\tfreeShipping\n\t\t\tcostPercentageBorneByMarketplace\n\t\t\tloyaltyProgramLevels (first: $pageSize, after: $endCursor){\n\t\t\t\tnodes {\n\t\t\t\t\tname\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tfreeShippingDomesticOnly\n\t\t\tbrandsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tbrandsExcluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tcategoriesIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tcategoriesExcluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tadvertsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tadvertsExcluded (first: $pageSize, after: $endCursor) {\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tvariantsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tsku\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tvariantsExcluded (first: $pageSize, after: $endCursor) {\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tsku\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tsaleItemsExcluded\n\t\t}\n\t}\n}\n\nfragment PageInfoPartial on PageInfo {\n\thasNextPage\n\tendCursor\n}\n","variables":"{\n\t\"status\": \"active\",\n\t\"pageSize\": 10,\n\t\"endCursor\": \"\"\n}"}'
https://bestfriendbazaar.com/graphql

Postman Collection Item JSON

{
  "name": "Promotions Query",
  "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": "query PromotionQuery($status: String, $pageSize: Int, $endCursor: String) {\n\tpromotions(status: $status, first: $pageSize, after: $endCursor) {\n\t\ttotalCount\n\t\tpageInfo {\n\t\t\thasNextPage\n\t\t\tendCursor\n\t\t}\n\t\tnodes  {\n\t\t\tid\n\t\t\tseller {\n\t\t\t\tid\n\t\t\t\tbusinessName\n\t\t\t}\n\t\t\tname\n\t\t\tteaser\n\t\t\tdescription\n\t\t\tstartDate\n\t\t\tendDate\n\t\t\tminimumSpend\n\t\t\tmaximumSpend\n\t\t\tsuspended\n\t\t\tdiscountType\n\t\t\tdiscountAmount\n\t\t\tfreeShipping\n\t\t\tcostPercentageBorneByMarketplace\n\t\t\tloyaltyProgramLevels (first: $pageSize, after: $endCursor){\n\t\t\t\tnodes {\n\t\t\t\t\tname\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tfreeShippingDomesticOnly\n\t\t\tbrandsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tbrandsExcluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tcategoriesIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tcategoriesExcluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdisplayName\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tadvertsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tadvertsExcluded (first: $pageSize, after: $endCursor) {\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tvariantsIncluded (first: $pageSize, after: $endCursor){\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tsku\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tvariantsExcluded (first: $pageSize, after: $endCursor) {\n\t\t\t\tedges {\n\t\t\t\t\tnode {\n\t\t\t\t\t\tsku\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpageInfo{\n\t\t\t\t\t...PageInfoPartial\n\t\t\t\t}\n\t\t\t}\n\t\t\tsaleItemsExcluded\n\t\t}\n\t}\n}\n\nfragment PageInfoPartial on PageInfo {\n\thasNextPage\n\tendCursor\n}\n",
        "variables": "{\n\t\"status\": \"active\",\n\t\"pageSize\": 10,\n\t\"endCursor\": \"\"\n}"
      }
    },
    "url": {
      "raw": "{{base_url}}",
      "host": [
        "{{base_url}}"
      ],
      "path": null
    },
    "description": null
  },
  "response": [
  ]
}