curl --request POST \
--url https://api.globalwebindex.com/v2/query/stats \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"question": "q20",
"datapoints": [
"q20_3",
"q20_1",
"q20_5",
"q20_6",
"q20_7",
"q20_4",
"q20_2"
],
"suffixes": [
"1",
"2",
"3"
],
"splitter": "waves",
"segments": [
"q1_2019",
"q2_2019",
"q3_2019",
"q4_2019"
],
"segmented_base": true,
"audiences": [
{
"id": "133",
"name": "my_audience",
"expression": {
"and": [
{
"question": "q2",
"datapoints": [
"q2_1",
"q2_2"
],
"min_count": 1,
"not": false
},
{
"question": "q20",
"datapoints": [
"q20_2"
],
"min_count": 1,
"suffixes": [
"1",
"2",
"3"
],
"not": false
}
]
}
}
],
"locations": [
"s2_1",
"s2_44"
],
"waves": [
"q1_2019",
"q2_2019",
"q3_2019",
"q4_2019"
],
"base_audience": {
"id": "123",
"name": "base_audience",
"expression": {
"and": [
{
"question": "q2",
"datapoints": [
"q2_1",
"q2_2"
],
"min_count": 1,
"not": false
},
{
"question": "q20",
"datapoints": [
"q20_2"
],
"min_count": 1,
"suffixes": [
"1",
"2",
"3"
],
"not": false
}
]
}
}
}
'import requests
url = "https://api.globalwebindex.com/v2/query/stats"
payload = {
"question": "q20",
"datapoints": ["q20_3", "q20_1", "q20_5", "q20_6", "q20_7", "q20_4", "q20_2"],
"suffixes": ["1", "2", "3"],
"splitter": "waves",
"segments": ["q1_2019", "q2_2019", "q3_2019", "q4_2019"],
"segmented_base": True,
"audiences": [
{
"id": "133",
"name": "my_audience",
"expression": { "and": [
{
"question": "q2",
"datapoints": ["q2_1", "q2_2"],
"min_count": 1,
"not": False
},
{
"question": "q20",
"datapoints": ["q20_2"],
"min_count": 1,
"suffixes": ["1", "2", "3"],
"not": False
}
] }
}
],
"locations": ["s2_1", "s2_44"],
"waves": ["q1_2019", "q2_2019", "q3_2019", "q4_2019"],
"base_audience": {
"id": "123",
"name": "base_audience",
"expression": { "and": [
{
"question": "q2",
"datapoints": ["q2_1", "q2_2"],
"min_count": 1,
"not": False
},
{
"question": "q20",
"datapoints": ["q20_2"],
"min_count": 1,
"suffixes": ["1", "2", "3"],
"not": False
}
] }
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
question: 'q20',
datapoints: ['q20_3', 'q20_1', 'q20_5', 'q20_6', 'q20_7', 'q20_4', 'q20_2'],
suffixes: ['1', '2', '3'],
splitter: 'waves',
segments: ['q1_2019', 'q2_2019', 'q3_2019', 'q4_2019'],
segmented_base: true,
audiences: [
{
id: '133',
name: 'my_audience',
expression: {
and: [
{question: 'q2', datapoints: ['q2_1', 'q2_2'], min_count: 1, not: false},
{
question: 'q20',
datapoints: ['q20_2'],
min_count: 1,
suffixes: ['1', '2', '3'],
not: false
}
]
}
}
],
locations: ['s2_1', 's2_44'],
waves: ['q1_2019', 'q2_2019', 'q3_2019', 'q4_2019'],
base_audience: {
id: '123',
name: 'base_audience',
expression: {
and: [
{question: 'q2', datapoints: ['q2_1', 'q2_2'], min_count: 1, not: false},
{
question: 'q20',
datapoints: ['q20_2'],
min_count: 1,
suffixes: ['1', '2', '3'],
not: false
}
]
}
}
})
};
fetch('https://api.globalwebindex.com/v2/query/stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.globalwebindex.com/v2/query/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'question' => 'q20',
'datapoints' => [
'q20_3',
'q20_1',
'q20_5',
'q20_6',
'q20_7',
'q20_4',
'q20_2'
],
'suffixes' => [
'1',
'2',
'3'
],
'splitter' => 'waves',
'segments' => [
'q1_2019',
'q2_2019',
'q3_2019',
'q4_2019'
],
'segmented_base' => true,
'audiences' => [
[
'id' => '133',
'name' => 'my_audience',
'expression' => [
'and' => [
[
'question' => 'q2',
'datapoints' => [
'q2_1',
'q2_2'
],
'min_count' => 1,
'not' => false
],
[
'question' => 'q20',
'datapoints' => [
'q20_2'
],
'min_count' => 1,
'suffixes' => [
'1',
'2',
'3'
],
'not' => false
]
]
]
]
],
'locations' => [
's2_1',
's2_44'
],
'waves' => [
'q1_2019',
'q2_2019',
'q3_2019',
'q4_2019'
],
'base_audience' => [
'id' => '123',
'name' => 'base_audience',
'expression' => [
'and' => [
[
'question' => 'q2',
'datapoints' => [
'q2_1',
'q2_2'
],
'min_count' => 1,
'not' => false
],
[
'question' => 'q20',
'datapoints' => [
'q20_2'
],
'min_count' => 1,
'suffixes' => [
'1',
'2',
'3'
],
'not' => false
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.globalwebindex.com/v2/query/stats"
payload := strings.NewReader("{\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_3\",\n \"q20_1\",\n \"q20_5\",\n \"q20_6\",\n \"q20_7\",\n \"q20_4\",\n \"q20_2\"\n ],\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"splitter\": \"waves\",\n \"segments\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"segmented_base\": true,\n \"audiences\": [\n {\n \"id\": \"133\",\n \"name\": \"my_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n ],\n \"locations\": [\n \"s2_1\",\n \"s2_44\"\n ],\n \"waves\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"base_audience\": {\n \"id\": \"123\",\n \"name\": \"base_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.globalwebindex.com/v2/query/stats")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_3\",\n \"q20_1\",\n \"q20_5\",\n \"q20_6\",\n \"q20_7\",\n \"q20_4\",\n \"q20_2\"\n ],\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"splitter\": \"waves\",\n \"segments\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"segmented_base\": true,\n \"audiences\": [\n {\n \"id\": \"133\",\n \"name\": \"my_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n ],\n \"locations\": [\n \"s2_1\",\n \"s2_44\"\n ],\n \"waves\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"base_audience\": {\n \"id\": \"123\",\n \"name\": \"base_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.globalwebindex.com/v2/query/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_3\",\n \"q20_1\",\n \"q20_5\",\n \"q20_6\",\n \"q20_7\",\n \"q20_4\",\n \"q20_2\"\n ],\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"splitter\": \"waves\",\n \"segments\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"segmented_base\": true,\n \"audiences\": [\n {\n \"id\": \"133\",\n \"name\": \"my_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n ],\n \"locations\": [\n \"s2_1\",\n \"s2_44\"\n ],\n \"waves\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"base_audience\": {\n \"id\": \"123\",\n \"name\": \"base_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"type": "DATAPOINTS-SEGMENTS",
"question": "q20",
"splitter": "waves"
},
"data": [
{
"datapoint": "q20_3",
"waves": [
"q1_2019",
"q2_2019",
"q3_2019",
"q4_2019"
],
"metrics": {
"positive_size": 123,
"positive_sample": 123,
"audience_index": 123,
"audience_percentage": 123,
"audience_sample": 123,
"audience_size": 123,
"datapoint_percentage": 123,
"datapoint_sample": 123,
"datapoint_size": 123
},
"segment": "q1_2019",
"audience": "133",
"suffixes": [
1,
2,
3
]
}
]
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 400,
"message": "Message readable by customer."
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 400,
"message": "Message readable by customer."
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 403,
"meta": {
"forbidden_codes": {
"questions": [
{
"code": "q2",
"datapoints": [
"q1_1"
],
"origin": "question"
}
],
"locations": [
"s2_44"
],
"waves": [
"q1_2019"
]
}
}
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 400,
"message": "Message readable by customer."
}v2 Stats Query
For any query (JSON object) with question, audiences and filters in request body it responses with results for chart builder metrics according the query.
curl --request POST \
--url https://api.globalwebindex.com/v2/query/stats \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"question": "q20",
"datapoints": [
"q20_3",
"q20_1",
"q20_5",
"q20_6",
"q20_7",
"q20_4",
"q20_2"
],
"suffixes": [
"1",
"2",
"3"
],
"splitter": "waves",
"segments": [
"q1_2019",
"q2_2019",
"q3_2019",
"q4_2019"
],
"segmented_base": true,
"audiences": [
{
"id": "133",
"name": "my_audience",
"expression": {
"and": [
{
"question": "q2",
"datapoints": [
"q2_1",
"q2_2"
],
"min_count": 1,
"not": false
},
{
"question": "q20",
"datapoints": [
"q20_2"
],
"min_count": 1,
"suffixes": [
"1",
"2",
"3"
],
"not": false
}
]
}
}
],
"locations": [
"s2_1",
"s2_44"
],
"waves": [
"q1_2019",
"q2_2019",
"q3_2019",
"q4_2019"
],
"base_audience": {
"id": "123",
"name": "base_audience",
"expression": {
"and": [
{
"question": "q2",
"datapoints": [
"q2_1",
"q2_2"
],
"min_count": 1,
"not": false
},
{
"question": "q20",
"datapoints": [
"q20_2"
],
"min_count": 1,
"suffixes": [
"1",
"2",
"3"
],
"not": false
}
]
}
}
}
'import requests
url = "https://api.globalwebindex.com/v2/query/stats"
payload = {
"question": "q20",
"datapoints": ["q20_3", "q20_1", "q20_5", "q20_6", "q20_7", "q20_4", "q20_2"],
"suffixes": ["1", "2", "3"],
"splitter": "waves",
"segments": ["q1_2019", "q2_2019", "q3_2019", "q4_2019"],
"segmented_base": True,
"audiences": [
{
"id": "133",
"name": "my_audience",
"expression": { "and": [
{
"question": "q2",
"datapoints": ["q2_1", "q2_2"],
"min_count": 1,
"not": False
},
{
"question": "q20",
"datapoints": ["q20_2"],
"min_count": 1,
"suffixes": ["1", "2", "3"],
"not": False
}
] }
}
],
"locations": ["s2_1", "s2_44"],
"waves": ["q1_2019", "q2_2019", "q3_2019", "q4_2019"],
"base_audience": {
"id": "123",
"name": "base_audience",
"expression": { "and": [
{
"question": "q2",
"datapoints": ["q2_1", "q2_2"],
"min_count": 1,
"not": False
},
{
"question": "q20",
"datapoints": ["q20_2"],
"min_count": 1,
"suffixes": ["1", "2", "3"],
"not": False
}
] }
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
question: 'q20',
datapoints: ['q20_3', 'q20_1', 'q20_5', 'q20_6', 'q20_7', 'q20_4', 'q20_2'],
suffixes: ['1', '2', '3'],
splitter: 'waves',
segments: ['q1_2019', 'q2_2019', 'q3_2019', 'q4_2019'],
segmented_base: true,
audiences: [
{
id: '133',
name: 'my_audience',
expression: {
and: [
{question: 'q2', datapoints: ['q2_1', 'q2_2'], min_count: 1, not: false},
{
question: 'q20',
datapoints: ['q20_2'],
min_count: 1,
suffixes: ['1', '2', '3'],
not: false
}
]
}
}
],
locations: ['s2_1', 's2_44'],
waves: ['q1_2019', 'q2_2019', 'q3_2019', 'q4_2019'],
base_audience: {
id: '123',
name: 'base_audience',
expression: {
and: [
{question: 'q2', datapoints: ['q2_1', 'q2_2'], min_count: 1, not: false},
{
question: 'q20',
datapoints: ['q20_2'],
min_count: 1,
suffixes: ['1', '2', '3'],
not: false
}
]
}
}
})
};
fetch('https://api.globalwebindex.com/v2/query/stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.globalwebindex.com/v2/query/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'question' => 'q20',
'datapoints' => [
'q20_3',
'q20_1',
'q20_5',
'q20_6',
'q20_7',
'q20_4',
'q20_2'
],
'suffixes' => [
'1',
'2',
'3'
],
'splitter' => 'waves',
'segments' => [
'q1_2019',
'q2_2019',
'q3_2019',
'q4_2019'
],
'segmented_base' => true,
'audiences' => [
[
'id' => '133',
'name' => 'my_audience',
'expression' => [
'and' => [
[
'question' => 'q2',
'datapoints' => [
'q2_1',
'q2_2'
],
'min_count' => 1,
'not' => false
],
[
'question' => 'q20',
'datapoints' => [
'q20_2'
],
'min_count' => 1,
'suffixes' => [
'1',
'2',
'3'
],
'not' => false
]
]
]
]
],
'locations' => [
's2_1',
's2_44'
],
'waves' => [
'q1_2019',
'q2_2019',
'q3_2019',
'q4_2019'
],
'base_audience' => [
'id' => '123',
'name' => 'base_audience',
'expression' => [
'and' => [
[
'question' => 'q2',
'datapoints' => [
'q2_1',
'q2_2'
],
'min_count' => 1,
'not' => false
],
[
'question' => 'q20',
'datapoints' => [
'q20_2'
],
'min_count' => 1,
'suffixes' => [
'1',
'2',
'3'
],
'not' => false
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.globalwebindex.com/v2/query/stats"
payload := strings.NewReader("{\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_3\",\n \"q20_1\",\n \"q20_5\",\n \"q20_6\",\n \"q20_7\",\n \"q20_4\",\n \"q20_2\"\n ],\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"splitter\": \"waves\",\n \"segments\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"segmented_base\": true,\n \"audiences\": [\n {\n \"id\": \"133\",\n \"name\": \"my_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n ],\n \"locations\": [\n \"s2_1\",\n \"s2_44\"\n ],\n \"waves\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"base_audience\": {\n \"id\": \"123\",\n \"name\": \"base_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.globalwebindex.com/v2/query/stats")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_3\",\n \"q20_1\",\n \"q20_5\",\n \"q20_6\",\n \"q20_7\",\n \"q20_4\",\n \"q20_2\"\n ],\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"splitter\": \"waves\",\n \"segments\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"segmented_base\": true,\n \"audiences\": [\n {\n \"id\": \"133\",\n \"name\": \"my_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n ],\n \"locations\": [\n \"s2_1\",\n \"s2_44\"\n ],\n \"waves\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"base_audience\": {\n \"id\": \"123\",\n \"name\": \"base_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.globalwebindex.com/v2/query/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_3\",\n \"q20_1\",\n \"q20_5\",\n \"q20_6\",\n \"q20_7\",\n \"q20_4\",\n \"q20_2\"\n ],\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"splitter\": \"waves\",\n \"segments\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"segmented_base\": true,\n \"audiences\": [\n {\n \"id\": \"133\",\n \"name\": \"my_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n ],\n \"locations\": [\n \"s2_1\",\n \"s2_44\"\n ],\n \"waves\": [\n \"q1_2019\",\n \"q2_2019\",\n \"q3_2019\",\n \"q4_2019\"\n ],\n \"base_audience\": {\n \"id\": \"123\",\n \"name\": \"base_audience\",\n \"expression\": {\n \"and\": [\n {\n \"question\": \"q2\",\n \"datapoints\": [\n \"q2_1\",\n \"q2_2\"\n ],\n \"min_count\": 1,\n \"not\": false\n },\n {\n \"question\": \"q20\",\n \"datapoints\": [\n \"q20_2\"\n ],\n \"min_count\": 1,\n \"suffixes\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n \"not\": false\n }\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"type": "DATAPOINTS-SEGMENTS",
"question": "q20",
"splitter": "waves"
},
"data": [
{
"datapoint": "q20_3",
"waves": [
"q1_2019",
"q2_2019",
"q3_2019",
"q4_2019"
],
"metrics": {
"positive_size": 123,
"positive_sample": 123,
"audience_index": 123,
"audience_percentage": 123,
"audience_sample": 123,
"audience_size": 123,
"datapoint_percentage": 123,
"datapoint_sample": 123,
"datapoint_size": 123
},
"segment": "q1_2019",
"audience": "133",
"suffixes": [
1,
2,
3
]
}
]
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 400,
"message": "Message readable by customer."
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 400,
"message": "Message readable by customer."
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 403,
"meta": {
"forbidden_codes": {
"questions": [
{
"code": "q2",
"datapoints": [
"q1_1"
],
"origin": "question"
}
],
"locations": [
"s2_44"
],
"waves": [
"q1_2019"
]
}
}
}{
"error": "some_error",
"error_type": "empty_expression",
"code": 400,
"message": "Message readable by customer."
}Authorizations
Body
Chart builder query.
Question, audiences and filters as parameters for chart builder metrics.
Question code to define datapoint scope.
"q20"
Datapoint codes to limit scopes of interest.
[
"q20_3",
"q20_1",
"q20_5",
"q20_6",
"q20_7",
"q20_4",
"q20_2"
]Suffixes to extend datapoint codes for more detailed responses.
["1", "2", "3"]Either 'waves' or question code used to split results to segments.
"waves"
List of wave codes, location codes or datapoint codes used to limit which segments scopes are created.
["q1_2019", "q2_2019", "q3_2019", "q4_2019"]Switch to use each segment as base scope when doing segmentation.
List of audiences to scope question responses.
Show child attributes
Show child attributes
List of location codes to filter.
["s2_1", "s2_44"]List of wave codes to filter.
["q1_2019", "q2_2019", "q3_2019", "q4_2019"]Wrapper structure containing AudienceExpression.
Show child attributes
Show child attributes
Was this page helpful?

