Examples
Usage examples for Get price list. The endpoint accepts POST only and is limited to 20 requests per minute.
One country
country is always an array, even for a single country. Without wallet the price list of the main wallet is returned.
POST /api/1.0/price-list/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz"
]
}
Several countries at once
One request can ask for more countries; the response groups the price list by country code.
POST /api/1.0/price-list/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz",
"sk",
"gb"
]
}
Price list of a specific wallet
wallet picks the wallet the prices belong to. A wallet that is not yours fails with invalid_wallet.
POST /api/1.0/price-list/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz"
],
"wallet": "bg1905014138000023"
}
The response is described in the specification.
Code examples
Below is the same request in different programming languages:
PHP
php.net
$context = stream_context_create(['http' => [
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => json_encode([
'application_id' => 451,
'application_token' => 'NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj',
'country' => ['cz', 'sk', 'gb'],
], JSON_THROW_ON_ERROR),
'timeout' => 30,
'ignore_errors' => true,
]]);
$body = file_get_contents('https://portal.bulkgate.com/api/1.0/price-list/get', false, $context);
if ($body === false)
{
throw new RuntimeException('BulkGate API did not respond.');
}
$response = json_decode($body, true, flags: JSON_THROW_ON_ERROR);
if (isset($response['error']))
{
throw new RuntimeException("BulkGate: {$response['error']} ({$response['type']})");
}
print_r($response['data']);
PHP cURL
php.net/curl
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://portal.bulkgate.com/api/1.0/price-list/get',
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'application_id' => 451,
'application_token' => 'NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj',
'country' => ['cz', 'sk', 'gb'],
], JSON_THROW_ON_ERROR),
]);
$body = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error !== '')
{
throw new RuntimeException("BulkGate API: $error");
}
print_r(json_decode($body, true, flags: JSON_THROW_ON_ERROR));
PHP Guzzle
docs.guzzlephp.org
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
$client = new Client(['timeout' => 30, 'http_errors' => false]);
try
{
$result = $client->post('https://portal.bulkgate.com/api/1.0/price-list/get', ['json' => [
'application_id' => 451,
'application_token' => 'NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj',
'country' => ['cz', 'sk', 'gb'],
]]);
}
catch (GuzzleException $e)
{
throw new RuntimeException('BulkGate: ' . $e->getMessage(), previous: $e);
}
print_r(json_decode((string) $result->getBody(), true, flags: JSON_THROW_ON_ERROR));
Go
go.dev
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://portal.bulkgate.com/api/1.0/price-list/get"
payload := strings.NewReader(`{"application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "country": ["cz", "sk", "gb"]}`)
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(body))
}
Python
python.org
import http.client, json
connection = http.client.HTTPSConnection('portal.bulkgate.com')
connection.request('POST', '/api/1.0/price-list/get', json.dumps({
'application_id': 451,
'application_token': 'NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj',
'country': ['cz', 'sk', 'gb'],
}), {
'Content-Type': 'application/json'
})
response = connection.getresponse()
print(response.status, response.read().decode())
Node.js
nodejs.org
const response = await fetch("https://portal.bulkgate.com/api/1.0/price-list/get", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": ["cz", "sk", "gb"]
}),
});
const result = await response.json();
if (result.error) {
throw new Error(`BulkGate: ${result.error} (${result.type})`);
}
console.log(result.data.price_list);
Java
java.net.http.HttpClient
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://portal.bulkgate.com/api/1.0/price-list/get"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("""
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz",
"sk",
"gb"
]
}"""))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());
Kotlin
kotlinlang.org
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
val payload = """
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz",
"sk",
"gb"
]
}
""".trimIndent()
val request = HttpRequest.newBuilder()
.uri(URI.create("https://portal.bulkgate.com/api/1.0/price-list/get"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build()
val response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString())
println("${response.statusCode()} ${response.body()}")
C# .NET
learn.microsoft.com
using System.Net.Http;
using System.Text;
var payload = """
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz",
"sk",
"gb"
]
}
""";
using var client = new HttpClient();
var response = await client.PostAsync(
"https://portal.bulkgate.com/api/1.0/price-list/get",
new StringContent(payload, Encoding.UTF8, "application/json"));
Console.WriteLine($"{(int) response.StatusCode} {await response.Content.ReadAsStringAsync()}");
C++ libcurl
curl.se/libcurl
#include <curl/curl.h>
#include <iostream>
#include <string>
static size_t collect(char *data, size_t size, size_t nmemb, std::string *out)
{
out->append(data, size * nmemb);
return size * nmemb;
}
int main()
{
const std::string payload = R"json(
{
"application_id": 451,
"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
"country": [
"cz",
"sk",
"gb"
]
}
)json";
CURL *curl = curl_easy_init();
if (curl == nullptr)
{
std::cerr << "curl_easy_init failed\n";
return 1;
}
curl_slist *headers = curl_slist_append(nullptr, "Content-Type: application/json");
std::string body;
curl_easy_setopt(curl, CURLOPT_URL, "https://portal.bulkgate.com/api/1.0/price-list/get");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, collect);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &body);
const CURLcode result = curl_easy_perform(curl);
long status = 0;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &status);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
if (result != CURLE_OK)
{
std::cerr << curl_easy_strerror(result) << "\n";
return 1;
}
std::cout << status << " " << body << "\n";
return 0;
}
Ruby
ruby-lang.org
require 'json'
require 'net/http'
uri = URI('https://portal.bulkgate.com/api/1.0/price-list/get')
response = Net::HTTP.post(uri, {
'application_id' => 451,
'application_token' => 'NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj',
'country' => ['cz', 'sk', 'gb']
}.to_json, 'Content-Type' => 'application/json')
puts "#{response.code} #{response.body}"
Bash cURL
curl.se
curl --request POST \
--url https://portal.bulkgate.com/api/1.0/price-list/get \
--header 'Content-Type: application/json' \
--data '{"application_id": 451, "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj", "country": ["cz", "sk", "gb"]}'
Was this page helpful?
Thank you for your feedback.