NAV
JSON cURL PHP Python JAVA C#

Wstęp

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.

https://global-api.3dbinpacking.com/packer/fillContainer?query={"username":"USERNAME","api_key":"API_KEY","items":[{"id":"Speakers","w":3,"h":3,"d":3,"wg":2,"quantity":3,"vr":true},{"id":"Bigger item","w":3,"h":3,"d":5,"wg":1,"quantity":2,"vr":true}],"bins":[{"id":"Pack M","h":4,"w":4,"d":4,"wg":"","max_wg":""},{"id":"Pack S","h":3,"w":3,"d":6,"wg":"","max_wg":""}],"params":{"images_background_color":"255,255,255","images_bin_border_color":"59,59,59","images_bin_fill_color":"230,230,230","images_item_border_color":"22,22,22","images_item_fill_color":"255,193,6","images_item_back_border_color":"22,22,22","images_sbs_last_item_fill_color":"177,14,14","images_sbs_last_item_border_color":"22,22,22","images_format":"svg","images_width":50,"images_height":50,"images_source":"file","save_response":true,"stats":0,"item_coordinates":1,"images_complete":1,"images_sbs":1,"images_separated":0}}

Jeśli otrzymasz odpowiedź jak poniżej, oznacza to, że wszystko zrobiłeś poprawnie.

{"id":"1556529305_9ff402ed696d0a5a3d9f26b8987a3758","not_packed_items":[],"bins_packed":[{"bin_data":{"w":4,"h":4,"d":4,"id":"Pack M","used_space":42.1875,"weight":2,"used_weight":100,"stack_height":3,"order_id":null},"image_complete":"https:\/\/eu.api.3dbinpacking.com\/images\/file_hash1.svg","items":[{"id":"Speakers","w":3,"h":3,"d":3,"wg":2,"image_sbs":"https:\/\/eu.api.3dbinpacking.com\/images\/file_hash2.svg","coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}}]},{"bin_data":{"w":3,"h":3,"d":6,"id":"Pack S","used_space":100,"weight":4,"used_weight":100,"stack_height":3,"order_id":null},"image_complete":"https:\/\/eu.api.3dbinpacking.com\/images\/file_hash3.svg","items":[{"id":"Speakers","w":3,"h":3,"d":3,"wg":2,"image_sbs":"https:\/\/eu.api.3dbinpacking.com\/images\/file_hash4.svg","coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}},{"id":"Speakers","w":3,"h":3,"d":3,"wg":2,"image_sbs":"https:\/\/eu.api.3dbinpacking.com\/images\/file_hash5.svg","coordinates":{"x1":0,"y1":0,"z1":3,"x2":3,"y2":3,"z2":6}}]}]}

Serwery

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:

PEM (X.509)

Zapytania

Poniżej znajdują się informacje odnośnie sposobów wysyłania zapytań do naszych serwerów API.

Dostępne sposoby wysyłania danych

- POST - rekomendowany
- GET

Dostępne protokoły:

- https - rekomendowany
- http

Metody wywoływania:

- jako parametr - Przykład GET: https://global-api.3dbinpacking.com/packer/pack?query={json_encoded_data}
- jako zapytanie JSON

Produkty

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.

URL

Parametry zapytania

Wymagane parametry

REQUEST

{
    "username":"USERNAME",
    "api_key":"API_KEY",
    "items":
    [
        {
            "id":"Speakers",
            "w":3,
            "h":3,
            "d":3,
            "wg":2,
            "q":3,
            "vr":true
        },
        {
            "id":"Bigger item",
            "w":3,
            "h":3,
            "d":5,
            "wg":1,
            "q":2,
            "vr":true
        },
        {
            "id":"Too big item",
            "w":5,
            "h":5,
            "d":5,
            "wg":1,
            "q":1,
            "vr":true
        }
    ],
    "bins":
    [
        {
            "id":"Pack M",
            "h":4,
            "w":4,
            "d":4,
            "wg":"",
            "max_wg":"",
            "q":null,
            "cost":0,
            "type":"pallet"
        },
        {
            "id":"Pack S",
            "h":3,
            "w":3,
            "d":6,
            "wg":"",
            "max_wg":"",
            "q":null,
            "cost":0,
            "type":"pallet"
        }
    ],
    "params":
    {
        "images_background_color":"255,255,255",
        "images_bin_border_color":"59,59,59",
        "images_bin_fill_color":"230,230,230",
        "images_item_border_color":"22,22,22",
        "images_item_fill_color":"255,193,6",
        "images_item_back_border_color":"22,22,22",
        "images_sbs_last_item_fill_color":"177,14,14",
        "images_sbs_last_item_border_color":"22,22,22",
        "images_format":"svg",
        "images_width":50,
        "images_height":50,
        "images_source":"file",
        "stats":0,
        "item_coordinates":1,
        "images_complete":1,
        "images_sbs":1,
        "images_separated":0,
        "optimization_mode":"bins_number",
        "images_version":2
    }
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "USERNAME", "api_key": "API_KEY", "items": [{"id": "Speakers", "w": 3, "h": 3, "d": 3, "wg": 2, "q": 3, "vr": true},{"id": "Bigger item", "w": 3, "h": 3, "d": 5, "wg": 1, "q": 2, "vr": true},{"id":"Too big item","w":5,"h":5,"d":5,"wg":1,"q":1,"vr":true}], "bins": [{"id": "Pack M", "h": 4, "w": 4, "d": 4, "wg": "", "max_wg": "", "q":null, "cost":0, "type":"pallet"},{"id": "Pack S", "h": 3, "w": 3, "d": 6, "wg": "", "max_wg": "", "q":null, "cost":0, "type":"box"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "optimization_mode":"bins_number", "images_version":2}}' \
https://global-api.3dbinpacking.com/packer/packIntoMany \
-k
<?php
$data = array(
    'bins' => array(
            array(
                    'id' => 'Pack M',
                    'h' => '4',
                    'w' => '4',
                    'd' => '4',
                    'wg' => '',
                    'max_wg' => '',
                    'q'=>null,
                    'cost'=>0,
                    'type'=>'pallet'
                ),
            array(
                    'id' => 'Pack S',
                    'h' => '3',
                    'w' => '3',
                    'd' => '6',
                    'wg' => '',
                    'max_wg' => '',
                    'q'=>null,
                    'cost'=>0,
                    'type'=>'pallet'
                )
        ),
    'items' => array(
            array(
                    'id' => 'Speakers',
                    'w' => '3',
                    'h' => '3',
                    'd' => '3',
                    'wg' => '2',
                    'q' => '3',
                    'vr' => '1'
                ),
            array(
                    'id' => 'Bigger item',
                    'w' => '3',
                    'h' => '3',
                    'd' => '5',
                    'wg' => '1',
                    'q' => '2',
                    'vr' => '1'
                ),
            array(
                    'id' => 'Too big item',
                    'w' => '5',
                    'h' => '5',
                    'd' => '5',
                    'wg' => '1',
                    'q' => '1',
                    'vr' => '1'
                )
        ),
    'username' => 'YOUR_USERNAME',
    'api_key' => 'YOUR_API_KEY',
    'params' => array(
            'images_background_color' => '255,255,255',
            'images_bin_border_color' => '59,59,59',
            'images_bin_fill_color' => '230,230,230',
            'images_item_border_color' => '22,22,22',
            'images_item_fill_color' => '255,193,6',
            'images_item_back_border_color' => '22,22,22',
            'images_sbs_last_item_fill_color' => '177,14,14',
            'images_sbs_last_item_border_color' => '22,22,22',
            'images_format' => 'svg',
            'images_width' => '50',
            'images_height' => '50',
            'images_source' => 'file',
            'stats' => '0',
            'item_coordinates' => '1',
            'images_complete' => '1',
            'images_sbs' => '1',
            'images_separated' => '0',
            'optimization_mode'=>'bins_number',
            'images_version'=>2
        )
);
$query = json_encode($data);

$url = "https://global-api.3dbinpacking.com/packer/packIntoMany"; $prepared_query = 'query='.$query; $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $prepared_query ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); $resp = curl_exec($ch); if (curl_errno($ch)) { echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch).'<br>'; } curl_close($ch);

$response = json_decode($resp,true); // display errors if(isset($response['response']['errors'])){ foreach($response['response']['errors'] as $error){ echo $error['message'].'<br>'; } } // display data if( $response['response']['status'] > -1 ){ $b_packed= $response['response']['bins_packed']; foreach ($b_packed as $bin){ echo "<h2>Bin id:{$bin['bin_data']['id']}</h2> <p> {$bin['bin_data']['w']} x {$bin['bin_data']['h']} x {$bin['bin_data']['d']}</p> <p> Weight:{$bin['bin_data']['weight']}</p> <p> Used weight:{ $bin['bin_data']['used_weight'] }</p> <img src=\"{$bin['image_complete']}\"> <h2>Items packed in this bin:</h2>"; $items = $bin['items']; echo '<table style="text-align: center"> <tr><th>Item id</th> <th>Item dimensions</th> <th>Item weight</th> <th>Separated item</th> <th>Step by step</th></tr>'; foreach ( $items as $item){ echo "<tr><td>{$item['id']}</td> <td> {$item['w']} x {$item['h']} x {$bin['bin_data']['d']}</td> <td> {$item['wg']}</td> <td><img src=\"{$item['image_separated']}\"></td> <td><img src=\"{$item['image_sbs']}\"></td> </tr>"; } echo '</table>'; echo '<hr>';

} }

#!/usr/bin/python

import httplib
import urllib
import json

