Back to Collection Items
var
http: HCkHttp;
success: Boolean;
json: HCkJsonObject;
resp: HCkHttpResponse;
begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := CkHttp_Create();
CkHttp_putBasicAuth(http,True);
CkHttp_putLogin(http,'{{username}}');
CkHttp_putPassword(http,'{{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 IntrospectionQuery {\n __schema {\n \n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n description\n \n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n description\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }",
// "variables": ""
// }
json := CkJsonObject_Create();
CkJsonObject_UpdateString(json,'query','query IntrospectionQuery {' + #10 + ' __schema {' + #10 + ' ' + #10 + ' queryType { name }' + #10 + ' mutationType { name }' + #10 + ' subscriptionType { name }' + #10 + ' types {' + #10 + ' ...FullType' + #10 + ' }' + #10 + ' directives {' + #10 + ' name' + #10 + ' description' + #10 + ' ' + #10 + ' locations' + #10 + ' args {' + #10 + ' ...InputValue' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + #10 + ' fragment FullType on __Type {' + #10 + ' kind' + #10 + ' name' + #10 + ' description' + #10 + ' fields(includeDeprecated: true) {' + #10 + ' name' + #10 + ' description' + #10 + ' args {' + #10 + ' ...InputValue' + #10 + ' }' + #10 + ' type {' + #10 + ' ...TypeRef' + #10 + ' }' + #10 + ' isDeprecated' + #10 + ' deprecationReason' + #10 + ' }' + #10 + ' inputFields {' + #10 + ' ...InputValue' + #10 + ' }' + #10 + ' interfaces {' + #10 + ' ...TypeRef' + #10 + ' }' + #10 + ' enumValues(includeDeprecated: true) {' + #10 + ' name' + #10 + ' description' + #10 + ' isDeprecated' + #10 + ' deprecationReason' + #10 + ' }' + #10 + ' possibleTypes {' + #10 + ' ...TypeRef' + #10 + ' }' + #10 + ' }' + #10 + #10 + ' fragment InputValue on __InputValue {' + #10 + ' name' + #10 + ' description' + #10 + ' type { ...TypeRef }' + #10 + ' defaultValue' + #10 + ' }' + #10 + #10 + ' fragment TypeRef on __Type {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' ofType {' + #10 + ' kind' + #10 + ' name' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + ' }' + #10 + ' }');
CkJsonObject_UpdateString(json,'variables','');
CkHttp_SetRequestHeader(http,'Content-Type','application/json');
CkHttp_SetRequestHeader(http,'MARKETPLACER-API-KEY','{{api_key}}');
resp := CkHttp_PostJson3(http,'https://bestfriendbazaar.com/graphql','application/json',json);
if (CkHttp_getLastMethodSuccess(http) = False) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Exit;
end;
Memo1.Lines.Add(IntToStr(CkHttpResponse_getStatusCode(resp)));
Memo1.Lines.Add(CkHttpResponse__bodyStr(resp));
CkHttpResponse_Dispose(resp);
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
Curl Command
curl -X POST
-u '{{username}}:{{password}}'
-H "MARKETPLACER-API-KEY: {{api_key}}"
-H "Content-Type: application/json"
--data-raw '{"query":"query IntrospectionQuery {\n __schema {\n \n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n description\n \n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n description\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }","variables":""}'
https://bestfriendbazaar.com/graphql
Postman Collection Item JSON
{
"name": "Schema Introspection",
"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 IntrospectionQuery {\n __schema {\n \n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n description\n \n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n description\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }",
"variables": ""
}
},
"url": {
"raw": "{{base_url}}",
"host": [
"{{base_url}}"
],
"path": null
},
"description": null
},
"response": [
]
}