Download the receipt PDF from the tracking link (public)
curl --request GET \
--url https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdfimport requests
url = "https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf', 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.qbank.cl/platform/v1/public/track/{code}/receipt.pdf",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"<string>"{
"error": "not_found",
"message": "this tracking link does not correspond to any transaction issued by this platform"
}{
"error": "too_many_attempts",
"message": "too many requests; wait a moment and retry"
}Download the receipt PDF from the tracking link (public)
Public endpoint (no credentials) that generates the receipt PDF on the fly with the same renderer as the authenticated endpoints, in the requested language (lang=es|en|zh; Chinese renders with the Noto Sans SC font). Same signed code as the JSON tracker. Responses carry X-Robots-Tag: noindex and Cache-Control: no-store. Shares the per-IP rate limit.
GET
/
v1
/
public
/
track
/
{code}
/
receipt.pdf
Download the receipt PDF from the tracking link (public)
curl --request GET \
--url https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdfimport requests
url = "https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf', 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.qbank.cl/platform/v1/public/track/{code}/receipt.pdf",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/public/track/{code}/receipt.pdf")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"<string>"{
"error": "not_found",
"message": "this tracking link does not correspond to any transaction issued by this platform"
}{
"error": "too_many_attempts",
"message": "too many requests; wait a moment and retry"
}