conn = httplib.HTTPConnection(host='global-api.3dbinpacking.com', port=80) data = {"username": "USERNAME", "api_key": "API_KEY", "items": [{"id": "Speakers", "w": 3, "h": 3, "d": 3, "wg": 2, "q": 3, "vr": true},{"id": "Bigger item", "w": 3, "h": 3, "d": 5, "wg": 1, "q": 2, "vr": true},{"id": "Too big item", "w": 5, "h": 5, "d": 5, "wg": 1, "q": 1, "vr": true}], "bins": [{"id": "Pack M", "h": 4, "w": 4, "d": 4, "wg": "", "max_wg": "", "q":null, "cost":0, "type":"pallet"},{"id": "Pack S", "h": 3, "w": 3, "d": 6, "wg": "", "max_wg": "", "q":null, "cost":0 "type":"box"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "optimization_mode":"bins_number", "images_version":2}} params = urllib.urlencode( {'query':json.dumps(data)} ) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn.request( "POST", "/packer/packIntoMany", params, headers ) content = conn.getresponse( ).read( ) conn.close( ) print content

package javaapplication1;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;; import org.json.simple.JSONObject; import org.springframework.web.client.RestTemplate;

public class JavaApplication1 {

/** * @param args the command line arguments */ public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException { RestTemplate restTemplate = new RestTemplate(); JSONObject json = new JSONObject();

//SET BINS List<Map<String , String>> bins = new ArrayList<Map<String,String>>();

Map<String, String> bin1 = new HashMap<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", ""); bin1.put("q", null); bin1.put("cost", 0); bin1.put("type","pallet"); bins.add(bin1); Map<String, String> bin2 = new HashMap<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", ""); bin2.put("q", null); bin2.put("cost", 0); bin2.put("type", "pallet"); bins.add(bin2);

//SET ITEMS List<Map<String , String>> items = new ArrayList<Map<String,String>>(); Map<String, String> item1 = new HashMap<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 = new HashMap<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); Map<String, String> item3 = new HashMap<String, String>(); item3.put("id", "Too big item"); item3.put("w", "5"); item3.put("h", "5"); item3.put("d", "5"); item3.put("wg", "1"); item3.put("q", "1"); item3.put("vr", "1"); items.add(item3);

//SET PARAMETERS Map <String , String > params = new HashMap <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") params.put("images_version", "2")

//ADD ELEMENTS TO JSON json.put("username", "YOUR_USERNAME"); json.put("api_key", "YOUR_API_KEY"); json.put("items", items); json.put("bins", bins); json.put("params", params);

//CALL QUERY HttpURLConnection conn; URL addr = new URL("https://global-api.3dbinpacking.com/packer/packIntoMany"); conn = (HttpURLConnection) addr.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.connect(); OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());

// prepare POST body String query = "query=" + json.toString();

osw.write(query); osw.flush(); osw.close();

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String response_json = br.readLine();

//DO SOMETHING COOL WITH THE RESPONSE System.out.println(response_json); } }

string data;
System.Net.HttpWebRequest req = System.Net.WebRequest.Create("https://global-api.3dbinpacking.com/packer/packIntoMany") as System.Net.HttpWebRequest;

var request_data = new {username = "YOUR_USERNAME", api_key = "YOUR_API_KEY", items = new[] { new { id = "Speakers", w = "3", h = "3", d = "3", wg = "2", q = "3", vr = "1"}, new { id = "Bigger item", w = "3", h = "3", d = "5", wg = "1", q = "2", vr = "1"}, new { id = "Too big item", w = "5", h = "5", d = "5", wg = "1", q = "1", vr = "1"} }, bins = new[] { new { id = "Pack M", h = "4", w = "4", d = "4", wg = "", max_wg = "", "q" = null, "cost" = 0, "type" = "pallet"}, new { id = "Pack S", h = "3", w = "3", d = "6", wg = "", max_wg = "", "q" = null, "cost" = 0, "type" = "box"} },

@params = new { images_background_color = "255,255,255", images_bin_border_color = "59,59,59", images_bin_fill_color = "230,230,230", images_item_border_color = "22,22,22", images_item_fill_color = "255,193,6", images_item_back_border_color = "22,22,22", images_sbs_last_item_fill_color = "177,14,14", images_sbs_last_item_border_color = "22,22,22", images_format = "svg", images_width = "50", images_height = "50", images_source = "file", stats = "0", item_coordinates = "1", images_complete = "1", images_sbs = "1", images_separated = "0", optimization_mode= "bins_number", images_version = "2" } };

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(queryParam); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = postBytes.Length;

System.IO.Stream postStream = req.GetRequestStream(); postStream.Write(postBytes, 0, postBytes.Length); postStream.Close();

X509Certificate Cert = X509Certificate2.CreateFromCertFile("path_to_pem_key\global-api.3dbinpacking.com.pem"); req.ClientCertificates.Add(Cert);

using (System.Net.HttpWebResponse response = req.GetResponse() as System.Net.HttpWebResponse) { System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()); data = reader.ReadToEnd(); }

Nazwa parametru Opis Typ danych
username
(wymagane)
Nazwa użytkownika. Możesz ją znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
api_key
(wymagane)
Klucz API. Możesz go znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
[bins]
(wymagane)
Tablica parametrów przestrzeni ładunkowych tablica
[items]
(wymagane)
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

[bins] - Tablica przestrzeni ładunkowych

Nazwa parametru Opis Typ danych
id
(wymagane)
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania ciąg znaków
w
(wymagane)
Szerokość przestrzeni ładunkowej integer or float
h
(wymagane)
wysokość przestrzeni ładunkowej integer or float
d
(wymagane)
Głębokość/długość przestrzeni ładunkowej integer or float
wg Waga pojemnika integer or float
max_wg Maksymalna waga przestrzeni ładunkowej. Wartość ustawiona na '0' (zero) oznacza, że nie ma limitu obciążenia integer or float
q Maksymalna ilość przestrzeni ładunkowej o podanych wymiarach Brak ustawionego parametru lub o wartości NULL - oznacza, że liczba danej przestrzeni ładunkowej jest nieskończona
cost Koszt wysyłki przestrzeni ładunkowej. Wartość ta jest wykorzystywana przy pakowaniu z parametrem 'optimization_mode' ustawionym na 'cost' integer or float
type
Tylko z parametrem images_version: 2
Określa, czy grafika będzie przedstawiona w postaci kartonu lub palety translation missing: pl.params_type_stringt

[items] - Tablica parametrów przedmiotów

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu. ciąg znaków
w
(wymagane)
Szerokość przedmiotu integer or float
h
(wymagane)
Wysokość przedmiotu integer or float
d
(wymagane)
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
(wymagane)
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 'item' w parametrach: 'item_fill_color' i 'item_border_color'.
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'

params - 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_version Wersja generatora obrazków integer Dopuszczalne wartości: [ 1 | 2 ]
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
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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_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'
images_item_border_color
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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
images_complete Generuj grafikę przedstawiającą obrazek końcowy zapakowania integer 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

RESPONSE

{
    "response":{
        "id":"response_id",
        "bins_packed":[
            {
                "bin_data":{
                    "w":3,
                    "h":3,
                    "d":6,
                    "id":"Pack S",
                    "used_space":100,
                    "weight":4,
                    "gross_weight":4,
                    "used_weight":100,
                    "stack_height":3
                },
                "image_complete":"image_url.svg",
                "items":[
                    {
                        "id":"Speakers",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":2,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                    },{
                        "id":"Speakers",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":2,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":3,"x2":3,"y2":3,"z2":6}
                    }
                ]
            },{
                "bin_data":{
                    "w":3,
                    "h":3,
                    "d":6,
                    "id":"Pack S",
                    "used_space":83.3333,
                    "weight":1,
                    "gross_weight":1,
                    "used_weight":100,
                    "stack_height":3
                },
                "image_complete":"image_url.svg",
                "items":[
                    {
                        "id":"Bigger item",
                        "w":3,
                        "h":3,
                        "d":5,
                        "wg":1,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":5}
                    }
                ]
            }
        ],
        "errors":[
            {
                "level":"notice",
                "message":"Item \u0027Too big item\u0027 can\u0027t be packed into any bin."
            }
        ],
        "status":1,
        "not_packed_items":[
            {
                "id":"Too big item",
                "q":1,
                "w":5,
                "h":5,
                "d":5,
                "wg":1
            }
        ]
    }
}

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 lub nie zostały zapakowane ze względu na wagę lub rozmiar tablica

[bins_packed] - Zapakowane przestrzenie ładunkowe

Nazwa parametru Opis Typ danych
bin_data Detale zapakowanej przestrzeni ładunkowej tablica
image_complete Grafika przedstawiająca zapakowany pojemnik url
[items] Zapakowane przedmioty w pojemniku tablica

[bin_data] - Szczegóły zapakowanej przestrzeni ładunkowej

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
used_space Procent wykorzystania przestrzeni ładunkowej integer or float
weight Waga zapakowanych przedmiotów integer or float
gross_weight Waga zapakowanych przedmiotów + waga przestrzeni ładunkowej integer or float
used_weight Procent wykorzystania dopuszczalnej wagi integer or float
stack_height Wysokość, na jaką zastały ułożone przedmioty w przestrzeni ładunkowej integer or float

[items] - Zapakowane przedmioty

