API atsauce
Piegādātāja profils
Jūsu uzņēmuma ieraksts un piekļuves dati, ko lietojat.
#Piegādātāja objekts
| Nosaukums | Tips | Apraksts |
|---|---|---|
id | uuid | BoxLatvia identifikators. |
name | string | Uzņēmuma nosaukums. |
reg_nr | string | null | Reģistrācijas numurs. Tikai lasāms: to pārvalda BoxLatvia. |
vat_reg_nr | string | null | PVN reģistrācijas numurs. |
address address_city address_country country | string | null | Uzņēmuma adrese; country ir valsts kods, piemēram, LV. |
person_type | string | null | legal (juridiska persona) vai natural (fiziska persona). Tikai lasāms. |
contact_person_name contact_person_email contact_person_phone | string | null | Ar ko BoxLatvia sazinās par jūsu sludinājumiem. |
created_at updated_at | datetime | Izveides un pēdējo izmaiņu laiks (UTC). |
Piemērs
{
"id": "9fbb9ba2-6be5-4ae3-9b54-9fd36e889130",
"name": "Imanta Storage SIA",
"reg_nr": "40103456789",
"vat_reg_nr": "LV40103456789",
"address": "Kurzemes prospekts 1",
"address_city": "Rīga",
"address_country": "Latvija",
"country": "LV",
"person_type": "legal",
"contact_person_name": "Anna Bērziņa",
"contact_person_email": "anna@imantastorage.example",
"contact_person_phone": "+371 20000000",
"created_at": "2026-11-07T09:30:12.418Z",
"updated_at": "2026-11-07T09:30:12.418Z"
}#Galapunkti
#Kas es esmu
GET
/v1/mesupplier:readPiekļuves dati, ar kuriem izsaucat API, to tiesības un jūsu piegādātāja profils. Pirmais izsaukums, lai pārbaudītu, vai viss darbojas.
Piemērs
Pārbaudiet piekļuves datus
curl "$API/v1/me" \
-u "$CLIENT_ID:$CLIENT_SECRET"const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const res = await fetch(`${API}/v1/me`, {
headers: { Authorization: auth },
});
console.log(res.status, await res.json());import requests
API = "https://api.boxlatvia.lv"
r = requests.get(
f"{API}/v1/me",
auth=(CLIENT_ID, CLIENT_SECRET),
)
print(r.status_code, r.json())200 OK
{
"client": {
"client_id": "bxc_8F2ZPMcAmQZzr243",
"scopes": [
"reference:read",
"supplier:read",
"supplier:write",
"locations:read",
"locations:write",
"boxes:read",
"boxes:write",
"images:write"
]
},
"supplier": {
"id": "9fbb9ba2-6be5-4ae3-9b54-9fd36e889130",
"name": "Imanta Storage SIA",
"reg_nr": "40103456789",
"vat_reg_nr": "LV40103456789",
"address": "Kurzemes prospekts 1",
"address_city": "Rīga",
"address_country": "Latvija",
"country": "LV",
"person_type": "legal",
"contact_person_name": "Anna Bērziņa",
"contact_person_email": "anna@imantastorage.example",
"contact_person_phone": "+371 20000000",
"created_at": "2026-11-07T09:30:12.418Z",
"updated_at": "2026-11-07T09:30:12.418Z"
}
}Kļūdas
| Statuss | Kad |
|---|---|
| 401 | Nepareizi vai trūkstoši piekļuves dati. |
#Iegūt savu profilu
GET
/v1/suppliersupplier:readJūsu uzņēmuma ieraksts ar ETag, kas vajadzīgs tā mainīšanai.
Piemērs
Iegūšana
curl "$API/v1/supplier" \
-u "$CLIENT_ID:$CLIENT_SECRET"const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const res = await fetch(`${API}/v1/supplier`, {
headers: { Authorization: auth },
});
console.log(res.status, await res.json());import requests
API = "https://api.boxlatvia.lv"
r = requests.get(
f"{API}/v1/supplier",
auth=(CLIENT_ID, CLIENT_SECRET),
)
print(r.status_code, r.json())200 OKETag: W/"6b0bdad3b902b9d4e44a2772"
{
"id": "9fbb9ba2-6be5-4ae3-9b54-9fd36e889130",
"name": "Imanta Storage SIA",
"reg_nr": "40103456789",
"vat_reg_nr": "LV40103456789",
"address": "Kurzemes prospekts 1",
"address_city": "Rīga",
"address_country": "Latvija",
"country": "LV",
"person_type": "legal",
"contact_person_name": "Anna Bērziņa",
"contact_person_email": "anna@imantastorage.example",
"contact_person_phone": "+371 20000000",
"created_at": "2026-11-07T09:30:12.418Z",
"updated_at": "2026-11-07T09:30:12.418Z"
}#Atjaunināt savu profilu
PATCH
/v1/suppliersupplier:writeMaina kontaktinformācijas un adreses laukus. Reģistrācijas numuru, personas tipu un visu komerciālo pārvalda BoxLatvia, un to šeit mainīt nevar.
Vaicājuma parametri
| Nosaukums | Tips | Apraksts |
|---|---|---|
validate_only | boolean | true izpilda visas pārbaudes un parāda, kas notiktu, bet neko nesaglabā. Skatiet pārbaudi bez saglabāšanas. |
Galvenes
| Nosaukums | Tips | Apraksts |
|---|---|---|
If-Match obligāts | string | ETag no iepriekšēja GET, tieši tādā veidā, kā saņemts. 428, ja trūkst, 412, ja objekts pa to laiku mainījies. Skatiet nosacītus atjauninājumus. |
Pieprasījuma saturs (jebkurš no laukiem)
| Nosaukums | Tips | Apraksts |
|---|---|---|
name | string | Uzņēmuma nosaukums, līdz 255 rakstzīmēm. |
vat_reg_nr | string | null | Līdz 50 rakstzīmēm. |
address | string | null | Līdz 255 rakstzīmēm. |
address_city | string | null | Līdz 50 rakstzīmēm. |
address_country | string | null | Līdz 100 rakstzīmēm. |
country | string | null | Valsts kods, līdz 10 rakstzīmēm. |
contact_person_name | string | null | Līdz 255 rakstzīmēm. |
contact_person_email | string | null | Derīga e-pasta adrese. |
contact_person_phone | string | null | Līdz 50 rakstzīmēm. |
Piemēri
Mainīt kontaktpersonu
curl -X PATCH "$API/v1/supplier" \
-u "$CLIENT_ID:$CLIENT_SECRET" \
-H "Content-Type: application/json" \
-H "If-Match: W/\"6b0bdad3b902b9d4e44a2772\"" \
-d '{
"contact_person_name": "Anna Bērziņa",
"contact_person_phone": "+371 29999999"
}'const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const res = await fetch(`${API}/v1/supplier`, {
method: "PATCH",
headers: { Authorization: auth, "Content-Type": "application/json", "If-Match": "W/\"6b0bdad3b902b9d4e44a2772\"" },
body: JSON.stringify({
"contact_person_name": "Anna Bērziņa",
"contact_person_phone": "+371 29999999"
}),
});
console.log(res.status, await res.json());import requests
API = "https://api.boxlatvia.lv"
r = requests.patch(
f"{API}/v1/supplier",
auth=(CLIENT_ID, CLIENT_SECRET),
headers={"If-Match": "W/\"6b0bdad3b902b9d4e44a2772\""},
json={
"contact_person_name": "Anna Bērziņa",
"contact_person_phone": "+371 29999999",
},
)
print(r.status_code, r.json())200 OKETag: W/"d009965c37d9059fd03fc7bd"
{
"id": "9fbb9ba2-6be5-4ae3-9b54-9fd36e889130",
"name": "Imanta Storage SIA",
"reg_nr": "40103456789",
"vat_reg_nr": "LV40103456789",
"address": "Kurzemes prospekts 1",
"address_city": "Rīga",
"address_country": "Latvija",
"country": "LV",
"person_type": "legal",
"contact_person_name": "Anna Bērziņa",
"contact_person_email": "anna@imantastorage.example",
"contact_person_phone": "+371 29999999",
"created_at": "2026-11-07T09:30:12.418Z",
"updated_at": "2026-11-07T14:05:41.092Z"
}Lauks, ko nevar mainīt
curl -X PATCH "$API/v1/supplier" \
-u "$CLIENT_ID:$CLIENT_SECRET" \
-H "Content-Type: application/json" \
-H "If-Match: W/\"6b0bdad3b902b9d4e44a2772\"" \
-d '{
"reg_nr": "40000000000"
}'const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const res = await fetch(`${API}/v1/supplier`, {
method: "PATCH",
headers: { Authorization: auth, "Content-Type": "application/json", "If-Match": "W/\"6b0bdad3b902b9d4e44a2772\"" },
body: JSON.stringify({
"reg_nr": "40000000000"
}),
});
console.log(res.status, await res.json());import requests
API = "https://api.boxlatvia.lv"
r = requests.patch(
f"{API}/v1/supplier",
auth=(CLIENT_ID, CLIENT_SECRET),
headers={"If-Match": "W/\"6b0bdad3b902b9d4e44a2772\""},
json={
"reg_nr": "40000000000",
},
)
print(r.status_code, r.json())422 Unprocessable Content
{
"type": "https://api.boxlatvia.lv/problems/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"request_id": "cbdec2b6-9801-4029-b202-f8ec8edce88d",
"errors": [
{
"field": "reg_nr",
"message": "is read-only; ask BoxLatvia to change it"
}
]
}Kļūdas
| Statuss | Kad |
|---|---|
| 412 | Profils mainīts pēc tam, kad to nolasījāt. |
| 422 | Kāda vērtība ir nederīga, vai lauks ir tikai lasāms. |
| 428 | Trūkst If-Match. |