Tie paši trīs galapunkti pastāv arī lokācijām zem /v1/locations/{id}/images; saraksta iegūšanai tiem vajadzīgas locations:read, nevis boxes:read tiesības.
Ceļa parametri
Nosaukums
Tips
Apraksts
id
uuid
Telpas identifikators (vai lokācijas, zem /v1/locations/{id}/images).
Augšupielādē līdz 5 attēliem vienlaikus kā multipart/form-data, katram attēlam viena daļa ar nosaukumu file.
JPEG, PNG, WebP vai GIF: tiek pārbaudīts faila saturs, nevis tā nosaukums vai norādītais tips.
Līdz 5 failiem vienā pieprasījumā, katrs līdz 5 MB, viss pieprasījums līdz 27 MB.
Ne vairāk kā 20 attēli vienai telpai vai lokācijai.
Visu vai neko: ja kāds fails tiek noraidīts, netiek saglabāts neviens, un tiek uzskaitītas visas problēmas.
Tie paši trīs galapunkti pastāv arī lokācijām zem /v1/locations/{id}/images; saraksta iegūšanai tiem vajadzīgas locations:read, nevis boxes:read tiesības.
Ceļa parametri
Nosaukums
Tips
Apraksts
id
uuid
Telpas (vai lokācijas) identifikators.
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
Idempotency-Key
string
Neobligāta. No 1 līdz 200 drukājamām rakstzīmēm. Atkārtots pieprasījums ar to pašu atslēgu atgriež sākotnējo rezultātu, nevis izveido dublikātu. Skatiet drošu atkārtošanu.
Pieprasījuma saturs (multipart/form-data)
Nosaukums
Tips
Apraksts
fileobligāts
file
Attēls. Atkārtojiet daļu, lai sūtītu vairākus attēlus (līdz 5).
Piemēri
Divi attēli
curl -X POST "$API/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images" \
-u"$CLIENT_ID:$CLIENT_SECRET" \
-F"file=@front.jpg" \
-F"file=@inside.png"
const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const form = new FormData();
form.append("file", frontFile); // File vai Blob
form.append("file", insideFile); // File vai Blobconst res = await fetch(`${API}/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images`, {
method: "POST",
headers: { Authorization: auth },
body: form,
});
console.log(res.status, await res.json());
import requests
API = "https://api.boxlatvia.lv"
r = requests.post(
f"{API}/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images",
auth=(CLIENT_ID, CLIENT_SECRET),
files=[("file", open("front.jpg", "rb")), ("file", open("inside.png", "rb"))],
)
print(r.status_code, r.json())
curl -X POST "$API/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images" \
-u"$CLIENT_ID:$CLIENT_SECRET" \
-F"file=@notes.jpg"
const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const form = new FormData();
form.append("file", notesFile); // File vai Blobconst res = await fetch(`${API}/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images`, {
method: "POST",
headers: { Authorization: auth },
body: form,
});
console.log(res.status, await res.json());
import requests
API = "https://api.boxlatvia.lv"
r = requests.post(
f"{API}/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images",
auth=(CLIENT_ID, CLIENT_SECRET),
files=[("file", open("notes.jpg", "rb"))],
)
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": "78c2fa2a-cb59-4455-bd8d-10df4eb605c6",
"errors": [
{
"field": "file[0]",
"message": "notes.jpg is not a JPEG, PNG, WebP or GIF picture"
}
]
}
Telpai jau ir 20 attēlu
curl -X POST "$API/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images" \
-u"$CLIENT_ID:$CLIENT_SECRET" \
-F"file=@extra.jpg"
const API = "https://api.boxlatvia.lv";
const auth = "Basic " + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`);
const form = new FormData();
form.append("file", extraFile); // File vai Blobconst res = await fetch(`${API}/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images`, {
method: "POST",
headers: { Authorization: auth },
body: form,
});
console.log(res.status, await res.json());
import requests
API = "https://api.boxlatvia.lv"
r = requests.post(
f"{API}/v1/boxes/c4883b4a-4e38-47bf-8a69-ef025917e022/images",
auth=(CLIENT_ID, CLIENT_SECRET),
files=[("file", open("extra.jpg", "rb"))],
)
print(r.status_code, r.json())
409 Conflict
{
"type": "https://api.boxlatvia.lv/problems/image-limit",
"title": "Conflict",
"status": 409,
"detail": "A box can have at most 20 pictures; it has 20 and you sent 1.",
"request_id": "afc3eb2c-5cb3-47ab-9731-583d4671a79c",
"limit": 20,
"existing": 20
}
Kļūdas
Statuss
Kad
404
Jums nav šādas telpas.
409
Tiktu pārsniegts 20 attēlu ierobežojums.
413
Pieprasījums ir lielāks par 27 MB.
415
Saturs nav multipart/form-data.
422
Fails nav atbalstīts attēls, ir tukšs vai lielāks par 5 MB, vai nosūtīti vairāk nekā 5.
Dzēš attēlu un tā failu. Dzēšot telpu vai lokāciju, tiek izdzēsti arī tās attēli.
Tie paši trīs galapunkti pastāv arī lokācijām zem /v1/locations/{id}/images; saraksta iegūšanai tiem vajadzīgas locations:read, nevis boxes:read tiesības.