curl --request POST \
--url https://api.croma.run/pe/callao/papeletas/v1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"plate": "ABC123"
}
'import requests
url = "https://api.croma.run/pe/callao/papeletas/v1"
payload = { "plate": "ABC123" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({plate: 'ABC123'})
};
fetch('https://api.croma.run/pe/callao/papeletas/v1', 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.croma.run/pe/callao/papeletas/v1",
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([
'plate' => 'ABC123'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.croma.run/pe/callao/papeletas/v1"
payload := strings.NewReader("{\n \"plate\": \"ABC123\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.croma.run/pe/callao/papeletas/v1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"plate\": \"ABC123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.croma.run/pe/callao/papeletas/v1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"plate\": \"ABC123\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"found": true,
"plate": "<string>",
"has_papeletas": true,
"count": 123,
"currency": "<string>",
"total": 123,
"papeletas": [
{
"plate": "<string>",
"code": "<string>",
"ticket_number": "<string>",
"infraction_date": "2023-12-25",
"amount": 123,
"installment": 123,
"ticket_id": "<string>"
}
]
}
}{
"job": {
"id": "<string>",
"endpoint": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"status_url": "<string>"
},
"data": {},
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}List the outstanding traffic tickets (papeletas) registered against a vehicle plate in the province of Callao, issued by the Municipalidad Provincial del Callao. has_papeletas: false means the plate has no outstanding tickets on record. When tickets exist, papeletas lists each one (code, ticket number, infraction date, amount, installment) and total is the sum of the outstanding amounts in PEN.
Supports async delivery: set Prefer: wait=N for an inline result, pass callback_url to receive a POST when ready, or poll GET /jobs/{id}.
curl --request POST \
--url https://api.croma.run/pe/callao/papeletas/v1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"plate": "ABC123"
}
'import requests
url = "https://api.croma.run/pe/callao/papeletas/v1"
payload = { "plate": "ABC123" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({plate: 'ABC123'})
};
fetch('https://api.croma.run/pe/callao/papeletas/v1', 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.croma.run/pe/callao/papeletas/v1",
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([
'plate' => 'ABC123'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.croma.run/pe/callao/papeletas/v1"
payload := strings.NewReader("{\n \"plate\": \"ABC123\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.croma.run/pe/callao/papeletas/v1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"plate\": \"ABC123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.croma.run/pe/callao/papeletas/v1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"plate\": \"ABC123\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"found": true,
"plate": "<string>",
"has_papeletas": true,
"count": 123,
"currency": "<string>",
"total": 123,
"papeletas": [
{
"plate": "<string>",
"code": "<string>",
"ticket_number": "<string>",
"infraction_date": "2023-12-25",
"amount": 123,
"installment": 123,
"ticket_id": "<string>"
}
]
}
}{
"job": {
"id": "<string>",
"endpoint": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"status_url": "<string>"
},
"data": {},
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}Authorizations
Use Authorization: Bearer YOUR_API_KEY
Headers
Set wait=N to hold the connection up to N seconds for an inline result. If the job finishes in time you get the normal 200 body; otherwise a 202 with a status_url to poll.
"wait=30"
Body
Response
Successful response
Show child attributes
Show child attributes