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

Dostępne protokoły:

Metody wywoływania:

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":""
        },
        {
            "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",
        "stats":0,
        "item_coordinates":1,
        "images_complete":1,
        "images_sbs":1,
        "images_separated":0,
        "optimization_mode":"bins_number"
    }
}
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": ""},{"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", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "optimization_mode":"bins_number"}}' \\
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' => ''
                ),
            array(
                    'id' => 'Pack S',
                    'h' => '3',
                    'w' => '3',
                    'd' => '6',
                    'wg' => '',
                    'max_wg' => ''
                )
        ),
    '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'
        )
);
$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": ""},{"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", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0, "optimization_mode":"bins_number"}}
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", "");
        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", "");
        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")

        //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 = ""},
                                        new { id = "Pack S", h = "3", w = "3", d = "6", wg = "", max_wg = ""}
                                        },

                        @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"
                                        }
                    };

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

[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_width Maks. szerokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_height Maks. wysokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_background_color Kolor tła ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color Kolor krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color Kolor wypełnienia przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color Kolor krawędzi przedmiotu ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format Format plików zwracanych obrazków ciąg znaków Dopuszczalne wartości: [ png , svg ]
images_sbs Generuje obrazki pokazujące proces pakowania 'krok po kroku' integer Dopuszczalne wartości:
0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana,
1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
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":""
    },
    "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
    }
}
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

[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_width Maks. szerokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_height Maks. wysokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_background_color Kolor tła ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color Kolor krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color Kolor wypełnienia przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color Kolor krawędzi przedmiotu ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format Format plików zwracanych obrazków ciąg znaków Dopuszczalne wartości: [ png , svg ]
images_sbs Generuje obrazki pokazujące proces pakowania 'krok po kroku' integer Dopuszczalne wartości:
0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana,
1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
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"
        },
        {
            "w": 3,
            "h": 30,
            "d": 3,
            "id": "Bin2",
            "find": "h"
        }
    ],
    "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
    }
}
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"},{"w": 3,"h": 30,"d": 3,"id": "Bin2","find": "h"}],"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}}' \\
https://global-api.3dbinpacking.com/packer/findSmallestBin \\
-k
<?php

$data = array(
    'bins' => array(
            array(
                    'id' => 'Bin1',
                    'h' => '0',
                    'w' => '5',
                    'd' => '5',
                    'find' => 'h'
                ),
            array(
                    'id' => 'Pack S',
                    'h' => '30',
                    'w' => '3',
                    'd' => '3',
                    'find' => 'h'
                )
        ),
    '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'
        )
);
$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"},{"w": 3,"h": 30,"d": 3,"id": "Bin2","find": "h"}],"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}}
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");
        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");
        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")

        //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"},
                                        new { id = "Bin2", h = "30", w = "5", d = "5"}
                                        },

                        @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"
                                        }
                    };

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

[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_width Maks. szerokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_height Maks. wysokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_background_color Kolor tła ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color Kolor krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color Kolor wypełnienia przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color Kolor krawędzi przedmiotu ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format Format plików zwracanych obrazków ciąg znaków Dopuszczalne wartości: [ png , svg ]
images_sbs Generuje obrazki pokazujące proces pakowania 'krok po kroku' integer Dopuszczalne wartości:
0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana,
1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
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"
        }
    ],
    "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
    }
}
curl -X POST \\
-H "Content-Type: application/json" \\
-d '{"username": "_USERNAME_", "api_key": "_API_KEY_", "bins": [{"w": 0,"h": 0,"d": 0,"id": "Bin1"}],"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}}' \\
https://global-api.3dbinpacking.com/packer/findBinSize \\
-k
<?php

$data = array(
    'bins' => array(
            array(
                    'id' => 'Bin1',
                    'h' => '0',
                    'w' => '0',
                    'd' => '0',
                )
        ),
    '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'
        )
);
$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"}],"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}}
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");
        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")

        //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"}
                                        },

                        @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"
                                        }
                    };

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

[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_width Maks. szerokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_height Maks. wysokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_background_color Kolor tła ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color Kolor krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color Kolor wypełnienia przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color Kolor krawędzi przedmiotu ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format Format plików zwracanych obrazków ciąg znaków Dopuszczalne wartości: [ png , svg ]
images_sbs Generuje obrazki pokazujące proces pakowania 'krok po kroku' integer Dopuszczalne wartości:
0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana,
1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
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":""},
       {"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",
       "stats":0,
       "item_coordinates":1,
       "images_complete":1,
       "images_sbs":1,
       "images_separated":0
    }
}
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": ""},{"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", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0}}' \\
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' => ''
                ),
            array(
                    'id' => 'Pack S',
                    'h' => '3',
                    'w' => '3',
                    'd' => '6',
                    'wg' => '',
                    'max_wg' => ''
                )
        ),
    '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'
        )
);
$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": ""},{"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", "stats": 0, "item_coordinates": 1, "images_complete": 1, "images_sbs": 1, "images_separated": 0}}
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", "");
        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", "");
        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")

        //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 = ""},
                                        new { id = "Pack S", h = "3", w = "3", d = "6", wg = "", max_wg = ""}
                                        },

                        @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"
                                        }
                    };

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

[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_width Maks. szerokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_height Maks. wysokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_background_color Kolor tła ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color Kolor krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color Kolor wypełnienia przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color Kolor krawędzi przedmiotu ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format Format plików zwracanych obrazków ciąg znaków Dopuszczalne wartości: [ png , svg ]
images_sbs Generuje obrazki pokazujące proces pakowania 'krok po kroku' integer Dopuszczalne wartości:
0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana,
1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
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"
      },
      {
         "w": 4,
         "h": 3,
         "d": 3,
         "max_wg": 0,
         "id": "Bin2"
      }
   ],
   "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": "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"},{"w": 4,"h": 3,"d": 3,"max_wg": 0,"id": "Bin2"}],"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}}' \\
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' => ''
                ),
            array(
                    'id' => 'Bin2',
                    'h' => '4',
                    'w' => '3',
                    'd' => '3',
                    'wg' => '',
                    'max_wg' => ''
                )
        ),
    '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'
        )
);
$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"},{"w": 4,"h": 3,"d": 3,"max_wg": 0,"id": "Bin2"}],"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}}
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", "");
        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", "");
        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")

        //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 = ""},
                                        new { id = "Bin2", h = "3", w = "4", d = "3", wg = "", max_wg = ""}
                                        },

                        @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"
                                        }
                    };

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

[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_width Maks. szerokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_height Maks. wysokość generowanych obrazków integer Dopuszczalne wartości: 1 - 250
images_background_color Kolor tła ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_border_color Kolor krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_dashed_line_color Kolor przedniej (przerywanej) krawędzi przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_bin_fill_color Kolor wypełnienia przestrzeni ładunkowej ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_item_border_color Kolor krawędzi przedmiotu ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_fill_color Kolor wypełnienia ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_sbs_last_item_border_color Kolor krawędzi ostatniego przedmiotu na obrazku 'krok po kroku' ciąg znaków Dopuszczalne wartości:
wartości kolorów RGB odseparowane przecinkami 'czerowny,zielony,niebieski', wartości 0-255; Przykład: '255,120,10'
images_format Format plików zwracanych obrazków ciąg znaków Dopuszczalne wartości: [ png , svg ]
images_sbs Generuje obrazki pokazujące proces pakowania 'krok po kroku' integer Dopuszczalne wartości:
0 [default] - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' nie będzie generowana,
1 - oznacza, że grafika pokazująca proces pakowania 'krok po kroku' będzie generowana
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

Errors

Error Meaning
400 Bad Request -- Your request is invalid.