Nazwa parametru Opis Typ danych
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
image_separated Grafika przedstawiająca położenie każdego przedmiotu url
image_sbs Grafika pakowania "krok po kroku" url
coordinates Koordynaty przedmiotu w przestrzeni ładunkowej {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Przedmioty niezapakowane

Nazwa parametru Opis Typ danych
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
q Ilość przedmiotów o danych wymiarach do zapakowania integer
wg Waga przedmiotu integer or float

Spakuj paletę

Użyj narzędzia Spakuj paletę, aby optymalnie wykorzystać przestrzeń i zmniejszyć liczbę palet potrzebną do transportu.

URL

Parametry zapytania

Wymagane parametry

REQUEST

{
    "username":"USERNAME",
    "api_key":"API_KEY",
    "items":
    [
        {
            "id":"Speakers",
            "w":3,
            "h":3,
            "d":3,
            "wg":2,
            "q":2,
            "vr":true
        },
        {
            "id":"Bigger item",
            "w":3,
            "h":3,
            "d":5,
            "wg":1,
            "q":2,
            "vr":true
        }
    ],
    "pallet":
    {
        "id":"Palet M",
        "h":4,
        "w":4,
        "d":4,
        "wg":"",
        "max_wg":"",
        "type":"pallet"
    },
    "params":
    {
        "images_background_color":"255,255,255",
        "images_bin_border_color":"59,59,59",
        "images_bin_fill_color":"230,230,230",
        "images_item_border_color":"22,22,22",
        "images_item_fill_color":"255,193,6",
        "images_item_back_border_color":"22,22,22",
        "images_sbs_last_item_fill_color":"177,14,14",
        "images_sbs_last_item_border_color":"22,22,22",
        "images_format":"svg",
        "images_width":50,
        "images_height":50,
        "images_source":"file",
        "stats":0,
        "item_coordinates":1,
        "images_complete":1,
        "images_sbs":1,
        "images_separated":0
        "images_version":2
    }
}

Nazwa parametru Opis Typ danych
username
(wymagane)
Nazwa użytkownika. Możesz ją znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
api_key
(wymagane)
Klucz API. Możesz go znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
[pallet]
(wymagane)
Array of pallet parameters tablica
[items]
(wymagane)
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999 tablica
params Tablica parametrów dodatkowych zapytań tablica

[pallet] - Tablica parametrów palety

Nazwa parametru Opis Typ danych
id
(wymagane)
ID palety, na której zostaną zapakowane przedmioty ciąg znaków
w
(wymagane)
Szerokość palety integer or float
h
(wymagane)
Wysokość palety integer or float
d
(wymagane)
Głębokość/długość palety integer or float
wg Waga pojemnika integer or float
max_wg Maksymalna waga przestrzeni ładunkowej. Wartość ustawiona na '0' (zero) oznacza, że nie ma limitu obciążenia integer or float
type
Tylko z parametrem images_version: 2
Określa, czy grafika będzie przedstawiona w postaci kartonu lub palety translation missing: pl.params_type_stringt

[items] - Tablica parametrów przedmiotów

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu. ciąg znaków
w
(wymagane)
Szerokość przedmiotu integer or float
h
(wymagane)
Wysokość przedmiotu integer or float
d
(wymagane)
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
(wymagane)
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'

params - Dodatkowe parametry

Nazwa parametru Opis Typ danych Dostępne wartości
images_version Wersja generatora obrazków integer Dopuszczalne wartości: [ 1 | 2 ]
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
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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_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'
images_item_border_color
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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
images_complete Generuj grafikę przedstawiającą obrazek końcowy zapakowania integer 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

RESPONSE

{
    "id":"response_id",
    "pallets_packed":[
        {
            "pallet_data":{
                "w":4,
                "h":3,
                "d":4,
                "id":"Paleta M",
                "used_space":56.25,
                "weight":2,
                "used_weight":100,
                "gross_weight":2,
                "stack_height":3
            },
            "image_complete":"image_url.svg",
            "items":[
                {
                    "id":"Speakers",
                    "w":3,
                    "h":3,
                    "d":3,
                    "wg":2,
                    "image_sbs":"image_url.svg",
                    "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                }
            ]
        },
        {
            "pallet_data":{
                "w":4,
                "h":3,
                "d":4,
                "id":"Palet M",
                "used_space":56.25,
                "weight":2,
                "used_weight":100,
                "gross_weight":2,
                "stack_height":3
            },
            "image_complete":"image_url.svg",
            "items":[
                {
                    "id":"Speakers",
                    "w":3,
                    "h":3,
                    "d":3,
                    "wg":2,
                    "image_sbs":"image_url.svg",
                    "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                }
            ]
        }
    ],
    "errors":[],
    "status":1,
    "not_packed_items":[
        {
            "id":"Bigger item",
            "q":2,
            "w":3,
            "h":3,
            "d":5,
            "wg":1
        }
    ]
}

Nazwa parametru Opis Typ danych Dostępne wartości
[pallets_packed] Zapakowane palety 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 lub nie zostały zapakowane ze względu na wagę lub rozmiar tablica

[pallets_packed] - Zapakowane palety

Nazwa parametru Opis Typ danych
pallet_data Detale zapakowanej przestrzeni ładunkowej tablica
image_complete Grafika przedstawiająca zapakowany pojemnik url
[items] Zapakowane przedmioty w pojemniku tablica

[pallet_data] - Szczegóły zapakowanej przestrzeni ładunkowej

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
used_space Procent wykorzystania przestrzeni ładunkowej integer or float
weight Waga zapakowanych przedmiotów integer or float
gross_weight Waga zapakowanych przedmiotów + waga przestrzeni ładunkowej integer or float
used_weight Procent wykorzystania dopuszczalnej wagi integer or float
stack_height Wysokość, na jaką zastały ułożone przedmioty w przestrzeni ładunkowej integer or float

[items] - Zapakowane przedmioty

Nazwa parametru Opis Typ danych
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
image_separated Grafika przedstawiająca położenie każdego przedmiotu url
image_sbs Grafika pakowania "krok po kroku" url
coordinates Koordynaty przedmiotu w przestrzeni ładunkowej {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Przedmioty niezapakowane

Nazwa parametru Opis Typ danych
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
q Ilość przedmiotów o danych wymiarach do zapakowania integer
wg Waga przedmiotu integer or 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.

URL

Parametry zapytania

Wymagane parametry

REQUEST

{
    "username":"USERNAME",
    "api_key":"API_KEY",
    "bins": [
        {
            "w": 5,
            "h": 0,
            "d": 5,
            "id": "Bin1",
            "find": "h",
            "type":"pallet"
        },
        {
            "w": 3,
            "h": 30,
            "d": 3,
            "id": "Bin2",
            "find": "h",
            "type":"box"
        }
    ],
    "items": [
        {
            "w": 5,
            "h": 3,
            "d": 2,
            "q": 2,
            "vr": 1,
            "id": "Item1"
        },
        {
            "w": 3,
            "h": 3,
            "d": 3,
            "q": 3,
            "vr": 1,
            "id": "Item2"
        }
    ],
    "params":
    {
        "images_background_color":"255,255,255",
        "images_bin_border_color":"59,59,59",
        "images_bin_fill_color":"230,230,230",
        "images_item_border_color":"22,22,22",
        "images_item_fill_color":"255,193,6",
        "images_item_back_border_color":"22,22,22",
        "images_sbs_last_item_fill_color":"177,14,14",
        "images_sbs_last_item_border_color":"22,22,22",
        "images_format":"svg",
        "images_width":50,
        "images_height":50,
        "images_source":"file",
        "stats":0,
        "item_coordinates":1,
        "images_complete":1,
        "images_sbs":1,
        "images_separated":0,
        "images_version": 2
    }
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "USERNAME", "api_key": "API_KEY", "bins": [{"w": 5,"h": 0,"d": 5,"id": "Bin1","find": "h", "type":"pallet"},{"w": 3,"h": 30,"d": 3,"id": "Bin2","find": "h", "type":"box"}],"items": [{"w": 5,"h": 3,"d": 2,"q": 2,"vr": 1,"id": "Item1"},{"w": 3,"h": 3,"d": 3,"q": 3,"vr": 1,"id": "Item2"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}}' \
https://global-api.3dbinpacking.com/packer/findSmallestBin \
-k
<?php

$data = array( 'bins' => array( array( 'id' => 'Bin1', 'h' => '0', 'w' => '5', 'd' => '5', 'find' => 'h', 'type' => 'pallet' ), array( 'id' => 'Pack S', 'h' => '30', 'w' => '3', 'd' => '3', 'find' => 'h', 'type' => 'box' ) ), 'items' => array( array( 'id' => 'Item1', 'w' => '5', 'h' => '3', 'd' => '2', 'wg' => '2', 'q' => '2', 'vr' => '1' ), array( 'id' => 'Item2', 'w' => '3', 'h' => '3', 'd' => '3', 'wg' => '1', 'q' => '3', 'vr' => '1' ) ), 'username' => 'YOUR_USERNAME', 'api_key' => 'YOUR_API_KEY', 'params' => array( 'images_background_color' => '255,255,255', 'images_bin_border_color' => '59,59,59', 'images_bin_fill_color' => '230,230,230', 'images_item_border_color' => '22,22,22', 'images_item_fill_color' => '255,193,6', 'images_item_back_border_color' => '22,22,22', 'images_sbs_last_item_fill_color' => '177,14,14', 'images_sbs_last_item_border_color' => '22,22,22', 'images_format' => 'svg', 'images_width' => '50', 'images_height' => '50', 'images_source' => 'file', 'stats' => '0', 'item_coordinates' => '1', 'images_complete' => '1', 'images_sbs' => '1', 'images_separated' => '0', 'images_version' => 2 ) ); $query = json_encode($data);

$url = "https://global-api.3dbinpacking.com/packer/findSmallestBin"; $prepared_query = 'query='.$query; $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $prepared_query ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); $resp = curl_exec($ch); if (curl_errno($ch)) { echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch).'<br>'; } curl_close($ch);

$response = json_decode($resp,true); // display errors if(isset($response['response']['errors'])){ foreach($response['response']['errors'] as $error){ echo $error['message'].'<br>'; } } // display data if( $response['response']['status'] > -1 ){ $b_packed= $response['response']['bins_packed']; foreach ($b_packed as $bin){ echo "<h2>Bin id:{$bin['bin_data']['id']}</h2> <p> {$bin['bin_data']['w']} x {$bin['bin_data']['h']} x {$bin['bin_data']['d']}</p> <p> Weight:{$bin['bin_data']['weight']}</p> <p> Used weight:{ $bin['bin_data']['used_weight'] }</p> <img src=\"{$bin['image_complete']}\"> <h2>Items packed in this bin:</h2>"; $items = $bin['items']; echo '<table style="text-align: center"> <tr><th>Item id</th> <th>Item dimensions</th> <th>Item weight</th> <th>Separated item</th> <th>Step by step</th></tr>'; foreach ( $items as $item){ echo "<tr><td>{$item['id']}</td> <td> {$item['w']} x {$item['h']} x {$bin['bin_data']['d']}</td> <td> {$item['wg']}</td> <td><img src=\"{$item['image_separated']}\"></td> <td><img src=\"{$item['image_sbs']}\"></td> </tr>"; } echo '</table>'; echo '<hr>';

} }

#!/usr/bin/python

import httplib
import urllib
import json

conn = httplib.HTTPConnection(host='global-api.3dbinpacking.com', port=80) data = {"username": "USERNAME", "api_key": "API_KEY", "bins": [{"w": 5,"h": 0,"d": 5,"id": "Bin1","find": "h", "type":"pallet"},{"w": 3,"h": 30,"d": 3,"id": "Bin2","find": "h", "type":"box"}],"items": [{"w": 5,"h": 3,"d": 2,"q": 2,"vr": 1,"id": "Item1"},{"w": 3,"h": 3,"d": 3,"q": 3,"vr": 1,"id": "Item2"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}} params = urllib.urlencode( {'query':json.dumps(data)} ) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn.request( "POST", "/packer/findSmallestBin", params, headers ) content = conn.getresponse( ).read( ) conn.close( ) print content

package javaapplication1;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;; import org.json.simple.JSONObject; import org.springframework.web.client.RestTemplate;

public class JavaApplication1 {

/** * @param args the command line arguments */ public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException { RestTemplate restTemplate = new RestTemplate(); JSONObject json = new JSONObject();

//SET BINS List<Map<String , String>> bins = new ArrayList<Map<String,String>>();

Map<String, String> bin1 = new HashMap<String, String>(); bin1.put("id", "Bin1"); bin1.put("h", "0"); bin1.put("w", "5"); bin1.put("d", "5"); bin1.put("find", "h"); bin1.put("type", "pallet"); bins.add(bin1); Map<String, String> bin2 = new HashMap<String, String>(); bin2.put("id", "Bin2"); bin2.put("h", "30"); bin2.put("w", "5"); bin2.put("d", "5"); bin2.put("find", "h"); bin2.put("type", "pallet"); bins.add(bin2);

//SET ITEMS List<Map<String , String>> items = new ArrayList<Map<String,String>>(); Map<String, String> item1 = new HashMap<String, String>(); item1.put("id", "Item1"); item1.put("w", "5"); item1.put("h", "3"); item1.put("d", "2"); item1.put("q", "2"); item1.put("vr", "1"); items.add(item1); Map<String, String> item2 = new HashMap<String, String>(); item2.put("id", "Item2"); item2.put("w", "3"); item2.put("h", "3"); item2.put("d", "3"); item2.put("wg", "1"); item2.put("q", "3"); item2.put("vr", "1"); items.add(item2);

//SET PARAMETERS Map <String , String > params = new HashMap <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("images_version", 2)

//ADD ELEMENTS TO JSON json.put("username", "YOUR_USERNAME"); json.put("api_key", "YOUR_API_KEY"); json.put("items", items); json.put("bins", bins); json.put("params", params);

//CALL QUERY HttpURLConnection conn; URL addr = new URL("https://global-api.3dbinpacking.com/packer/findSmallestBin"); conn = (HttpURLConnection) addr.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.connect(); OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());

// prepare POST body String query = "query=" + json.toString();

osw.write(query); osw.flush(); osw.close();

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String response_json = br.readLine();

//DO SOMETHING COOL WITH THE RESPONSE System.out.println(response_json); } }

string data;
System.Net.HttpWebRequest req = System.Net.WebRequest.Create("https://global-api.3dbinpacking.com/packer/findSmallestBin") as System.Net.HttpWebRequest;

var request_data = new {username = "YOUR_USERNAME", api_key = "YOUR_API_KEY", items = new[] { new { id = "Item1", w = "5", h = "3", d = "2", wg = "2", q = "2", vr = "1"}, new { id = "Item2", w = "3", h = "3", d = "3", wg = "1", q = "3", vr = "1"} }, bins = new[] { new { id = "Bin1", h = "0", w = "5", d = "5", type = "pallet"}, new { id = "Bin2", h = "30", w = "5", d = "5", type = "box"} },

@params = new { images_background_color = "255,255,255", images_bin_border_color = "59,59,59", images_bin_fill_color = "230,230,230", images_item_border_color = "22,22,22", images_item_fill_color = "255,193,6", images_item_back_border_color = "22,22,22", images_sbs_last_item_fill_color = "177,14,14", images_sbs_last_item_border_color = "22,22,22", images_format = "svg", images_width = "50", images_height = "50", images_source = "file", stats = "0", item_coordinates = "1", images_complete = "1", images_sbs = "1", images_separated = "0", images_version = "2" } };

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(queryParam); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = postBytes.Length;

System.IO.Stream postStream = req.GetRequestStream(); postStream.Write(postBytes, 0, postBytes.Length); postStream.Close();

X509Certificate Cert = X509Certificate2.CreateFromCertFile("path_to_pem_key\global-api.3dbinpacking.com.pem"); req.ClientCertificates.Add(Cert);

using (System.Net.HttpWebResponse response = req.GetResponse() as System.Net.HttpWebResponse) { System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()); data = reader.ReadToEnd(); }

Nazwa parametru Opis Typ danych
username
(wymagane)
Nazwa użytkownika. Możesz ją znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
api_key
(wymagane)
Klucz API. Możesz go znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
[bins]
(wymagane)
Tablica parametrów przestrzeni ładunkowych tablica
[items]
(wymagane)
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999 tablica
params Tablica parametrów dodatkowych zapytań tablica

[bins] - Tablica przestrzeni ładunkowych

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania ciąg znaków
w
(wymagane)
Szerokość przestrzeni ładunkowej float
h
(wymagane)
wysokość przestrzeni ładunkowej float
d
(wymagane)
Głębokość/długość przestrzeni ładunkowej float
find
(wymagane)
Wskazuje, który wymiar paczki ma zostać znaleziony ciąg znaków Dopuszczalne wartości:
'w' - oznacza, że algorytm będzie obliczał szerokość pojemnika,
'h' - oznacza, że algorytm będzie obliczał wysokość pojemnika,
'd' - oznacza, że algorytm będzie obliczał głębokość pojemnika
type
Tylko z parametrem images_version: 2
Określa, czy grafika będzie przedstawiona w postaci kartonu lub palety translation missing: pl.params_type_stringt

[items] - Tablica parametrów przedmiotów

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu. ciąg znaków
w
(wymagane)
Szerokość przedmiotu integer or float
h
(wymagane)
Wysokość przedmiotu integer or float
d
(wymagane)
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
(wymagane)
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 'item' w parametrach: 'item_fill_color' i 'item_border_color'.
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'

params - Dodatkowe parametry

Nazwa parametru Opis Typ danych Dostępne wartości
images_version Wersja generatora obrazków integer Dopuszczalne wartości: [ 1 | 2 ]
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
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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_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'
images_item_border_color
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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
images_complete Generuj grafikę przedstawiającą obrazek końcowy zapakowania integer 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

RESPONSE

{
    "response":{
        "id":"response_id",
        "bins_packed":[
            {
                "bin_data":{
                    "w":5,
                    "h":9,
                    "d":5,
                    "id":"Bin1",
                    "used_space":62.6667,
                    "weight":0,
                    "gross_weight":0,
                    "used_weight":100,
                    "stack_height":9,
                    "order_id":null
                },
                "image_complete":"image_url.svg",
                "items":[
                    {
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":2,"y2":5,"z2":3}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":2,"y1":0,"z1":0,"x2":5,"y2":3,"z2":3}
                    },{
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":5,"z1":0,"x2":2,"y2":8,"z2":5}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":2,"y1":3,"z1":0,"x2":5,"y2":6,"z2":3}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":2,"y1":6,"z1":0,"x2":5,"y2":9,"z2":3}
                    }
                ],
                "not_packed_items":[]
            },{
                "bin_data":{
                    "w":3,
                    "h":19,
                    "d":3,
                    "id":"Bin2",
                    "used_space":82.4561,
                    "weight":0,
                    "gross_weight":0,
                    "used_weight":100,
                    "stack_height":19,
                    "order_id":null
                },
                "image_complete":"image_url.svg",
                "items":[
                    {
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":3,"z1":0,"x2":3,"y2":6,"z2":3}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":6,"z1":0,"x2":3,"y2":9,"z2":3}
                    },{
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":9,"z1":0,"x2":3,"y2":14,"z2":2}
                    },{
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":14,"z1":0,"x2":3,"y2":19,"z2":2}
                    }
                ],
                "not_packed_items":[]
            }
        ],
        "errors":[],
        "status":1,
        "not_packed_items":[]
    }
}

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 lub nie zostały zapakowane ze względu na wagę lub rozmiar tablica

