Ta strona zawiera informacje odnośnie integracji naszych algorytmów z Twoim systemem. Nasze algorytmy zostały zaprojektowane, aby optymalizowały proces pakowania przedmiotów w różnych przestrzeniach ładunkowych. Możesz łączyć się z naszymi algorytmami poprzez API, które akceptuje zapytania i zwraca odpowiedzi w formacie JSON.
Czym jest API?
API to akronim oznaczający interfejs programowania aplikacji (ang. Application Programming Interface). Jest to metoda komunikacji pomiędzy składnikami oprogramowania i aplikacjami sieciowymi oraz wymiany danych między oddzielnymi systemami.
Jak zacząć
Aby móc łączyć się z naszym API, należy zarejestrować konto na naszej stronie (www.3dbinpacking.com). Otrzymasz nazwę użytkownika oraz klucz API, które należy wkleić w odpowiednie miejsca w zapytaniu.
Jeżeli chciałbyś przetestować nasze API, zamień nazwę użytkownika i klucz API podane poniżej i wklej je w pole wyszukiwania twojej przeglądarki.
Obecnie mamy uruchomione kilka serwerów w różnych lokalizacjach na całym świecie, aby zapewnić możliwie wysoką jakość usług - wysoką dostępność oraz niski współczynnik opóźnień.
Globalny serwer jest najbardziej uniwersalny, gdyż przekierowuje zapytania bezpośrednio do najbliższego, dostępnego serwera.
Lista dostępnych serwerów API 3DBinPacking:
packagejavaapplication1;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.ProtocolException;importjava.net.URL;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;;importorg.json.simple.JSONObject;importorg.springframework.web.client.RestTemplate;publicclassJavaApplication1{/**
* @param args the command line arguments
*/publicstaticvoidmain(String[]args)throwsMalformedURLException,ProtocolException,IOException{RestTemplaterestTemplate=newRestTemplate();JSONObjectjson=newJSONObject();//SET BINSList<Map<String,String>>bins=newArrayList<Map<String,String>>();Map<String,String>bin1=newHashMap<String,String>();bin1.put("id","Pack M");bin1.put("h","4");bin1.put("w","4");bin1.put("d","4");bin1.put("wg","");bin1.put("max_wg","");bins.add(bin1);Map<String,String>bin2=newHashMap<String,String>();bin2.put("id","Pack S");bin2.put("h","3");bin2.put("w","3");bin2.put("d","6");bin2.put("wg","");bin2.put("max_wg","");bins.add(bin2);//SET ITEMSList<Map<String,String>>items=newArrayList<Map<String,String>>();Map<String,String>item1=newHashMap<String,String>();item1.put("id","Speakers");item1.put("w","3");item1.put("h","3");item1.put("d","3");item1.put("wg","2");item1.put("q","3");item1.put("vr","1");items.add(item1);Map<String,String>item2=newHashMap<String,String>();item2.put("id","Bigger item");item2.put("w","3");item2.put("h","3");item2.put("d","5");item2.put("wg","1");item2.put("q","2");item2.put("vr","1");items.add(item2);//SET PARAMETERSMap<String,String>params=newHashMap<String,String>();params.put("images_background_color","255,255,255")params.put("images_bin_border_color","59,59,59")params.put("images_bin_fill_color","230,230,230")params.put("images_item_border_color","22,22,22")params.put("images_item_fill_color","255,193,6")params.put("images_item_back_border_color","22,22,22")params.put("images_sbs_last_item_fill_color","177,14,14")params.put("images_sbs_last_item_border_color","22,22,22")params.put("images_format","svg")params.put("images_width","50")params.put("images_height","50")params.put("images_source","file")params.put("stats","0")params.put("item_coordinates","1")params.put("images_complete","1")params.put("images_sbs","1")params.put("images_separated","0")//ADD ELEMENTS TO JSONjson.put("username","YOUR_USERNAME");json.put("api_key","YOUR_API_KEY");json.put("items",items);json.put("bins",bins);json.put("params",params);//CALL QUERYHttpURLConnectionconn;URLaddr=newURL("https://global-api.3dbinpacking.com/packer/pack");conn=(HttpURLConnection)addr.openConnection();conn.setRequestMethod("POST");conn.setDoOutput(true);conn.connect();OutputStreamWriterosw=newOutputStreamWriter(conn.getOutputStream());// prepare POST bodyStringquery="query="+json.toString();osw.write(query);osw.flush();osw.close();BufferedReaderbr=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringresponse_json=br.readLine();//DO SOMETHING COOL WITH THE RESPONSESystem.out.println(response_json);}}
Klucz API. Możesz go znaleźć w sekcji 'Dostęp do API' po zalogowaniu.
ciąg znaków
bins
Tablica parametrów przestrzeni ładunkowych
tablica
items
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999
tablica
params
Tablica parametrów dodatkowych zapytań of extra request parameters
tablica
Tablica przestrzeni ładunkowych
Nazwa parametru
Opis
Typ danych
id
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania
ciąg znaków
w
Szerokość przestrzeni ładunkowej
integer or float
h
wysokość przestrzeni ładunkowej
integer or float
d
Głębokość/długość przestrzeni ładunkowej
integer or float
max_wg
Maksymalna waga przestrzeni ładunkowej. Wartość ustawiona na '0' (zero) oznacza, że nie ma limitu obciążenia
integer or float
Tablica parametrów przedmiotów
Nazwa parametru
Opis
Typ danych
Dostępne wartości
id
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu.
ciąg znaków
w
Szerokość przedmiotu
integer or float
h
Wysokość przedmiotu
integer or float
d
Głębokość lub długość przedmiotu
integer or float
wg
Waga przedmiotu
integer or float
vr
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
integer
q
Ilość przedmiotów o danych wymiarach do zapakowania
integer
item_colors_schema
Określa, który schemat kolorów zostanie użyty
ciąg znaków
Dopuszczalne wartości: default - użyte zostaną kolory ustawione w parametrach 'images_item_border_color' i 'images_bin_fill_color', random - kolory zostaną ustawione losowo, item - użyte zostaną kolory podane w sekcji 'items'.
item_fill_color
Kolor wypełnienia przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
Dodatkowe parametry
Nazwa parametru
Opis
Typ danych
Dostępne wartości
images_width
Maks. szerokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_height
Maks. wysokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_background_color
Kolor tła
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color
Kolor krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color
Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color
Kolor wypełnienia przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color
Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color
Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format
Format plików zwracanych obrazków
ciąg znaków
Dopuszczalne wartości: [ png , svg ]
images_sbs
Generuje obrazki pokazujące proces pakowania 'krok po kroku'
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana, 1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
Dopuszczalne wartości: 0 [default] - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów nie będzie generowana, 1 - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów będzie generowana
images_separated
Generuj grafikę przedstawiającą umiejscowienie każdego przedmiotu osobno
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
item_coordinates
Zwraca współrzędne położenia (x, y, z) dla każdego z przedmiotów
integer
Dopuszczalne wartości: 0 [default] - oznacza, że współrzędne nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że współrzędne zostaną zwrócone w odpowiedzi
stats
Zwraca statystyki procesu pakowania (np. czas generowania obrazków)
integer
Dopuszczalne wartości: 0 [default] - oznacza, że statystyki nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że statystyki zostaną zwrócone w odpowiedzi
Paramtery odpowiedzi
Nazwa parametru
Opis
Typ danych
Dostępne wartości
bins_packed
Lista zapakowanych przestrzeni ładunkowych
tablica
errors
Lista możliwych błędów, które wystąpiły w zapytaniu
tablica
Przykład: [{'level'}]; Możliwe zwracane wartości:'critical' - błąd krytyczy uniemożliwiający przeprowadzenie procesu pakowania, 'warning' - ostrzeżenie o nieprawidłowych danych w zapytaniu
status
Status odpowiedzi
integer
Możliwe zwracane wartości: 1 - odpowiedź nie zawierała błędów krytycznych, 0 - odpowiedź zawierała błędy krytyczne.
błąd krytyczny - błąd uniemożliwiający pakowanie. Może nim być brak któregoś z wymaganych parametrów ('username','api_key') lub niewłaściwa wartość parametru (np. pole, które powinno zawierać liczbę, zawiera ciąg znaków).
not_packed_items | Przedmioty, które zawierały niewłaściwe parametry | tablica
response_time | Czas odpowiedzi serwera | float
Spakuj przesyłkę
Użyj narzędzia Spakuj przesyłkę, aby optymalizować proces pakowania w różnych przestrzeniach ładunkowych. Zmniejszaj liczbę pojemników podczas transportu, wykorzystaj maksymalnie przestrzeń wewnątrz pojemników lub uzyskaj jak najniższy koszt wysyłki.
packagejavaapplication1;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.ProtocolException;importjava.net.URL;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;;importorg.json.simple.JSONObject;importorg.springframework.web.client.RestTemplate;publicclassJavaApplication1{/**
* @param args the command line arguments
*/publicstaticvoidmain(String[]args)throwsMalformedURLException,ProtocolException,IOException{RestTemplaterestTemplate=newRestTemplate();JSONObjectjson=newJSONObject();//SET BINSList<Map<String,String>>bins=newArrayList<Map<String,String>>();Map<String,String>bin1=newHashMap<String,String>();bin1.put("id","Pack M");bin1.put("h","4");bin1.put("w","4");bin1.put("d","4");bin1.put("wg","");bin1.put("max_wg","");bins.add(bin1);Map<String,String>bin2=newHashMap<String,String>();bin2.put("id","Pack S");bin2.put("h","3");bin2.put("w","3");bin2.put("d","6");bin2.put("wg","");bin2.put("max_wg","");bins.add(bin2);//SET ITEMSList<Map<String,String>>items=newArrayList<Map<String,String>>();Map<String,String>item1=newHashMap<String,String>();item1.put("id","Speakers");item1.put("w","3");item1.put("h","3");item1.put("d","3");item1.put("wg","2");item1.put("q","3");item1.put("vr","1");items.add(item1);Map<String,String>item2=newHashMap<String,String>();item2.put("id","Bigger item");item2.put("w","3");item2.put("h","3");item2.put("d","5");item2.put("wg","1");item2.put("q","2");item2.put("vr","1");items.add(item2);//SET PARAMETERSMap<String,String>params=newHashMap<String,String>();params.put("images_background_color","255,255,255")params.put("images_bin_border_color","59,59,59")params.put("images_bin_fill_color","230,230,230")params.put("images_item_border_color","22,22,22")params.put("images_item_fill_color","255,193,6")params.put("images_item_back_border_color","22,22,22")params.put("images_sbs_last_item_fill_color","177,14,14")params.put("images_sbs_last_item_border_color","22,22,22")params.put("images_format","svg")params.put("images_width","50")params.put("images_height","50")params.put("images_source","file")params.put("stats","0")params.put("item_coordinates","1")params.put("images_complete","1")params.put("images_sbs","1")params.put("images_separated","0")params.put("optimization_mode","bins_number")//ADD ELEMENTS TO JSONjson.put("username","YOUR_USERNAME");json.put("api_key","YOUR_API_KEY");json.put("items",items);json.put("bins",bins);json.put("params",params);//CALL QUERYHttpURLConnectionconn;URLaddr=newURL("https://global-api.3dbinpacking.com/packer/packIntoMany");conn=(HttpURLConnection)addr.openConnection();conn.setRequestMethod("POST");conn.setDoOutput(true);conn.connect();OutputStreamWriterosw=newOutputStreamWriter(conn.getOutputStream());// prepare POST bodyStringquery="query="+json.toString();osw.write(query);osw.flush();osw.close();BufferedReaderbr=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringresponse_json=br.readLine();//DO SOMETHING COOL WITH THE RESPONSESystem.out.println(response_json);}}
Klucz API. Możesz go znaleźć w sekcji 'Dostęp do API' po zalogowaniu.
ciąg znaków
bins
Tablica parametrów przestrzeni ładunkowych
tablica
items
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999
tablica
params
Tablica parametrów dodatkowych zapytań of extra request parameters
tablica
Tablica przestrzeni ładunkowych
Nazwa parametru
Opis
Typ danych
id
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania
ciąg znaków
w
Szerokość przestrzeni ładunkowej
integer or float
h
wysokość przestrzeni ładunkowej
integer or float
d
Głębokość/długość przestrzeni ładunkowej
integer or float
max_wg
Maksymalna waga przestrzeni ładunkowej. Wartość ustawiona na '0' (zero) oznacza, że nie ma limitu obciążenia
integer or float
Tablica parametrów przedmiotów
Nazwa parametru
Opis
Typ danych
Dostępne wartości
id
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu.
ciąg znaków
w
Szerokość przedmiotu
integer or float
h
Wysokość przedmiotu
integer or float
d
Głębokość lub długość przedmiotu
integer or float
wg
Waga przedmiotu
integer or float
vr
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
integer
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
q
Ilość przedmiotów o danych wymiarach do zapakowania
integer
group
Przedmioty zostaną zapakowane według utworzonych grup. Parametr umożliwia oddzielenie np. produktów spożywczych (grupa 'X') od chemii gospodarczej (grupa 'Y').
ciąg znaków
separate
Odseparowanie przedmiotów. Ustawienie tego parametru na '1' oznacza, że dane przedmioty nie mogą być pakowane razem z innymi przedmiotami
integer
Dopuszczalne wartości: 1 - oznacza, że przedmioty będą odseparowane, 0 [domyślnie] - oznacza, że przedmioty nie będą odseparowane
limit_per_bin
Ogranicza liczbę przedmiotów danych wymiarów w jednej przestrzeni ładunkowej podczas pakowania.
integer
acceptable_bins
Określa, które pojemniki mogą zostać użyte do zapakowania przedmiotów. Jeżeli parametr nie jest ustawiony, wtedy wszystkie pojemniki zostaną użyte. Podane wartości muszą zawierać ID pojemników podanych w parametrze 'bins'.
tablica
item_colors_schema
Określa, który schemat kolorów zostanie użyty
ciąg znaków
Dopuszczalne wartości: default - użyte zostaną kolory ustawione w parametrach 'images_item_border_color' i 'images_bin_fill_color', random - kolory zostaną ustawione losowo, item - użyte zostaną kolory podane w sekcji 'items'.
item_fill_color
Kolor wypełnienia przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
Dodatkowe parametry
Nazwa parametru
Opis
Typ danych
Dostępne wartości
optimization_mode
Określa metodę optymalizacji pakowania
ciąg znaków
Dopuszczalne wartości: bins_number [default] - jak najmniejsza liczba przestrzeni ładunkowych; bins_utilization - jak najmniejsza ilość wolnej przestrzeni w przestrzeniach ładunkowych; cost - najmniejszy koszt przesyłki lub transportu (wymaga podania parametru 'cost' dla każdej przestrzeni ładunkowej)
images_width
Maks. szerokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_height
Maks. wysokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_background_color
Kolor tła
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color
Kolor krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color
Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color
Kolor wypełnienia przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color
Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color
Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format
Format plików zwracanych obrazków
ciąg znaków
Dopuszczalne wartości: [ png , svg ]
images_sbs
Generuje obrazki pokazujące proces pakowania 'krok po kroku'
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana, 1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
Dopuszczalne wartości: 0 [default] - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów nie będzie generowana, 1 - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów będzie generowana
images_separated
Generuj grafikę przedstawiającą umiejscowienie każdego przedmiotu osobno
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
item_coordinates
Zwraca współrzędne położenia (x, y, z) dla każdego z przedmiotów
integer
Dopuszczalne wartości: 0 [default] - oznacza, że współrzędne nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że współrzędne zostaną zwrócone w odpowiedzi
stats
Zwraca statystyki procesu pakowania (np. czas generowania obrazków)
integer
Dopuszczalne wartości: 0 [default] - oznacza, że statystyki nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że statystyki zostaną zwrócone w odpowiedzi
Paramtery odpowiedzi
Nazwa parametru
Opis
Typ danych
Dostępne wartości
bins_packed
Lista zapakowanych przestrzeni ładunkowych
tablica
errors
Lista możliwych błędów, które wystąpiły w zapytaniu
tablica
Przykład: [{'level'}]; Możliwe zwracane wartości:'critical' - błąd krytyczy uniemożliwiający przeprowadzenie procesu pakowania, 'warning' - ostrzeżenie o nieprawidłowych danych w zapytaniu
status
Status odpowiedzi
integer
Możliwe zwracane wartości: 1 - odpowiedź nie zawierała błędów krytycznych, 0 - odpowiedź zawierała błędy krytyczne.
błąd krytyczny - błąd uniemożliwiający pakowanie. Może nim być brak któregoś z wymaganych parametrów ('username','api_key') lub niewłaściwa wartość parametru (np. pole, które powinno zawierać liczbę, zawiera ciąg znaków).
not_packed_items | Przedmioty, które zawierały niewłaściwe parametry | tablica
response_time | Czas odpowiedzi serwera | float
Spakuj paletę
Użyj narzędzia Spakuj paletę, aby optymalnie wykorzystać przestrzeń i zmniejszyć liczbę palet potrzebną do transportu.
Klucz API. Możesz go znaleźć w sekcji 'Dostęp do API' po zalogowaniu.
ciąg znaków
pallet
Array of pallet parameters
tablica
items
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999
tablica
params
Tablica parametrów dodatkowych zapytań
tablica
Tablica parametrów palety
Nazwa parametru
Opis
Typ danych
id
ID palety, na której zostaną zapakowane przedmioty
ciąg znaków
w
Szerokość palety
integer or float
h
Wysokość palety
integer or float
d
Głębokość/długość palety
integer or float
Tablica parametrów przedmiotów
Nazwa parametru
Opis
Typ danych
Dostępne wartości
id
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu.
ciąg znaków
w
Szerokość przedmiotu
integer or float
h
Wysokość przedmiotu
integer or float
d
Głębokość lub długość przedmiotu
integer or float
wg
Waga przedmiotu
integer or float
vr
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
integer
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
q
Ilość przedmiotów o danych wymiarach do zapakowania
integer
item_colors_schema
Określa, który schemat kolorów zostanie użyty
ciąg znaków
item_fill_color
Kolor wypełnienia przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
Dodatkowe parametry
Nazwa parametru
Opis
Typ danych
Dostępne wartości
images_width
Maks. szerokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_height
Maks. wysokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_background_color
Kolor tła
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color
Kolor krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color
Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color
Kolor wypełnienia przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color
Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color
Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format
Format plików zwracanych obrazków
ciąg znaków
Dopuszczalne wartości: [ png , svg ]
images_sbs
Generuje obrazki pokazujące proces pakowania 'krok po kroku'
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana, 1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
Dopuszczalne wartości: 0 [default] - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów nie będzie generowana, 1 - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów będzie generowana
images_separated
Generuj grafikę przedstawiającą umiejscowienie każdego przedmiotu osobno
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
item_coordinates
Zwraca współrzędne położenia (x, y, z) dla każdego z przedmiotów
integer
Dopuszczalne wartości: 0 [default] - oznacza, że współrzędne nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że współrzędne zostaną zwrócone w odpowiedzi
stats
Zwraca statystyki procesu pakowania (np. czas generowania obrazków)
integer
Dopuszczalne wartości: 0 [default] - oznacza, że statystyki nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że statystyki zostaną zwrócone w odpowiedzi
Paramtery odpowiedzi
Nazwa parametru
Opis
Typ danych
Dostępne wartości
bins_packed
Lista zapakowanych przestrzeni ładunkowych
tablica
errors
Lista możliwych błędów, które wystąpiły w zapytaniu
tablica
Przykład: [{'level'}]; Możliwe zwracane wartości:'critical' - błąd krytyczy uniemożliwiający przeprowadzenie procesu pakowania, 'warning' - ostrzeżenie o nieprawidłowych danych w zapytaniu
status
Status odpowiedzi
integer
Możliwe zwracane wartości: 1 - odpowiedź nie zawierała błędów krytycznych, 0 - odpowiedź zawierała błędy krytyczne.
błąd krytyczny - błąd uniemożliwiający pakowanie. Może nim być brak któregoś z wymaganych parametrów ('username','api_key') lub niewłaściwa wartość parametru (np. pole, które powinno zawierać liczbę, zawiera ciąg znaków).
not_packed_items | Przedmioty, które zawierały niewłaściwe parametry | tablica
response_time | Czas odpowiedzi serwera | float
Znajdź brakujący wymiar
Użyj narzędzia Znajdź brakujący wymiar, jeżeli znasz dwa wymiary przestrzeni ładunkowej i chcesz obliczyć jej trzeci wymiar.
packagejavaapplication1;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.ProtocolException;importjava.net.URL;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;;importorg.json.simple.JSONObject;importorg.springframework.web.client.RestTemplate;publicclassJavaApplication1{/**
* @param args the command line arguments
*/publicstaticvoidmain(String[]args)throwsMalformedURLException,ProtocolException,IOException{RestTemplaterestTemplate=newRestTemplate();JSONObjectjson=newJSONObject();//SET BINSList<Map<String,String>>bins=newArrayList<Map<String,String>>();Map<String,String>bin1=newHashMap<String,String>();bin1.put("id","Pack M");bin1.put("h","4");bin1.put("w","4");bin1.put("d","4");bin1.put("wg","");bin1.put("max_wg","");bins.add(bin1);Map<String,String>bin2=newHashMap<String,String>();bin2.put("id","Pack S");bin2.put("h","3");bin2.put("w","3");bin2.put("d","6");bin2.put("wg","");bin2.put("max_wg","");bins.add(bin2);//SET ITEMSList<Map<String,String>>items=newArrayList<Map<String,String>>();Map<String,String>item1=newHashMap<String,String>();item1.put("id","Speakers");item1.put("w","3");item1.put("h","3");item1.put("d","3");item1.put("wg","2");item1.put("q","3");item1.put("vr","1");items.add(item1);Map<String,String>item2=newHashMap<String,String>();item2.put("id","Bigger item");item2.put("w","3");item2.put("h","3");item2.put("d","5");item2.put("wg","1");item2.put("q","2");item2.put("vr","1");items.add(item2);//SET PARAMETERSMap<String,String>params=newHashMap<String,String>();params.put("images_background_color","255,255,255")params.put("images_bin_border_color","59,59,59")params.put("images_bin_fill_color","230,230,230")params.put("images_item_border_color","22,22,22")params.put("images_item_fill_color","255,193,6")params.put("images_item_back_border_color","22,22,22")params.put("images_sbs_last_item_fill_color","177,14,14")params.put("images_sbs_last_item_border_color","22,22,22")params.put("images_format","svg")params.put("images_width","50")params.put("images_height","50")params.put("images_source","file")params.put("stats","0")params.put("item_coordinates","1")params.put("images_complete","1")params.put("images_sbs","1")params.put("images_separated","0")//ADD ELEMENTS TO JSONjson.put("username","YOUR_USERNAME");json.put("api_key","YOUR_API_KEY");json.put("items",items);json.put("bins",bins);json.put("params",params);//CALL QUERYHttpURLConnectionconn;URLaddr=newURL("https://global-api.3dbinpacking.com/packer/findSmallestBin");conn=(HttpURLConnection)addr.openConnection();conn.setRequestMethod("POST");conn.setDoOutput(true);conn.connect();OutputStreamWriterosw=newOutputStreamWriter(conn.getOutputStream());// prepare POST bodyStringquery="query="+json.toString();osw.write(query);osw.flush();osw.close();BufferedReaderbr=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringresponse_json=br.readLine();//DO SOMETHING COOL WITH THE RESPONSESystem.out.println(response_json);}}
Klucz API. Możesz go znaleźć w sekcji 'Dostęp do API' po zalogowaniu.
ciąg znaków
bins
Tablica parametrów przestrzeni ładunkowych
tablica
items
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999
tablica
params
Tablica parametrów dodatkowych zapytań
tablica
Tablica przestrzeni ładunkowych
Nazwa parametru
Opis
Typ danych
id
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania
ciąg znaków
w
Szerokość przestrzeni ładunkowej
float
h
wysokość przestrzeni ładunkowej
float
d
Głębokość/długość przestrzeni ładunkowej
float
Tablica parametrów przedmiotów
Nazwa parametru
Opis
Typ danych
Dostępne wartości
id
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu.
ciąg znaków
w
Szerokość przedmiotu
integer or float
h
Wysokość przedmiotu
integer or float
d
Głębokość lub długość przedmiotu
integer or float
wg
Waga przedmiotu
integer or float
vr
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
integer
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
q
Ilość przedmiotów o danych wymiarach do zapakowania
integer
acceptable_bins
Określa, które pojemniki mogą zostać użyte do zapakowania przedmiotów. Jeżeli parametr nie jest ustawiony, wtedy wszystkie pojemniki zostaną użyte. Podane wartości muszą zawierać ID pojemników podanych w parametrze 'bins'.
tablica
item_colors_schema
Określa, który schemat kolorów zostanie użyty
ciąg znaków
Dopuszczalne wartości: default - użyte zostaną kolory ustawione w parametrach 'images_item_border_color' i 'images_bin_fill_color', random - kolory zostaną ustawione losowo, item - użyte zostaną kolory podane w sekcji 'items'.
item_fill_color
Kolor wypełnienia przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
Dodatkowe parametry
Nazwa parametru
Opis
Typ danych
Dostępne wartości
images_width
Maks. szerokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_height
Maks. wysokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_background_color
Kolor tła
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color
Kolor krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color
Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color
Kolor wypełnienia przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color
Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color
Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format
Format plików zwracanych obrazków
ciąg znaków
Dopuszczalne wartości: [ png , svg ]
images_sbs
Generuje obrazki pokazujące proces pakowania 'krok po kroku'
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana, 1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
Dopuszczalne wartości: 0 [default] - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów nie będzie generowana, 1 - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów będzie generowana
images_separated
Generuj grafikę przedstawiającą umiejscowienie każdego przedmiotu osobno
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
item_coordinates
Zwraca współrzędne położenia (x, y, z) dla każdego z przedmiotów
integer
Dopuszczalne wartości: 0 [default] - oznacza, że współrzędne nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że współrzędne zostaną zwrócone w odpowiedzi
stats
Zwraca statystyki procesu pakowania (np. czas generowania obrazków)
integer
Dopuszczalne wartości: 0 [default] - oznacza, że statystyki nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że statystyki zostaną zwrócone w odpowiedzi
Paramtery odpowiedzi
Nazwa parametru
Opis
Typ danych
Dostępne wartości
bins_packed
Lista zapakowanych przestrzeni ładunkowych
tablica
errors
Lista możliwych błędów, które wystąpiły w zapytaniu
tablica
Przykład: [{'level'}]; Możliwe zwracane wartości:'critical' - błąd krytyczy uniemożliwiający przeprowadzenie procesu pakowania, 'warning' - ostrzeżenie o nieprawidłowych danych w zapytaniu
status
Status odpowiedzi
integer
Możliwe zwracane wartości: 1 - odpowiedź nie zawierała błędów krytycznych, 0 - odpowiedź zawierała błędy krytyczne.
błąd krytyczny - błąd uniemożliwiający pakowanie. Może nim być brak któregoś z wymaganych parametrów ('username','api_key') lub niewłaściwa wartość parametru (np. pole, które powinno zawierać liczbę, zawiera ciąg znaków).
not_packed_items | Przedmioty, które zawierały niewłaściwe parametry | tablica
response_time | Czas odpowiedzi serwera | float
Znajdź pojemnik
Użyj narzędzia Znajdź pojemnik, aby obliczyć optymalny rozmiar pojemnika dla spakowania Twoich przedmiotów.
packagejavaapplication1;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.ProtocolException;importjava.net.URL;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;;importorg.json.simple.JSONObject;importorg.springframework.web.client.RestTemplate;publicclassJavaApplication1{/**
* @param args the command line arguments
*/publicstaticvoidmain(String[]args)throwsMalformedURLException,ProtocolException,IOException{RestTemplaterestTemplate=newRestTemplate();JSONObjectjson=newJSONObject();//SET BINSList<Map<String,String>>bins=newArrayList<Map<String,String>>();Map<String,String>bin1=newHashMap<String,String>();bin1.put("id","Pack M");bin1.put("h","4");bin1.put("w","4");bin1.put("d","4");bin1.put("wg","");bin1.put("max_wg","");bins.add(bin1);Map<String,String>bin2=newHashMap<String,String>();bin2.put("id","Pack S");bin2.put("h","3");bin2.put("w","3");bin2.put("d","6");bin2.put("wg","");bin2.put("max_wg","");bins.add(bin2);//SET ITEMSList<Map<String,String>>items=newArrayList<Map<String,String>>();Map<String,String>item1=newHashMap<String,String>();item1.put("id","Speakers");item1.put("w","3");item1.put("h","3");item1.put("d","3");item1.put("wg","2");item1.put("q","3");item1.put("vr","1");items.add(item1);Map<String,String>item2=newHashMap<String,String>();item2.put("id","Bigger item");item2.put("w","3");item2.put("h","3");item2.put("d","5");item2.put("wg","1");item2.put("q","2");item2.put("vr","1");items.add(item2);//SET PARAMETERSMap<String,String>params=newHashMap<String,String>();params.put("images_background_color","255,255,255")params.put("images_bin_border_color","59,59,59")params.put("images_bin_fill_color","230,230,230")params.put("images_item_border_color","22,22,22")params.put("images_item_fill_color","255,193,6")params.put("images_item_back_border_color","22,22,22")params.put("images_sbs_last_item_fill_color","177,14,14")params.put("images_sbs_last_item_border_color","22,22,22")params.put("images_format","svg")params.put("images_width","50")params.put("images_height","50")params.put("images_source","file")params.put("stats","0")params.put("item_coordinates","1")params.put("images_complete","1")params.put("images_sbs","1")params.put("images_separated","0")//ADD ELEMENTS TO JSONjson.put("username","YOUR_USERNAME");json.put("api_key","YOUR_API_KEY");json.put("items",items);json.put("bins",bins);json.put("params",params);//CALL QUERYHttpURLConnectionconn;URLaddr=newURL("https://global-api.3dbinpacking.com/packer/findBinSize");conn=(HttpURLConnection)addr.openConnection();conn.setRequestMethod("POST");conn.setDoOutput(true);conn.connect();OutputStreamWriterosw=newOutputStreamWriter(conn.getOutputStream());// prepare POST bodyStringquery="query="+json.toString();osw.write(query);osw.flush();osw.close();BufferedReaderbr=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringresponse_json=br.readLine();//DO SOMETHING COOL WITH THE RESPONSESystem.out.println(response_json);}}
Klucz API. Możesz go znaleźć w sekcji 'Dostęp do API' po zalogowaniu.
ciąg znaków
bins
Tablica parametrów przestrzeni ładunkowych
tablica
items
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999
tablica
params
Tablica parametrów dodatkowych zapytań
tablica
| Tablica przestrzeni ładunkowych
Nazwa parametru
Opis
Typ danych
id
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania
ciąg znaków
w
Packing space max. width
float
h
Packing space max. height
float
d
Packing space max. depth/length
float
Tablica parametrów przedmiotów
Nazwa parametru
Opis
Typ danych
Dostępne wartości
id
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu.
ciąg znaków
w
Szerokość przedmiotu
integer or float
h
Wysokość przedmiotu
integer or float
d
Głębokość lub długość przedmiotu
integer or float
wg
Waga przedmiotu
integer or float
vr
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
integer
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
q
Ilość przedmiotów o danych wymiarach do zapakowania
integer
item_colors_schema
Określa, który schemat kolorów zostanie użyty
ciąg znaków
item_fill_color
Kolor wypełnienia przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
Dodatkowe parametry
Nazwa parametru
Opis
Typ danych
Dostępne wartości
images_width
Maks. szerokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_height
Maks. wysokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_background_color
Kolor tła
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color
Kolor krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color
Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color
Kolor wypełnienia przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color
Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color
Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format
Format plików zwracanych obrazków
ciąg znaków
Dopuszczalne wartości: [ png , svg ]
images_sbs
Generuje obrazki pokazujące proces pakowania 'krok po kroku'
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana, 1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
Dopuszczalne wartości: 0 [default] - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów nie będzie generowana, 1 - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów będzie generowana
images_separated
Generuj grafikę przedstawiającą umiejscowienie każdego przedmiotu osobno
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
item_coordinates
Zwraca współrzędne położenia (x, y, z) dla każdego z przedmiotów
integer
Dopuszczalne wartości: 0 [default] - oznacza, że współrzędne nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że współrzędne zostaną zwrócone w odpowiedzi
stats
Zwraca statystyki procesu pakowania (np. czas generowania obrazków)
integer
Dopuszczalne wartości: 0 [default] - oznacza, że statystyki nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że statystyki zostaną zwrócone w odpowiedzi
Paramtery odpowiedzi
Nazwa parametru
Opis
Typ danych
Dostępne wartości
bins_packed
Lista zapakowanych przestrzeni ładunkowych
tablica
errors
Lista możliwych błędów, które wystąpiły w zapytaniu
tablica
Przykład: [{'level'}]; Możliwe zwracane wartości:'critical' - błąd krytyczy uniemożliwiający przeprowadzenie procesu pakowania, 'warning' - ostrzeżenie o nieprawidłowych danych w zapytaniu
status
Status odpowiedzi
integer
Możliwe zwracane wartości: 1 - odpowiedź nie zawierała błędów krytycznych, 0 - odpowiedź zawierała błędy krytyczne.
błąd krytyczny - błąd uniemożliwiający pakowanie. Może nim być brak któregoś z wymaganych parametrów ('username','api_key') lub niewłaściwa wartość parametru (np. pole, które powinno zawierać liczbę, zawiera ciąg znaków).
not_packed_items | Przedmioty, które zawierały niewłaściwe parametry | tablica
response_time | Czas odpowiedzi serwera | float
Sprawdź maksymalne wypełnienie
Oblicz, ile przedmiotów możesz zapakować w dostępnej przestrzeni ładunkowej
packagejavaapplication1;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.ProtocolException;importjava.net.URL;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;;importorg.json.simple.JSONObject;importorg.springframework.web.client.RestTemplate;publicclassJavaApplication1{/**
* @param args the command line arguments
*/publicstaticvoidmain(String[]args)throwsMalformedURLException,ProtocolException,IOException{RestTemplaterestTemplate=newRestTemplate();JSONObjectjson=newJSONObject();//SET BINSList<Map<String,String>>bins=newArrayList<Map<String,String>>();Map<String,String>bin1=newHashMap<String,String>();bin1.put("id","Pack M");bin1.put("h","4");bin1.put("w","4");bin1.put("d","4");bin1.put("wg","");bin1.put("max_wg","");bins.add(bin1);Map<String,String>bin2=newHashMap<String,String>();bin2.put("id","Pack S");bin2.put("h","3");bin2.put("w","3");bin2.put("d","6");bin2.put("wg","");bin2.put("max_wg","");bins.add(bin2);//SET ITEMSList<Map<String,String>>items=newArrayList<Map<String,String>>();Map<String,String>item1=newHashMap<String,String>();item1.put("id","Speakers");item1.put("w","3");item1.put("h","3");item1.put("d","3");item1.put("wg","2");item1.put("q","3");item1.put("vr","1");items.add(item1);Map<String,String>item2=newHashMap<String,String>();item2.put("id","Bigger item");item2.put("w","3");item2.put("h","3");item2.put("d","5");item2.put("wg","1");item2.put("q","2");item2.put("vr","1");items.add(item2);//SET PARAMETERSMap<String,String>params=newHashMap<String,String>();params.put("images_background_color","255,255,255")params.put("images_bin_border_color","59,59,59")params.put("images_bin_fill_color","230,230,230")params.put("images_item_border_color","22,22,22")params.put("images_item_fill_color","255,193,6")params.put("images_item_back_border_color","22,22,22")params.put("images_sbs_last_item_fill_color","177,14,14")params.put("images_sbs_last_item_border_color","22,22,22")params.put("images_format","svg")params.put("images_width","50")params.put("images_height","50")params.put("images_source","file")params.put("stats","0")params.put("item_coordinates","1")params.put("images_complete","1")params.put("images_sbs","1")params.put("images_separated","0")//ADD ELEMENTS TO JSONjson.put("username","YOUR_USERNAME");json.put("api_key","YOUR_API_KEY");json.put("items",items);json.put("bins",bins);json.put("params",params);//CALL QUERYHttpURLConnectionconn;URLaddr=newURL("https://global-api.3dbinpacking.com/packer/fillContainer");conn=(HttpURLConnection)addr.openConnection();conn.setRequestMethod("POST");conn.setDoOutput(true);conn.connect();OutputStreamWriterosw=newOutputStreamWriter(conn.getOutputStream());// prepare POST bodyStringquery="query="+json.toString();osw.write(query);osw.flush();osw.close();BufferedReaderbr=newBufferedReader(newInputStreamReader(conn.getInputStream()));Stringresponse_json=br.readLine();//DO SOMETHING COOL WITH THE RESPONSESystem.out.println(response_json);}}
Klucz API. Możesz go znaleźć w sekcji 'Dostęp do API' po zalogowaniu.
ciąg znaków
bins
Tablica parametrów przestrzeni ładunkowych
tablica
items
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999
tablica
params
Tablica parametrów dodatkowych zapytań
tablica
Tablica przestrzeni ładunkowych
Nazwa parametru
Opis
Typ danych
id
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania
ciąg znaków
w
Szerokość przestrzeni ładunkowej
float
h
wysokość przestrzeni ładunkowej
float
d
Głębokość/długość przestrzeni ładunkowej
float
Tablica parametrów przedmiotów
Nazwa parametru
Opis
Typ danych
Dostępne wartości
id
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu.
ciąg znaków
w
Szerokość przedmiotu
integer or float
h
Wysokość przedmiotu
integer or float
d
Głębokość lub długość przedmiotu
integer or float
wg
Waga przedmiotu
integer or float
vr
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
integer
Obracanie w pionie. Informacja, czy dany przedmioty może być obracany w pionie w procesie pakowania.
item_colors_schema
Określa, który schemat kolorów zostanie użyty
ciąg znaków
item_fill_color
Kolor wypełnienia przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
Dodatkowe parametry
Nazwa parametru
Opis
Typ danych
Dostępne wartości
images_width
Maks. szerokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_height
Maks. wysokość generowanych obrazków
integer
Dopuszczalne wartości: 1 - 250
images_background_color
Kolor tła
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color
Kolor krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color
Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color
Kolor wypełnienia przestrzeni ładunkowej
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color
Kolor krawędzi przedmiotu
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color
Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color
Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku'
ciąg znaków
Dopuszczalne wartości: wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format
Format plików zwracanych obrazków
ciąg znaków
Dopuszczalne wartości: [ png , svg ]
images_sbs
Generuje obrazki pokazujące proces pakowania 'krok po kroku'
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana, 1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
Dopuszczalne wartości: 0 [default] - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów nie będzie generowana, 1 - oznacza, że grafika przedstawiająca zapakowanie wszystkich przedmiotów będzie generowana
images_separated
Generuj grafikę przedstawiającą umiejscowienie każdego przedmiotu osobno
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
item_coordinates
Zwraca współrzędne położenia (x, y, z) dla każdego z przedmiotów
integer
Dopuszczalne wartości: 0 [default] - oznacza, że grafika nie będzie generowana, 1 - oznacza, że grafika będzie generowana
stats
Zwraca statystyki procesu pakowania (np. czas generowania obrazków)
integer
Dopuszczalne wartości: 0 [default] - oznacza, że statystyki nie zostaną zwrócone w odpowiedzi, 1 - oznacza, że statystyki zostaną zwrócone w odpowiedzi
Paramtery odpowiedzi
Nazwa parametru
Opis
Typ danych
Dostępne wartości
bins_packed
Lista zapakowanych przestrzeni ładunkowych
tablica
errors
Lista możliwych błędów, które wystąpiły w zapytaniu
tablica
Przykład: [{'level'}]; Możliwe zwracane wartości:'critical' - błąd krytyczy uniemożliwiający przeprowadzenie procesu pakowania, 'warning' - ostrzeżenie o nieprawidłowych danych w zapytaniu
status
Status odpowiedzi
integer
Możliwe zwracane wartości: 1 - odpowiedź nie zawierała błędów krytycznych, 0 - odpowiedź zawierała błędy krytyczne.
błąd krytyczny - błąd uniemożliwiający pakowanie. Może nim być brak któregoś z wymaganych parametrów ('username','api_key') lub niewłaściwa wartość parametru (np. pole, które powinno zawierać liczbę, zawiera ciąg znaków).
not_packed_items | Przedmioty, które zawierały niewłaściwe parametry | tablica
response_time | Czas odpowiedzi serwera | float