[bins_packed] - Zapakowane przestrzenie ładunkowe

Nazwa parametru Opis Typ danych
bin_data Detale zapakowanej przestrzeni ładunkowej tablica
image_complete Grafika przedstawiająca zapakowany pojemnik url
[items] Zapakowane przedmioty w pojemniku tablica
[not_packed_items] Niezapakowane przedmioty w danym pojemniku tablica

[bin_data] - Szczegóły zapakowanej przestrzeni ładunkowej

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
used_space Procent wykorzystania przestrzeni ładunkowej integer or float
weight Waga zapakowanych przedmiotów integer or float
gross_weight Waga zapakowanych przedmiotów + waga przestrzeni ładunkowej integer or float
used_weight Procent wykorzystania dopuszczalnej wagi integer or float
stack_height Wysokość, na jaką zastały ułożone przedmioty w przestrzeni ładunkowej integer or float

[items] - Zapakowane przedmioty

Nazwa parametru Opis Typ danych
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
image_separated Grafika przedstawiająca położenie każdego przedmiotu url
image_sbs Grafika pakowania "krok po kroku" url
coordinates Koordynaty przedmiotu w przestrzeni ładunkowej {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Przedmioty niezapakowane

Nazwa parametru Opis Typ danych
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
q Ilość przedmiotów o danych wymiarach do zapakowania integer
wg Waga przedmiotu integer or float

Znajdź pojemnik

Użyj narzędzia Znajdź pojemnik, aby obliczyć optymalny rozmiar pojemnika dla spakowania Twoich przedmiotów.

URL

Parametry zapytania

Wymagane parametry

REQUEST

{
    "bins": [
        {
            "w": 0,
            "h": 0,
            "d": 0,
            "id": "Bin1",
            "type":"pallet"
        }
    ],
    "items": [
        {
            "w": 5,
            "h": 3,
            "d": 2,
            "q": 2,
            "vr": 1,
            "id": "Item1"
        },{
            "w": 3,
            "h": 3,
            "d": 3,
            "q": 3,
            "vr": 1,
            "id": "Item2"
        }
    ],
    "username": "YOUR_USERNAME",
    "api_key": "YOUR_API_KEY",
    "params": {
        "images_background_color": "255,255,255",
        "images_bin_border_color": "59,59,59",
        "images_bin_fill_color": "230,230,230",
        "images_item_border_color": "214,79,79",
        "images_item_fill_color": "177,14,14",
        "images_item_back_border_color": "215,103,103",
        "images_sbs_last_item_fill_color": "99,93,93",
        "images_sbs_last_item_border_color": "145,133,133",
        "images_width": 100,
        "images_height": 100,
        "images_source": "file",
        "images_sbs": 1,
        "item_coordinates": 1,
        "images_complete": 1,
        "images_separated": 1,
        "images_version": 2
    }
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "USERNAME", "api_key": "API_KEY", "bins": [{"w": 0,"h": 0,"d": 0,"id": "Bin1", "type":"pallet"}],"items": [{"w": 5,"h": 3,"d": 2,"q": 2,"vr": 1,"id": "Item1"},{"w": 3,"h": 3,"d": 3,"q": 3,"vr": 1,"id": "Item2"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}}' \
https://global-api.3dbinpacking.com/packer/findBinSize \
-k
<?php

$data = array( 'bins' => array( array( 'id' => 'Bin1', 'h' => '0', 'w' => '0', 'd' => '0', 'type' => 'pallet' ) ), 'items' => array( array( 'id' => 'Item1', 'w' => '5', 'h' => '3', 'd' => '2', 'q' => '2', 'vr' => '1' ), array( 'id' => 'Item2', 'w' => '3', 'h' => '3', 'd' => '3', 'q' => '3', 'vr' => '1' ) ), 'username' => 'YOUR_USERNAME', 'api_key' => 'YOUR_API_KEY', 'params' => array( 'images_background_color' => '255,255,255', 'images_bin_border_color' => '59,59,59', 'images_bin_fill_color' => '230,230,230', 'images_item_border_color' => '22,22,22', 'images_item_fill_color' => '255,193,6', 'images_item_back_border_color' => '22,22,22', 'images_sbs_last_item_fill_color' => '177,14,14', 'images_sbs_last_item_border_color' => '22,22,22', 'images_format' => 'svg', 'images_width' => '50', 'images_height' => '50', 'images_source' => 'file', 'item_coordinates' => '1', 'images_complete' => '1', 'images_sbs' => '1', 'images_separated' => '0', 'images_version' => 2 ) ); $query = json_encode($data);

$url = "https://global-api.3dbinpacking.com/packer/findBinSize"; $prepared_query = 'query='.$query; $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $prepared_query ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); $resp = curl_exec($ch); if (curl_errno($ch)) { echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch).'<br>'; } curl_close($ch);

$response = json_decode($resp,true); // display errors if(isset($response['response']['errors'])){ foreach($response['response']['errors'] as $error){ echo $error['message'].'<br>'; } } // display data if( $response['response']['status'] > -1 ){ $b_packed= $response['response']['bins_packed']; foreach ($b_packed as $bin){ echo "<h2>Bin id:{$bin['bin_data']['id']}</h2> <p> {$bin['bin_data']['w']} x {$bin['bin_data']['h']} x {$bin['bin_data']['d']}</p> <p> Weight:{$bin['bin_data']['weight']}</p> <p> Used weight:{ $bin['bin_data']['used_weight'] }</p> <img src=\"{$bin['image_complete']}\"> <h2>Items packed in this bin:</h2>"; $items = $bin['items']; echo '<table style="text-align: center"> <tr><th>Item id</th> <th>Item dimensions</th> <th>Item weight</th> <th>Separated item</th> <th>Step by step</th></tr>'; foreach ( $items as $item){ echo "<tr><td>{$item['id']}</td> <td> {$item['w']} x {$item['h']} x {$bin['bin_data']['d']}</td> <td> {$item['wg']}</td> <td><img src=\"{$item['image_separated']}\"></td> <td><img src=\"{$item['image_sbs']}\"></td> </tr>"; } echo '</table>'; echo '<hr>';

} }

#!/usr/bin/python

import httplib
import urllib
import json

conn = httplib.HTTPConnection(host='global-api.3dbinpacking.com', port=80) data = {"username": "USERNAME", "api_key": "API_KEY", "bins": [{"w": 0,"h": 0,"d": 0,"id": "Bin1", "type":"pallet"}],"items": [{"w": 5,"h": 3,"d": 2,"q": 2,"vr": 1,"id": "Item1"},{"w": 3,"h": 3,"d": 3,"q": 3,"vr": 1,"id": "Item2"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}} params = urllib.urlencode( {'query':json.dumps(data)} ) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn.request( "POST", "/packer/findBinSize", params, headers ) content = conn.getresponse( ).read( ) conn.close( ) print content

package javaapplication1;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;; import org.json.simple.JSONObject; import org.springframework.web.client.RestTemplate;

public class JavaApplication1 {

/** * @param args the command line arguments */ public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException { RestTemplate restTemplate = new RestTemplate(); JSONObject json = new JSONObject();

//SET BINS List<Map<String , String>> bins = new ArrayList<Map<String,String>>();

Map<String, String> bin1 = new HashMap<String, String>(); bin1.put("id", "Bin1"); bin1.put("h", "0"); bin1.put("w", "0"); bin1.put("d", "0"); bin1.put("type", "pallet"); bins.add(bin1);

//SET ITEMS List<Map<String , String>> items = new ArrayList<Map<String,String>>(); Map<String, String> item1 = new HashMap<String, String>(); item1.put("id", "Item1"); item1.put("w", "5"); item1.put("h", "3"); item1.put("d", "2"); item1.put("q", "2"); item1.put("vr", "1"); items.add(item1); Map<String, String> item2 = new HashMap<String, String>(); item2.put("id", "Item2"); item2.put("w", "3"); item2.put("h", "3"); item2.put("d", "3"); item2.put("q", "3"); item2.put("vr", "1"); items.add(item2);

//SET PARAMETERS Map <String , String > params = new HashMap <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("item_coordinates", "1") params.put("images_complete", "1") params.put("images_sbs", "1") params.put("images_separated", "0") params.put("images_version", "2")

//ADD ELEMENTS TO JSON json.put("username", "YOUR_USERNAME"); json.put("api_key", "YOUR_API_KEY"); json.put("items", items); json.put("bins", bins); json.put("params", params);

//CALL QUERY HttpURLConnection conn; URL addr = new URL("https://global-api.3dbinpacking.com/packer/findBinSize"); conn = (HttpURLConnection) addr.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.connect(); OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());

// prepare POST body String query = "query=" + json.toString();

osw.write(query); osw.flush(); osw.close();

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String response_json = br.readLine();

//DO SOMETHING COOL WITH THE RESPONSE System.out.println(response_json); } }

string data;
System.Net.HttpWebRequest req = System.Net.WebRequest.Create("https://global-api.3dbinpacking.com/packer/findBinSize") as System.Net.HttpWebRequest;

var request_data = new {username = "YOUR_USERNAME", api_key = "YOUR_API_KEY", items = new[] { new { id = "Item1", w = "5", h = "3", d = "2", q = "2", vr = "1"}, new { id = "Item2", w = "3", h = "3", d = "3", q = "3", vr = "1"} }, bins = new[] { new { id = "Bin1", h = "0", w = "0", d = "0", type = "pallet"} },

@params = new { images_background_color = "255,255,255", images_bin_border_color = "59,59,59", images_bin_fill_color = "230,230,230", images_item_border_color = "22,22,22", images_item_fill_color = "255,193,6", images_item_back_border_color = "22,22,22", images_sbs_last_item_fill_color = "177,14,14", images_sbs_last_item_border_color = "22,22,22", images_format = "svg", images_width = "50", images_height = "50", images_source = "file", item_coordinates = "1", images_complete = "1", images_sbs = "1", images_separated = "0", images_version = "1" } };

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(queryParam); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = postBytes.Length;

System.IO.Stream postStream = req.GetRequestStream(); postStream.Write(postBytes, 0, postBytes.Length); postStream.Close();

X509Certificate Cert = X509Certificate2.CreateFromCertFile("path_to_pem_key\global-api.3dbinpacking.com.pem"); req.ClientCertificates.Add(Cert);

using (System.Net.HttpWebResponse response = req.GetResponse() as System.Net.HttpWebResponse) { System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()); data = reader.ReadToEnd(); }

Nazwa parametru Opis Typ danych
username
(wymagane)
Nazwa użytkownika. Możesz ją znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
api_key
(wymagane)
Klucz API. Możesz go znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
[bins]
(wymagane)
Tablica parametrów przestrzeni ładunkowych tablica
[items]
(wymagane)
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999 tablica
params Tablica parametrów dodatkowych zapytań tablica

[bins] - Tablica przestrzeni ładunkowych

Nazwa parametru Opis Typ danych
id
(wymagane)
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania ciąg znaków
w
(wymagane)
Packing space max. width
(wymagane)
float
h
(wymagane)
Packing space max. height float
d
(wymagane)
Packing space max. depth/length float
type
Tylko z parametrem images_version: 2
Określa, czy grafika będzie przedstawiona w postaci kartonu lub palety translation missing: pl.params_type_stringt

[items] - Tablica parametrów przedmiotów

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu. ciąg znaków
w
(wymagane)
Szerokość przedmiotu integer or float
h
(wymagane)
Wysokość przedmiotu integer or float
d
(wymagane)
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
(wymagane)
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'

params - Dodatkowe parametry

Nazwa parametru Opis Typ danych Dostępne wartości
images_version Wersja generatora obrazków integer Dopuszczalne wartości: [ 1 | 2 ]
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
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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_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'
images_item_border_color
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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
images_complete Generuj grafikę przedstawiającą obrazek końcowy zapakowania integer 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

RESPONSE

{
    "response":{
        "id":"response_id",
        "bins_packed":[
            {
                "bin_data":{
                    "w":8,
                    "h":3,
                    "d":7,
                    "id":null,
                    "used_space":83.9286,
                    "weight":0,
                    "gross_weight":0,
                    "used_weight":100,
                    "stack_height":3
                },
                "image_complete":"image_url.png",
                "items":[
                    {
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}
                    },{
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":0,"y1":0,"z1":2,"x2":5,"y2":3,"z2":4}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":2,"y1":0,"z1":4,"x2":5,"y2":3,"z2":7}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":5,"y1":0,"z1":0,"x2":8,"y2":3,"z2":3}
                    },{
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":5,"y1":0,"z1":3,"x2":8,"y2":3,"z2":6}
                    }
                ]
            }
        ],
        "errors":[],
        "status":1,
        "not_packed_items":[]
    }
}

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 lub nie zostały zapakowane ze względu na wagę lub rozmiar tablica

[bins_packed] - Zapakowane przestrzenie ładunkowe

Nazwa parametru Opis Typ danych
bin_data Detale zapakowanej przestrzeni ładunkowej tablica
image_complete Grafika przedstawiająca zapakowany pojemnik url
[items] Zapakowane przedmioty w pojemniku tablica
[not_packed_items] Niezapakowane przedmioty w danym pojemniku tablica

[bin_data] - Szczegóły zapakowanej przestrzeni ładunkowej

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
used_space Procent wykorzystania przestrzeni ładunkowej integer or float
weight Waga zapakowanych przedmiotów integer or float
gross_weight Waga zapakowanych przedmiotów + waga przestrzeni ładunkowej integer or float
used_weight Procent wykorzystania dopuszczalnej wagi integer or float
stack_height Wysokość, na jaką zastały ułożone przedmioty w przestrzeni ładunkowej integer or float

[items] - Zapakowane przedmioty

Nazwa parametru Opis Typ danych
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
image_separated Grafika przedstawiająca położenie każdego przedmiotu url
image_sbs Grafika pakowania "krok po kroku" url
coordinates Koordynaty przedmiotu w przestrzeni ładunkowej {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Przedmioty niezapakowane

Nazwa parametru Opis Typ danych
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
q Ilość przedmiotów o danych wymiarach do zapakowania integer
wg Waga przedmiotu integer or float

Wypróbuj pojemniki

Użyj tego narzędzia, jeżeli chcesz porównać sposób pakowania przedmiotów w różnych przestrzeniach ładunkowych.

URL

Parametry zapytania

Wymagane parametry

REQUEST

{
    "username":"USERNAME",
    "api_key":"API_KEY",
    "items":
    [
       {"id":"Speakers","w":3,"h":3,"d":3,"wg":2,"q":3,"vr":true},
       {"id":"Bigger item","w":3,"h":3,"d":5,"wg":1,"q":2,"vr":true}
    ],
    "bins":
    [
       {"id":"Pack M","h":4,"w":4,"d":4,"wg":"","max_wg":"", "type":"pallet"},
       {"id":"Pack S","h":3,"w":3,"d":6,"wg":"","max_wg":"", "type":"box"}
    ],
    "params":
    {
       "images_background_color":"255,255,255",
       "images_bin_border_color":"59,59,59",
       "images_bin_fill_color":"230,230,230",
       "images_item_border_color":"22,22,22",
       "images_item_fill_color":"255,193,6",
       "images_item_back_border_color":"22,22,22",
       "images_sbs_last_item_fill_color":"177,14,14",
       "images_sbs_last_item_border_color":"22,22,22",
       "images_format":"svg",
       "images_width":50,
       "images_height":50,
       "images_source":"file",
       "stats":0,
       "item_coordinates":1,
       "images_complete":1,
       "images_sbs":1,
       "images_separated":0,
       "images_version":2
    }
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "USERNAME", "api_key": "API_KEY", "items": [{"id": "Speakers", "w": 3, "h": 3, "d": 3, "wg": 2, "q": 3, "vr": true},{"id": "Bigger item", "w": 3, "h": 3, "d": 5, "wg": 1, "q": 2, "vr": true}], "bins": [{"id": "Pack M", "h": 4, "w": 4, "d": 4, "wg": "", "max_wg": "", "type":"pallet"},{"id": "Pack S", "h": 3, "w": 3, "d": 6, "wg": "", "max_wg": "", "type":"box"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}}' \
https://global-api.3dbinpacking.com/packer/pack \
-k
<?php
$data = array(
    'bins' => array(
            array(
                    'id' => 'Pack M',
                    'h' => '4',
                    'w' => '4',
                    'd' => '4',
                    'wg' => '',
                    'max_wg' => '',
                    'type' => 'pallet'
                ),
            array(
                    'id' => 'Pack S',
                    'h' => '3',
                    'w' => '3',
                    'd' => '6',
                    'wg' => '',
                    'max_wg' => '',
                    'type' => 'pallet'
                )
        ),
    'items' => array(
            array(
                    'id' => 'Speakers',
                    'w' => '3',
                    'h' => '3',
                    'd' => '3',
                    'wg' => '2',
                    'q' => '3',
                    'vr' => '1'
                ),
            array(
                    'id' => 'Bigger item',
                    'w' => '3',
                    'h' => '3',
                    'd' => '5',
                    'wg' => '1',
                    'q' => '2',
                    'vr' => '1'
                )
        ),
    'username' => 'YOUR_USERNAME',
    'api_key' => 'YOUR_API_KEY',
    'params' => array(
            'images_background_color' => '255,255,255',
            'images_bin_border_color' => '59,59,59',
            'images_bin_fill_color' => '230,230,230',
            'images_item_border_color' => '22,22,22',
            'images_item_fill_color' => '255,193,6',
            'images_item_back_border_color' => '22,22,22',
            'images_sbs_last_item_fill_color' => '177,14,14',
            'images_sbs_last_item_border_color' => '22,22,22',
            'images_format' => 'svg',
            'images_width' => '50',
            'images_height' => '50',
            'images_source' => 'file',
            'stats' => '0',
            'item_coordinates' => '1',
            'images_complete' => '1',
            'images_sbs' => '1',
            'images_separated' => '0',
            'images_version" => 2
        )
);
$query = json_encode($data);

$url = "https://global-api.3dbinpacking.com/packer/pack"; $prepared_query = 'query='.$query; $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $prepared_query ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); $resp = curl_exec($ch); if (curl_errno($ch)) { echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch).'<br>'; } curl_close($ch);

$response = json_decode($resp,true); // display errors if(isset($response['response']['errors'])){ foreach($response['response']['errors'] as $error){ echo $error['message'].'<br>'; } } // display data if( $response['response']['status'] > -1 ){ $b_packed= $response['response']['bins_packed']; foreach ($b_packed as $bin){ echo "<h2>Bin id:{$bin['bin_data']['id']}</h2> <p> {$bin['bin_data']['w']} x {$bin['bin_data']['h']} x {$bin['bin_data']['d']}</p> <p> Weight:{$bin['bin_data']['weight']}</p> <p> Used weight:{ $bin['bin_data']['used_weight'] }</p> <img src=\"{$bin['image_complete']}\"> <h2>Items packed in this bin:</h2>"; $items = $bin['items']; echo '<table style="text-align: center"> <tr><th>Item id</th> <th>Item dimensions</th> <th>Item weight</th> <th>Separated item</th> <th>Step by step</th></tr>'; foreach ( $items as $item){ echo "<tr><td>{$item['id']}</td> <td> {$item['w']} x {$item['h']} x {$bin['bin_data']['d']}</td> <td> {$item['wg']}</td> <td><img src=\"{$item['image_separated']}\"></td> <td><img src=\"{$item['image_sbs']}\"></td> </tr>"; } echo '</table>'; echo '<hr>';

} }

#!/usr/bin/python

import httplib
import urllib
import json

conn = httplib.HTTPConnection(host='global-api.3dbinpacking.com', port=80) data = {"username": "USERNAME", "api_key": "API_KEY", "items": [{"id": "Speakers", "w": 3, "h": 3, "d": 3, "wg": 2, "q": 3, "vr": true},{"id": "Bigger item", "w": 3, "h": 3, "d": 5, "wg": 1, "q": 2, "vr": true}], "bins": [{"id": "Pack M", "h": 4, "w": 4, "d": 4, "wg": "", "max_wg": "", "type":"pallet"},{"id": "Pack S", "h": 3, "w": 3, "d": 6, "wg": "", "max_wg": "", "type":"box"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}} params = urllib.urlencode( {'query':json.dumps(data)} ) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn.request( "POST", "/packer/pack", params, headers ) content = conn.getresponse( ).read( ) conn.close( ) print content

package javaapplication1;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;; import org.json.simple.JSONObject; import org.springframework.web.client.RestTemplate;

public class JavaApplication1 {

/** * @param args the command line arguments */ public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException { RestTemplate restTemplate = new RestTemplate(); JSONObject json = new JSONObject();

//SET BINS List<Map<String , String>> bins = new ArrayList<Map<String,String>>();

Map<String, String> bin1 = new HashMap<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", ""); bin1.put("type", "pallet"); bins.add(bin1); Map<String, String> bin2 = new HashMap<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", ""); bin2.put("type", "pallet"); bins.add(bin2);

//SET ITEMS List<Map<String , String>> items = new ArrayList<Map<String,String>>(); Map<String, String> item1 = new HashMap<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 = new HashMap<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 PARAMETERS Map <String , String > params = new HashMap <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("images_version", "2")

//ADD ELEMENTS TO JSON json.put("username", "YOUR_USERNAME"); json.put("api_key", "YOUR_API_KEY"); json.put("items", items); json.put("bins", bins); json.put("params", params);

//CALL QUERY HttpURLConnection conn; URL addr = new URL("https://global-api.3dbinpacking.com/packer/pack"); conn = (HttpURLConnection) addr.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.connect(); OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());

// prepare POST body String query = "query=" + json.toString();

osw.write(query); osw.flush(); osw.close();

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String response_json = br.readLine();

//DO SOMETHING COOL WITH THE RESPONSE System.out.println(response_json); } }

string data;
System.Net.HttpWebRequest req = System.Net.WebRequest.Create("https://global-api.3dbinpacking.com/packer/pack") as System.Net.HttpWebRequest;

var request_data = new {username = "YOUR_USERNAME", api_key = "YOUR_API_KEY", items = new[] { new { id = "Speakers", w = "3", h = "3", d = "3", wg = "2", q = "3", vr = "1"}, new { id = "Bigger item", w = "3", h = "3", d = "5", wg = "1", q = "2", vr = "1"} }, bins = new[] { new { id = "Pack M", h = "4", w = "4", d = "4", wg = "", max_wg = "", type = "pallet"}, new { id = "Pack S", h = "3", w = "3", d = "6", wg = "", max_wg = "", type = "box"} },

@params = new { images_background_color = "255,255,255", images_bin_border_color = "59,59,59", images_bin_fill_color = "230,230,230", images_item_border_color = "22,22,22", images_item_fill_color = "255,193,6", images_item_back_border_color = "22,22,22", images_sbs_last_item_fill_color = "177,14,14", images_sbs_last_item_border_color = "22,22,22", images_format = "svg", images_width = "50", images_height = "50", images_source = "file", stats = "0", item_coordinates = "1", images_complete = "1", images_sbs = "1", images_separated = "0", images_version = "2" } };

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(queryParam); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = postBytes.Length;

System.IO.Stream postStream = req.GetRequestStream(); postStream.Write(postBytes, 0, postBytes.Length); postStream.Close();

X509Certificate Cert = X509Certificate2.CreateFromCertFile("path_to_pem_key\global-api.3dbinpacking.com.pem"); req.ClientCertificates.Add(Cert);

using (System.Net.HttpWebResponse response = req.GetResponse() as System.Net.HttpWebResponse) { System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()); data = reader.ReadToEnd(); }

Nazwa parametru Opis Typ danych
username
(wymagane)
Nazwa użytkownika. Możesz ją znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
api_key
(wymagane)
Klucz API. Możesz go znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
[bins]
(wymagane)
Tablica parametrów przestrzeni ładunkowych tablica
[items]
(wymagane)
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

[bins] - Tablica przestrzeni ładunkowych

Nazwa parametru Opis Typ danych
id
(wymagane)
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania ciąg znaków
w
(wymagane)
Szerokość przestrzeni ładunkowej integer or float
h
(wymagane)
wysokość przestrzeni ładunkowej integer or float
d
(wymagane)
Głębokość/długość przestrzeni ładunkowej integer or float
wg Waga pojemnika integer or float
max_wg Maksymalna waga przestrzeni ładunkowej. Wartość ustawiona na '0' (zero) oznacza, że nie ma limitu obciążenia integer or float
type
Tylko z parametrem images_version: 2
Określa, czy grafika będzie przedstawiona w postaci kartonu lub palety translation missing: pl.params_type_stringt

[items] - Tablica parametrów przedmiotów

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu. ciąg znaków
w
(wymagane)
Szerokość przedmiotu integer or float
h
(wymagane)
Wysokość przedmiotu integer or float
d
(wymagane)
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
(wymagane)
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 'item' w parametrach: 'item_fill_color' i 'item_border_color'.
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'

params - Dodatkowe parametry

Nazwa parametru Opis Typ danych Dostępne wartości
images_version Wersja generatora obrazków integer Dopuszczalne wartości: [ 1 | 2 ]
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
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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_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'
images_item_border_color
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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
images_complete Generuj grafikę przedstawiającą obrazek końcowy zapakowania integer 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

RESPONSE

{
    "response":{ 
        "id":"response_id",
        "bins_packed":[
            {
                "bin_data":{
                        "w":4,
                        "h":4,
                        "d":4,
                        "id":"Pack M",
                        "used_space":42.1875,
                        "weight":2,
                        "gross_weight":2,
                        "used_weight":100,
                        "stack_height":3
                    },
                "image_complete":"image_url.svg",
                "items":[
                    {
                        "id":"Speakers",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":2,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                    }
                ],
                "not_packed_items":[
                    {
                        "id":"Speakers",
                        "q":2
                    },
                    {
                        "id":"Bigger item",
                        "q":2
                    }
                ]
            },{
                "bin_data":{
                    "w":3,
                    "h":3,
                    "d":6,
                    "id":"Pack S",
                    "used_space":100,
                    "weight":4,
                    "gross_weight":4,
                    "used_weight":100,
                    "stack_height":3
                },
                "image_complete":"image_url.svg",
                "items":[
                    {
                        "id":"Speakers",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":2,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                    },{
                        "id":"Speakers",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":2,
                        "image_sbs":"image_url.svg",
                        "coordinates":{"x1":0,"y1":0,"z1":3,"x2":3,"y2":3,"z2":6}
                    }
                ],
                "not_packed_items":[
                    {
                        "id":"Speakers",
                        "q":1
                    },
                    {
                        "id":"Bigger item",
                        "q":2
                    }
                ]
            }
        ],
        "errors":[],
        "status":1,
        "not_packed_items":[]
    }
}

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 lub nie zostały zapakowane ze względu na wagę lub rozmiar tablica

[bins_packed] - Zapakowane przestrzenie ładunkowe

Nazwa parametru Opis Typ danych
bin_data Detale zapakowanej przestrzeni ładunkowej tablica
image_complete Grafika przedstawiająca zapakowany pojemnik url
[items] Zapakowane przedmioty w pojemniku tablica
[not_packed_items] Niezapakowane przedmioty w danym pojemniku tablica

[bin_data] - Szczegóły zapakowanej przestrzeni ładunkowej

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
used_space Procent wykorzystania przestrzeni ładunkowej integer or float
weight Waga zapakowanych przedmiotów integer or float
gross_weight Waga zapakowanych przedmiotów + waga przestrzeni ładunkowej integer or float
used_weight Procent wykorzystania dopuszczalnej wagi integer or float
stack_height Wysokość, na jaką zastały ułożone przedmioty w przestrzeni ładunkowej integer or float

[items] - Zapakowane przedmioty

Nazwa parametru Opis Typ danych
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
image_separated Grafika przedstawiająca położenie każdego przedmiotu url
image_sbs Grafika pakowania "krok po kroku" url
coordinates Koordynaty przedmiotu w przestrzeni ładunkowej {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Przedmioty niezapakowane

Nazwa parametru Opis Typ danych
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
q Ilość przedmiotów o danych wymiarach do zapakowania integer
wg Waga przedmiotu integer or float

Sprawdź maksymalne wypełnienie

Oblicz, ile przedmiotów możesz zapakować w dostępnej przestrzeni ładunkowej

URL

Parametry zapytania

Wymagane parametry

REQUEST

{
    "username":"USERNAME",
    "api_key":"API_KEY",
    "bins": [
      {
         "w": 5,
         "h": 5,
         "d": 5,
         "max_wg": 0,
         "id": "Bin1",
         "type":"pallet"
      },
      {
         "w": 4,
         "h": 3,
         "d": 3,
         "max_wg": 0,
         "id": "Bin2",
         "type":"box"
      }
   ],
   "items": [
      {
         "w": 5,
         "h": 3,
         "d": 2,
         "vr": 1,
         "wg": 0,
         "id": "Item1"
      },
      {
         "w": 3,
         "h": 3,
         "d": 3,
         "vr": 1,
         "wg": 0,
         "id": "Item2"
      }
   ],
   "params": {
      "images_version": 2,
      "images_background_color": "255,255,255",
      "images_bin_border_color": "59,59,59",
      "images_bin_fill_color": "230,230,230",
      "images_item_border_color": "214,79,79",
      "images_item_fill_color": "177,14,14",
      "images_item_back_border_color": "215,103,103",
      "images_sbs_last_item_fill_color": "99,93,93",
      "images_sbs_last_item_border_color": "145,133,133",
      "images_width": 100,
      "images_height": 100,
      "images_source": "file",
      "images_sbs": 1,
      "item_coordinates": 1,
      "images_complete": 1,
      "images_separated": 1
   }
}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "USERNAME", "api_key": "API_KEY", "bins": [{"w": 5,"h": 5,"d": 5,"max_wg": 0,"id": "Bin1","type":"pallet"},{"w": 4,"h": 3,"d": 3,"max_wg": 0,"id": "Bin2","type":"box"}],"items": [{"w": 5,"h": 3,"d": 2,"vr": 1,"wg": 0,"id": "Item1"},{"w": 3,"h": 3,"d": 3,"vr": 1,"wg": 0,"id": "Item2"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}}' \
https://global-api.3dbinpacking.com/packer/fillContainer \
-k
<?php

$data = array( 'bins' => array( array( 'id' => 'Bin1', 'h' => '5', 'w' => '5', 'd' => '5', 'wg' => '', 'max_wg' => '', 'type' => pallet' ), array( 'id' => 'Bin2', 'h' => '4', 'w' => '3', 'd' => '3', 'wg' => '', 'max_wg' => '', 'type' => 'pallet' ) ), 'items' => array( array( 'id' => 'Item1', 'w' => '5', 'h' => '3', 'd' => '2', 'wg' => '0', 'vr' => '1' ), array( 'id' => 'Item2', 'w' => '3', 'h' => '3', 'd' => '3', 'wg' => '0', 'vr' => '1' ) ), 'username' => 'YOUR_USERNAME', 'api_key' => 'YOUR_API_KEY', 'params' => array( 'images_background_color' => '255,255,255', 'images_bin_border_color' => '59,59,59', 'images_bin_fill_color' => '230,230,230', 'images_item_border_color' => '22,22,22', 'images_item_fill_color' => '255,193,6', 'images_item_back_border_color' => '22,22,22', 'images_sbs_last_item_fill_color' => '177,14,14', 'images_sbs_last_item_border_color' => '22,22,22', 'images_format' => 'svg', 'images_width' => '50', 'images_height' => '50', 'images_source' => 'file', 'stats' => '0', 'item_coordinates' => '1', 'images_complete' => '1', 'images_sbs' => '1', 'images_separated' => '0', 'images_vesrion' => 2 ) ); $query = json_encode($data);

$url = "https://global-api.3dbinpacking.com/packer/fillContainer"; $prepared_query = 'query='.$query; $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $prepared_query ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); $resp = curl_exec($ch); if (curl_errno($ch)) { echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch).'<br>'; } curl_close($ch);

$response = json_decode($resp,true); // display errors if(isset($response['response']['errors'])){ foreach($response['response']['errors'] as $error){ echo $error['message'].'<br>'; } } // display data if( $response['response']['status'] > -1 ){ $b_packed= $response['response']['bins_packed']; foreach ($b_packed as $bin){ echo "<h2>Bin id:{$bin['bin_data']['id']}</h2> <p> {$bin['bin_data']['w']} x {$bin['bin_data']['h']} x {$bin['bin_data']['d']}</p> <p> Weight:{$bin['bin_data']['weight']}</p> <p> Used weight:{ $bin['bin_data']['used_weight'] }</p> <img src=\"{$bin['image_complete']}\"> <h2>Items packed in this bin:</h2>"; $items = $bin['items']; echo '<table style="text-align: center"> <tr><th>Item id</th> <th>Item dimensions</th> <th>Item weight</th> <th>Separated item</th> <th>Step by step</th></tr>'; foreach ( $items as $item){ echo "<tr><td>{$item['id']}</td> <td> {$item['w']} x {$item['h']} x {$bin['bin_data']['d']}</td> <td> {$item['wg']}</td> <td><img src=\"{$item['image_separated']}\"></td> <td><img src=\"{$item['image_sbs']}\"></td> </tr>"; } echo '</table>'; echo '<hr>';

} }

#!/usr/bin/python

import httplib
import urllib
import json

conn = httplib.HTTPConnection(host='global-api.3dbinpacking.com', port=80) data = {"username": "USERNAME", "api_key": "API_KEY", "bins": [{"w": 5,"h": 5,"d": 5,"max_wg": 0,"id": "Bin1", "type":"pallet"},{"w": 4,"h": 3,"d": 3,"max_wg": 0,"id": "Bin2","type":"box"}],"items": [{"w": 5,"h": 3,"d": 2,"vr": 1,"wg": 0,"id": "Item1"},{"w": 3,"h": 3,"d": 3,"vr": 1,"wg": 0,"id": "Item2"}], "params": {"images_background_color": "255,255,255", "images_bin_border_color": "59,59,59", "images_bin_fill_color": "230,230,230", "images_item_border_color": "22,22,22", "images_item_fill_color": "255,193,6", "images_item_back_border_color": "22,22,22", "images_sbs_last_item_fill_color": "177,14,14", "images_sbs_last_item_border_color": "22,22,22", "images_format": "svg", "images_width": 50, "images_height": 50, "images_source": "file", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "images_version":2}} params = urllib.urlencode( {'query':json.dumps(data)} ) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn.request( "POST", "/packer/fillContainer", params, headers ) content = conn.getresponse( ).read( ) conn.close( ) print content

package javaapplication1;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;; import org.json.simple.JSONObject; import org.springframework.web.client.RestTemplate;

public class JavaApplication1 {

/** * @param args the command line arguments */ public static void main(String[] args) throws MalformedURLException, ProtocolException, IOException { RestTemplate restTemplate = new RestTemplate(); JSONObject json = new JSONObject();

//SET BINS List<Map<String , String>> bins = new ArrayList<Map<String,String>>();

Map<String, String> bin1 = new HashMap<String, String>(); bin1.put("id", "Bin1"); bin1.put("h", "5"); bin1.put("w", "5"); bin1.put("d", "5"); bin1.put("wg", ""); bin1.put("max_wg", ""); bin1.put("type", "pallet"); bins.add(bin1); Map<String, String> bin2 = new HashMap<String, String>(); bin2.put("id", "Bin2"); bin2.put("h", "3"); bin2.put("w", "4"); bin2.put("d", "3"); bin2.put("wg", ""); bin2.put("max_wg", ""); bin2.put("type":"box"); bins.add(bin2);

//SET ITEMS List<Map<String , String>> items = new ArrayList<Map<String,String>>(); Map<String, String> item1 = new HashMap<String, String>(); item1.put("id", "Item1"); item1.put("w", "5"); item1.put("h", "3"); item1.put("d", "2"); item1.put("wg", "0"); item1.put("vr", "1"); items.add(item1); Map<String, String> item2 = new HashMap<String, String>(); item2.put("id", "Item2"); item2.put("w", "3"); item2.put("h", "3"); item2.put("d", "3"); item2.put("wg", "0"); item2.put("vr", "1"); items.add(item2);

//SET PARAMETERS Map <String , String > params = new HashMap <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("images_version", "2")

//ADD ELEMENTS TO JSON json.put("username", "YOUR_USERNAME"); json.put("api_key", "YOUR_API_KEY"); json.put("items", items); json.put("bins", bins); json.put("params", params);

//CALL QUERY HttpURLConnection conn; URL addr = new URL("https://global-api.3dbinpacking.com/packer/fillContainer"); conn = (HttpURLConnection) addr.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.connect(); OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());

// prepare POST body String query = "query=" + json.toString();

osw.write(query); osw.flush(); osw.close();

BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String response_json = br.readLine();

//DO SOMETHING COOL WITH THE RESPONSE System.out.println(response_json); } }

string data;
System.Net.HttpWebRequest req = System.Net.WebRequest.Create("https://global-api.3dbinpacking.com/packer/fillContainer") as System.Net.HttpWebRequest;

var request_data = new {username = "YOUR_USERNAME", api_key = "YOUR_API_KEY", items = new[] { new { id = "Item1", w = "5", h = "3", d = "2", wg = "0", vr = "1"}, new { id = "Item2", w = "3", h = "3", d = "3", wg = "0", vr = "1"} }, bins = new[] { new { id = "Bin1", h = "5", w = "5", d = "5", wg = "", max_wg = "", type = "pallet"}, new { id = "Bin2", h = "3", w = "4", d = "3", wg = "", max_wg = "", type = "box"} },

@params = new { images_background_color = "255,255,255", images_bin_border_color = "59,59,59", images_bin_fill_color = "230,230,230", images_item_border_color = "22,22,22", images_item_fill_color = "255,193,6", images_item_back_border_color = "22,22,22", images_sbs_last_item_fill_color = "177,14,14", images_sbs_last_item_border_color = "22,22,22", images_format = "svg", images_width = "50", images_height = "50", images_source = "file", stats = "0", item_coordinates = "1", images_complete = "1", images_sbs = "1", images_separated = "0", images_version = "2" } };

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(queryParam); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = postBytes.Length;

System.IO.Stream postStream = req.GetRequestStream(); postStream.Write(postBytes, 0, postBytes.Length); postStream.Close();

X509Certificate Cert = X509Certificate2.CreateFromCertFile("path_to_pem_key\global-api.3dbinpacking.com.pem"); req.ClientCertificates.Add(Cert);

using (System.Net.HttpWebResponse response = req.GetResponse() as System.Net.HttpWebResponse) { System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()); data = reader.ReadToEnd(); }

Nazwa parametru Opis Typ danych
username
(wymagane)
Nazwa użytkownika. Możesz ją znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
api_key
(wymagane)
Klucz API. Możesz go znaleźć w sekcji '/Ustawienia profilu/Dostęp do API' po zalogowaniu. https://www.3dbinpacking.com/en/customer/api-data ciąg znaków
[bins]
(wymagane)
Tablica parametrów przestrzeni ładunkowych tablica
[items]
(wymagane)
Tablica parametrów przedmiotów. Maksymalna liczba przedmiotów w jednym zapytaniu = 4999 tablica
params Tablica parametrów dodatkowych zapytań tablica

[bins] - Tablica przestrzeni ładunkowych

Nazwa parametru Opis Typ danych
id
(wymagane)
ID przestrzeni ładunkowej. Dzięki niemu będzie możliwa jego identyfikacja w wynikach pakowania ciąg znaków
w
(wymagane)
Szerokość przestrzeni ładunkowej float
h
(wymagane)
wysokość przestrzeni ładunkowej float
d
(wymagane)
Głębokość/długość przestrzeni ładunkowej float
wg Waga pojemnika integer or float
max_wg Maksymalna waga przestrzeni ładunkowej. Wartość ustawiona na '0' (zero) oznacza, że nie ma limitu obciążenia integer or float
type
Tylko z parametrem images_version: 2
Określa, czy grafika będzie przedstawiona w postaci kartonu lub palety translation missing: pl.params_type_stringt

[items] - Tablica parametrów przedmiotów

Nazwa parametru Opis Typ danych Dostępne wartości
id
(wymagane)
ID/SKU przedmiotu, dzięki któremy zidentyfikujesz przedmiot po zapakowaniu. ciąg znaków
w
(wymagane)
Szerokość przedmiotu integer or float
h
(wymagane)
Wysokość przedmiotu integer or float
d
(wymagane)
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'

params - Dodatkowe parametry

Nazwa parametru Opis Typ danych Dostępne wartości
images_version Wersja generatora obrazków integer Dopuszczalne wartości: [ 1 | 2 ]
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
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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_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'
images_item_border_color
Tylko z parametrem images_version: 1
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
Tylko z parametrem images_version: 1
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
images_complete Generuj grafikę przedstawiającą obrazek końcowy zapakowania integer 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

RESPONSE

{
    "response":{
        "id":"response_id",
        "bins_packed":[
            {
                "bin_data":{
                    "w":5,
                    "h":5,
                    "d":5,
                    "id":"Bin1",
                    "used_space":72,
                    "weight":0,
                    "gross_weight":0,
                    "used_weight":100,
                    "stack_height":5,
                    "order_id":null
                },
                "image_complete":"image_url.png",
                "items":[
                    {
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}
                    },{
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":0,"y1":0,"z1":2,"x2":5,"y2":3,"z2":4}
                    },{
                        "id":"Item1",
                        "w":5,
                        "h":3,
                        "d":2,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":0,"y1":3,"z1":0,"x2":5,"y2":5,"z2":3}
                    }
                ]
            },{
                "bin_data":{
                    "w":4,
                    "h":3,
                    "d":3,
                    "id":"Bin2",
                    "used_space":75,
                    "weight":0,
                    "gross_weight":0,
                    "used_weight":100,
                    "stack_height":3
                },
                "image_complete":"image_url.png",
                "items":[
                    {
                        "id":"Item2",
                        "w":3,
                        "h":3,
                        "d":3,
                        "wg":0,
                        "image_separated":"image_url.png",
                        "image_sbs":"image_url.png",
                        "coordinates":{"x1":0,"y1":0,"z1":0,"x2":3,"y2":3,"z2":3}
                    }
                ]
            }
        ],
        "errors":[],
        "status":1,
        "not_packed_items":[]
    }
}

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 lub nie zostały zapakowane ze względu na wagę lub rozmiar tablica

[bins_packed] - Zapakowane przestrzenie ładunkowe

Nazwa parametru Opis Typ danych
bin_data Detale zapakowanej przestrzeni ładunkowej tablica
image_complete Grafika przedstawiająca zapakowany pojemnik url
[items] Zapakowane przedmioty w pojemniku tablica

[bin_data] - Szczegóły zapakowanej przestrzeni ładunkowej

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
used_space Procent wykorzystania przestrzeni ładunkowej integer or float
weight Waga zapakowanych przedmiotów integer or float
gross_weight Waga zapakowanych przedmiotów + waga przestrzeni ładunkowej integer or float
used_weight Procent wykorzystania dopuszczalnej wagi integer or float
stack_height Wysokość, na jaką zastały ułożone przedmioty w przestrzeni ładunkowej integer or float

[items] - Zapakowane przedmioty

Nazwa parametru Opis Typ danych
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
image_separated Grafika przedstawiająca położenie każdego przedmiotu url
image_sbs Grafika pakowania "krok po kroku" url
coordinates Koordynaty przedmiotu w przestrzeni ładunkowej {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Przedmioty niezapakowane

Nazwa parametru Opis Typ danych
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
q Ilość przedmiotów o danych wymiarach do zapakowania integer
wg Waga przedmiotu integer or float

Obrazki

Poniżej przedstawione zostały różnice między obrazkami oraz opis niektórych parametrów requestów.

Różnice między wersją 1 i 2 generatora obrazków.

Główną różnicą między obrazkami jest sposób prezentacji wyników. W wersji pierwszej widok jest prezentowany w sposób dimetryczny. Wersja druga jest prezentowana w sposób izometryczny.
Pozostałe różnice:

Obrazek w zależności od typu pojemnika

"bins":
    [
        {
            "id":"Pack M",
            "h":50,
            "w":120,
            "d":80,
            "wg":"",
            "max_wg":"",
            "q":null,
            "cost":0,
            "type":"pallet"
        },
        {
            "id":"Pack S",
            "h":3,
            "w":3,
            "d":6,
            "wg":"",
            "max_wg":"",
            "q":null,
            "cost":0
            "type":"box"
        }
    ],

W wersji drugiej obrazków (images_version: "2") określając typ pojemnika otrzymamy różne grafiki.
Do wyboru mamy jedną z dwóch opcji: [‘box’ | 'pallet’]. Domyślna wartość to box. W tym przypadku obrazek będzie przedstawiał przekrój przestrzeni ładunkowej z zapakowanymi przedmiotami.
Jeżeli parametr ten zostanie ustawiony na pallet, wtedy obrazek będzie przedstawiał paletę z umieszczonymi na niej przedmiotami.
Poniżej przykład prezentujący różnicę między obrazkami.

Pallet image
type: "pallet"
Box image
type: "box"

Kompletnie zapakowany pojemnik

Obrazek przedstawiający końcowy wynik pakowania

Complete
Complete

Pakowanie krok po kroku

Obrazek ten przedstawia pakowanie przedmiotów krok po kroku. Na każdym kolejnym obrazku pokazane są wcześniej zapakowane przedmioty, oraz innym kolorem zaznaczony jest obecnie pakowany przedmiot.
Poniżej przedstawiona jest grafika w obu wersjach.

Step by step 1
Step 1
Step by step 2
Step 2
Step by step 3
Step 3
Step by step 4
Step 4

Przedmioty przedstawione pojedynczo

W tym przypadku grafika prezentuje pakowanie przedmiotu bez pokazywania wcześniej zapakowanych przedmiotów.
Dla ułatwienia identyfikacji położenia przedmiotu w pojemniku zostały użyte linie przerywane prezentujące jego umieszczenie względem podłoża.

Separated 1
Separated 1
Separated 2
Separated 2
Separated 3
Separated 3
Separated 4
Separated 4

translation missing: pl.images_how_to_scale_svg_h

translation missing: pl.images_how_to_scale_svg_d

Step by step 3Min: 100x100px; Max: 200x200px;
<img src="path_to_image/image.svg" alt="Step by step 3" style="min-width: 100px; max-width: 200px; min-height: 100px; max-height: 200px;">
Step by step 3Min: 300x300px; Max: 400x400px;
<img src="path_to_image/image.svg" alt="Step by step 3" style="min-width: 300px; max-width: 400px; min-height: 300px; max-height: 400px;">

Format obrazków

Do wyboru mamy możliwość generowania obrazków w formacie SVG lub PNG.
Dzięki zastosowaniu formatu SVG użytkownik ma możliwość dowolnego skalowania obrazków bez utraty ich jakości.

Errors

HTTP

Error Meaning
400 Bad Request - Your request is invalid.
404 Bad URL - Your request URL is invalid.
500 Server error.

API

List of pssible API errors

Error lever Message
TYPE_CRITICAL No bins to pack.
TYPE_CRITICAL Exceeded maximum number of items per request. Maximum number is 4999 or less
TYPE_CRITICAL No items to pack.
TYPE_CRITICAL Pallet cannot be packed. - z powodu np błędnie podanych wymiarów
TYPE_CRITICAL Request parameter "query" can not be empty.
TYPE_CRITICAL Request parameter "query" has to be in JSON format! Example: query={"username":"your_username",....}
TYPE_CRITICAL Request parameter "query" not set! Correct request content format: query={...}
TYPE_CRITICAL Required parameter "bins" not set!
TYPE_CRITICAL Required parameter "username" not set!
TYPE_CRITICAL Required parameter "api_key" not set!
TYPE_CRITICAL Unknown optimization_mode in the request params!
TYPE_CRITICAL Required parameter "items" not set!
TYPE_CRITICAL Requested "bins" parameter is not an array!
TYPE_CRITICAL Each "strategy" data in "bins_strategies" parameter must be an array!
TYPE_CRITICAL Requested "bins_strategies" parameter is not an array!
TYPE_CRITICAL Missing "bins" key in strategy data!
TYPE_CRITICAL Requested "bins" parameter is not an array!
TYPE_CRITICAL Requested "items" parameter is not an array!
TYPE_WARNING Bin 'bin_id' can't be packed. Exceeded maximum number of items per simulation. The maximum number is 4999.
TYPE_WARNING Bin 'bin_id' has incorrect dimension(s) and is not packed.
TYPE_WARNING Bin 'bin_id' has incorrect 'find' value and is not packed.
TYPE_WARNING Bin 'bin_id' has incorrect dimension(s) and is not packed.
TYPE_WARNING Item 'item_id' has incorrect dimensions.
TYPE_WARNING Item 'item_id' has incorrect quantity value.
TYPE_WARNING Item 'item_id' has incorrect dimensions.
TYPE_WARNING Item 'item_id' has incorrect quantity value.
TYPE_WARNING Too many items or bins.
TYPE_WARNING Reached the maximum (100) pallets number per request.
TYPE_WARNING Pallet has incorrect dimension(s) and is not packed.
TYPE_WARNING Wrong color definition for parameter "item_fill_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "image_border_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong images_width parameter. [10-250] allowed.
TYPE_WARNING Wrong images_height parameter. [10-250] allowed
TYPE_WARNING Wrong color definition for parameter "images_background_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_bin_border_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_bin_fill_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_item_border_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_item_fill_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_filler_border_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_filler_fill_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_item_back_border_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_dashed_line_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong color definition for parameter "images_bin_dashed_line_color". [0-255] values range allowed, with comma separation. Example: 255,255,255
TYPE_WARNING Wrong "images_source" parameter. [base64|file] allowed
TYPE_WARNING Wrong "images_format" parameter. [png|svg] allowed
TYPE_NOTICE Item 'item_id' can't be packed into bin 'bin_id'
TYPE_NOTICE Item 'item_id' can't be packed into any bin.
TYPE_NOTICE Item 'item_id' can't be packed into bin 'bin_id'.
TYPE_NOTICE Item 'item_id' can't be packed into any bin.
TYPE_NOTICE Parameters "item_fill_color" and "item_border_color" are required for item_colors_schema = "item"
TYPE_NOTICE Parameter "item_color_schema" - allowed values: [default|random|item]. Value "default" has been been used