NAV
JSON cURL PHP Python JAVA C#

Einleitung

Diese Unterseite enthält eine Beschreibung über die Implementierung unserer Algorithmen in Ihr System. Unsere Alghorithmen wurden entwickelt, um die Verpackung kubischer Gegenstände in verschiedenen kubischen Laderäumen zu optimieren und zu visualisieren. Jeder unserer Algorithmus ist fähig, über die API zu verbinden, die die Anfragen akzeptiert und die Antworten im JSON-Format zurückgibt.

Was ist eine API?

Eine API ist ein Satz von Programmiercoden, der die Datenübertragung zwischen einem Softwareprodukt und einem anderen ermöglicht. Er enthält auch die Bedingungen dieses Datenaustausches.

Beginnen

Um unsere API zu nutzen, müssen Sie sich auf unserer Webseite registrieren (www.3dbinpacking.com) und Ihren Benutzernamen und API-Schlüssel erhalten.

Wenn Sie unsere API testen möchten, ersetzen Sie bitte den unten angegebenen Benutzernamen und den API-Schlüssel und fügen Sie sie in die Browseradressleiste ein.

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}}

Wenn Sie eine Antwort wie unten erhalten, bedeutet das, dass Sie alles richtig gemacht haben.

{"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}}]}]}

Endpunkte

Derzeit haben wir einige Server auf der ganzen Welt für hohe Verfügbarkeit, geringe Latenz.
Unser globaler API-Server ist am besten. Dieser Server leitet Ihre Anfrage an den nächstgelegenen verfügbaren Server weiter.
Die Liste der 3DBinPacking API-Endpunkte:

PEM (X.509)

Anfragen

Im Folgenden können Sie die Details zu den Methoden zum Senden von Anfragen an unsere API-Server lesen

Verfügbare Methoden zum Senden von Daten

- POST - Empfohlen
- GET

Verfügbare Protokolle:

- https - Empfohlen
- http

Aufrufmethoden:

- as parameter - GET-Beispiel: https://global-api.3dbinpacking.com/packer/pack?query={json_encoded_data}
- as JSON content request

Produkte

Versandverpackung

Nutzen Sie das Programm zur Versandverpackung um Ihre Verpackung zu optimieren - nach Anzahl der Schachteln, Raumausnutzung oder Kosten.

URL

Anfragenparameter

Erforderliche Parameter

REQUEST

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

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

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

} }

#!/usr/bin/python

import httplib
import urllib
import json

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

package javaapplication1;

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

public class JavaApplication1 {

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

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

Map<String, String> bin1 = new HashMap<String, String>(); bin1.put("id", "Pack M"); bin1.put("h", "4"); bin1.put("w", "4"); bin1.put("d", "4"); bin1.put("wg", ""); bin1.put("max_wg", ""); bin1.put("q", null); bin1.put("cost", 0); bin1.put("type","pallet"); bins.add(bin1); Map<String, String> bin2 = new HashMap<String, String>(); bin2.put("id", "Pack S"); bin2.put("h", "3"); bin2.put("w", "3"); bin2.put("d", "6"); bin2.put("wg", ""); bin2.put("max_wg", ""); bin2.put("q", null); bin2.put("cost", 0); bin2.put("type", "pallet"); bins.add(bin2);

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

//SET PARAMETERS Map <String , String > params = new HashMap <String , String >(); params.put("images_background_color", "255,255,255") params.put("images_bin_border_color", "59,59,59") params.put("images_bin_fill_color", "230,230,230") params.put("images_item_border_color", "22,22,22") params.put("images_item_fill_color", "255,193,6") params.put("images_item_back_border_color", "22,22,22") params.put("images_sbs_last_item_fill_color", "177,14,14") params.put("images_sbs_last_item_border_color", "22,22,22") params.put("images_format", "svg") params.put("images_width", "50") params.put("images_height", "50") params.put("images_source", "file") params.put("stats", "0") params.put("item_coordinates", "1") params.put("images_complete", "1") params.put("images_sbs", "1") params.put("images_separated", "0") params.put("optimization_mode", "bins_number") params.put("images_version", "2")

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

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

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

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

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

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

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

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

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

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

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

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

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

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

Param-Name Beschreibung Datentyp
username
(benötigt)
Benutzername. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
api_key
(benötigt)
API-Schlüssel. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
[bins]
(benötigt)
Array von Verpackungsraumparametern array
[items]
(benötigt)
Array von Produktparametern. Limit: Maximale Gesamtzahl der Produkte pro Anfrage = 4999 array
params Array von extra Anfrageparametern of extra request parameters array

[bins] - Array-Details des Verpackungsraumes

Param-Name Beschreibung Datentyp
id
(benötigt)
Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w
(benötigt)
Verpackungsraumbreite integer or float
h
(benötigt)
Verpackungsraumhöhe integer or float
d
(benötigt)
Tiefe/Länge vom Verpackungsraum integer or float
wg Verpackungsraumgewicht integer or float
max_wg Das maximale Gewicht, das dieser Verpackungsraum halten kann. Der auf '0' (Null) eingestellte Wert bedeutet, dass es keine Gewichtsbegrenzung gibt integer or float
q Maximale Anzahl der Verpackungsräume mit angegebenen Abmessungen NULL oder integer; wenn der Wert nicht gesetzt oder auf NULL gesetzt ist - bedeutet das, dass die Anzahl der Verpackungsackräume unbegrenzt ist
cost Containerversandkosten. Dieser Wert ist beim Verpacken mit dem Parameter 'Optimierung_modus' verwendet, der auf 'Kosten' eingestellt ist. integer or float
type
Nur mit dem images_version: 2 Parameter
Legt fest, ob das Bild in Form einer Schachtel oder einer Palette angezeigt wird translation missing: de.params_type_stringt

[items] - Array-Details des Produktes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w
(benötigt)
Produktbreite integer or float
h
(benötigt)
Produkthöhe integer or float
d
(benötigt)
Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
vr Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann integer Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann
q
(benötigt)
Die Anzahl der gleichen Produkte zu verpacken integer
group Gruppierte Produkte werden zusammen verpackt, was es ermöglicht, z. B. Lebensmittel (Gruppe 'X') von inländischen Reinigungsmitteln (Gruppe 'Y') zu trennen. string
separate Trennung der Produkte; Parameter gesetzt auf '1' bedeutet, dass gegebene Produkte nicht zusammen mit anderen Produkten verpackt werden können integer Verfügbare Werte:
1 - bedeutet, dass Produkte getrennt werden,
0 [Standard] - bedeutet, dass Produkte nicht getrennt werden
limit_per_bin Definieren Sie, wie viele Produkte in einem Verpackungsraum verpackt werden können integer
acceptable_bins Definieren Sie, welche Verpackungsräume zum Verpacken von Produkten verwendet werden können. Wenn der Parameter nicht festgelegt ist, können alle Verpackungsräume verwendet werden. Die angegebenen Werte müssen Verpackungsraum-ID enthalten, die im Parameter 'bins' enthalten ist. array
item_colors_schema Definieren Sie, welche Art von Farbschema verwendet werden soll string Verfügbare Werte:
Standard - Farben, die in den folgenden Parametern eingestellt sind, werden verwendet 'images_item_border_color' und 'images_bin_fill_color',
'random' - x,
'item' - x
item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
item_border_color Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'

params - Optionale Parameter

Param-Name Beschreibung Datentyp Info
optimization_mode Definieren Sie eine Methode zur Verpackungsoptimierung string Verfügbare Werte:
bins_number [Standard] - die kleinstmögliche Anzahl von Verpackungsräumen;
bins_utilization - max. Nutzung vom Platz in Verpackungsräumen;
cost - die niedrigsten Kosten für Versand oder Transport ('cost' Parameter muss für jeden Verpackungsraum angegeben werden)
images_version Bildergeneratorversion integer Verfügbare Werte: [1 | 2]
images_width Max. Breite der generierten Bilder integer Verfügbare Werte: 1 - 250
images_height Max. Höhe der generierten Bilder integer Verfügbare Werte: 1 - 250
images_background_color Hintergrundfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_dashed_line_color
Nur mit dem images_version: 1 Parameter
Frontrahmenfarbe des Verpackungsraumes (gestrichelt) string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_fill_color Füllungsfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_border_color
Nur mit dem images_version: 1 Parameter
Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_fill_color Füllungsfarbe des letzten Produktes auf Bildern, die einen Verpackungsprozess Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des letzten Produktes auf Bildern, die die Verpackung Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_format Bilderformat string Verfügbare Werte: [ png , svg ]
images_sbs Generieren Sie die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, generiert werden
images_complete Generieren Sie die Bilder mit einem endgültigen Verpackungsergebnis integer Verfügbare Werte:
0 [Standard] - bedeutet, dass keine Bilder mit dem endgültigen Verpackungsergebnis generiert werden,
1 - bedeutet, dass die Bilder mit dem endgültigen Verpackungsergebnis erzeugt werden
images_separated Generieren Sie die Bilder, die die Platzierung jedes Produktes separat zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
item_coordinates Rückgabekoordinaten (x, y, z) für jedes Produkt integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Koordinaten der Platzierung jedes Produktes nicht zurückgegeben werden,
1 - bedeutet, dass die Koordinaten der Platzierung jedes Produktes zurückgegeben werden
stats Geben Sie die Statistiken eines Verpackungsprozesses (z. B. Bilderzeugungszeit) zurück integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Statistiken eines Verpackungsprozesses nicht zurückgegeben werden,
1 - bedeutet, dass die Statistiken eines Verpackungsprozesses zurückgegeben werden

Antwortparameter

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
            }
        ]
    }
}

Param-Name Beschreibung Datentyp Info
[bins_packed] Liste der verpackten Produkte array
errors Liste der möglichen Fehler, die in der Anfrage auftreten können array Beispiel: [{'level'}]; Mögliche zurückgegebene Fehler:'critical' - kritischer Fehler - Deaktivierung der Verpackung, 'warning' - Warnung vor falschen Daten in der Anfrage
status Antwortstatus integer Mögliche zurückgegebene Werte:
1 - Antwort hat keine kritischen Fehler enthalten,
0 - Antwort hat kritische Fehler enthalten. * kritischer Fehler - der Fehler, der die Verpackung deaktiviert. Es könnte durch das Fehlen eines der erforderlichen Parameter verursacht werden ('username','api_key') oder falschen Wert des Parameters (z. B. ein Feld, das eine Zahl enthalten sollte, enthält string).
[not_packed_items] Die Liste der Produkte, die nicht verpackt werden können, z. B. falsche Parameter, übermäßiges Gewicht oder Größe array

[bins_packed] - Die Liste der Verpackungsräume, die verpackt werden sollen

Param-Name Beschreibung Datentyp
bin_data Details des Verpackungsraums, der verpackt werden soll array
image_complete Bild des Verpackungsraums, der verpackt werden soll url
[items] Information über die Produkte, die im Verpackungsraum verpackt werden sollen array

[bin_data] - Details des Verpackungsraumes, der verpackt werden soll

Param-Name Beschreibung Datentyp
id Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w Verpackungsraumbreite integer or float
h Verpackungsraumhöhe integer or float
d Tiefe/Länge vom Verpackungsraum integer or float
used_space Prozentanteil des genutzten Verpackungsraumes integer or float
weight Gewicht der Produkte zum Verpacken integer or float
gross_weight Gewicht der Produkte zum Verpacken + Gewicht der Verpackungsraumes integer or float
used_weight Prozentsatz des verwendeten zulässigen Gewichts integer or float
stack_height Die Höhe der gestapelten Produkte integer or float

[items] - Die Liste der Produkte zum Verpacken

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
image_separated Bild, das die Position jedes Produktes zeigt url
image_sbs Bilder, die den Verpackungsprozess Schritt für Schritt zeigen url
coordinates Koordinaten der Produkte im Verpackungsraum {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Die Liste der nicht verpackbaren Produkte

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
q Die Anzahl der gleichen Produkte zu verpacken integer
wg Das Produktgewicht integer or float

Stappeln von Paletten

Nutzen Sie das Programm zum Stappeln von Paletten, um die Verpackung von Paletten zu optimieren und ihre Anzahl für Transport und Lagerung zu reduzieren.

URL

Anfragenparameter

Erforderliche Parameter

REQUEST

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

Param-Name Beschreibung Datentyp
username
(benötigt)
Benutzername. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
api_key
(benötigt)
API-Schlüssel. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
[pallet]
(benötigt)
Array of pallet parameters array
[items]
(benötigt)
Array von Produktparametern. Limit: Maximale Gesamtzahl der Produkte pro Anfrage = 4999 array
params Array von extra Anfrageparametern array

[pallet] - Array-Details der Palette

Param-Name Beschreibung Datentyp
id
(benötigt)
Pallete-ID. Eine Palette, auf der Sie Ihre Produkte stapeln möchten string
w
(benötigt)
Palletenbreite integer or float
h
(benötigt)
Palletenhöhe integer or float
d
(benötigt)
Tiefe/Länge der Palette integer or float
wg Verpackungsraumgewicht integer or float
max_wg Das maximale Gewicht, das dieser Verpackungsraum halten kann. Der auf '0' (Null) eingestellte Wert bedeutet, dass es keine Gewichtsbegrenzung gibt integer or float
type
Nur mit dem images_version: 2 Parameter
Legt fest, ob das Bild in Form einer Schachtel oder einer Palette angezeigt wird translation missing: de.params_type_stringt

[items] - Array-Details des Produktes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w
(benötigt)
Produktbreite integer or float
h
(benötigt)
Produkthöhe integer or float
d
(benötigt)
Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
vr Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann integer Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann
q
(benötigt)
Die Anzahl der gleichen Produkte zu verpacken integer
item_colors_schema Definieren Sie, welche Art von Farbschema verwendet werden soll string
item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
item_border_color Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'

params - Optionale Parameter

Param-Name Beschreibung Datentyp Info
images_version Bildergeneratorversion integer Verfügbare Werte: [1 | 2]
images_width Max. Breite der generierten Bilder integer Verfügbare Werte: 1 - 250
images_height Max. Höhe der generierten Bilder integer Verfügbare Werte: 1 - 250
images_background_color Hintergrundfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_dashed_line_color
Nur mit dem images_version: 1 Parameter
Frontrahmenfarbe des Verpackungsraumes (gestrichelt) string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_fill_color Füllungsfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_border_color
Nur mit dem images_version: 1 Parameter
Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_fill_color Füllungsfarbe des letzten Produktes auf Bildern, die einen Verpackungsprozess Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des letzten Produktes auf Bildern, die die Verpackung Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_format Bilderformat string Verfügbare Werte: [ png , svg ]
images_sbs Generieren Sie die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, generiert werden
images_complete Generieren Sie die Bilder mit einem endgültigen Verpackungsergebnis integer Verfügbare Werte:
0 [Standard] - bedeutet, dass keine Bilder mit dem endgültigen Verpackungsergebnis generiert werden,
1 - bedeutet, dass die Bilder mit dem endgültigen Verpackungsergebnis erzeugt werden
images_separated Generieren Sie die Bilder, die die Platzierung jedes Produktes separat zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
item_coordinates Rückgabekoordinaten (x, y, z) für jedes Produkt integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Koordinaten der Platzierung jedes Produktes nicht zurückgegeben werden,
1 - bedeutet, dass die Koordinaten der Platzierung jedes Produktes zurückgegeben werden
stats Geben Sie die Statistiken eines Verpackungsprozesses (z. B. Bilderzeugungszeit) zurück integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Statistiken eines Verpackungsprozesses nicht zurückgegeben werden,
1 - bedeutet, dass die Statistiken eines Verpackungsprozesses zurückgegeben werden

Antwortparameter

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
        }
    ]
}

Param-Name Beschreibung Datentyp Info
[pallets_packed] Die Liste der Paletten zum Verpacken array
errors Liste der möglichen Fehler, die in der Anfrage auftreten können array Beispiel: [{'level'}]; Mögliche zurückgegebene Fehler:'critical' - kritischer Fehler - Deaktivierung der Verpackung, 'warning' - Warnung vor falschen Daten in der Anfrage
status Antwortstatus integer Mögliche zurückgegebene Werte:
1 - Antwort hat keine kritischen Fehler enthalten,
0 - Antwort hat kritische Fehler enthalten. * kritischer Fehler - der Fehler, der die Verpackung deaktiviert. Es könnte durch das Fehlen eines der erforderlichen Parameter verursacht werden ('username','api_key') oder falschen Wert des Parameters (z. B. ein Feld, das eine Zahl enthalten sollte, enthält string).
[not_packed_items] Die Liste der Produkte, die nicht verpackt werden können, z. B. falsche Parameter, übermäßiges Gewicht oder Größe array

[pallets_packed] - Die Liste der Paletten zum Verpacken

Param-Name Beschreibung Datentyp
pallet_data Details des Verpackungsraums, der verpackt werden soll array
image_complete Bild des Verpackungsraums, der verpackt werden soll url
[items] Information über die Produkte, die im Verpackungsraum verpackt werden sollen array

[pallet_data] - Details des Verpackungsraumes, der verpackt werden soll

Param-Name Beschreibung Datentyp
id Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w Verpackungsraumbreite integer or float
h Verpackungsraumhöhe integer or float
d Tiefe/Länge vom Verpackungsraum integer or float
used_space Prozentanteil des genutzten Verpackungsraumes integer or float
weight Gewicht der Produkte zum Verpacken integer or float
gross_weight Gewicht der Produkte zum Verpacken + Gewicht der Verpackungsraumes integer or float
used_weight Prozentsatz des verwendeten zulässigen Gewichts integer or float
stack_height Die Höhe der gestapelten Produkte integer or float

[items] - Die Liste der Produkte zum Verpacken

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
image_separated Bild, das die Position jedes Produktes zeigt url
image_sbs Bilder, die den Verpackungsprozess Schritt für Schritt zeigen url
coordinates Koordinaten der Produkte im Verpackungsraum {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Die Liste der nicht verpackbaren Produkte

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
q Die Anzahl der gleichen Produkte zu verpacken integer
wg Das Produktgewicht integer or float

Finden der fehlenden Abmessung

Nutzen Sie das Programm zum Finden der fehlenden Abmessung, um die Messungen und die Fläche zu berechnen, die Ihre Verpackung einnehmen wird.

URL

Anfragenparameter

Erforderliche Parameter

REQUEST

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

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

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

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

} }

#!/usr/bin/python

import httplib
import urllib
import json

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

package javaapplication1;

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

public class JavaApplication1 {

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

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

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

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

//SET PARAMETERS Map <String , String > params = new HashMap <String , String >(); params.put("images_background_color", "255,255,255") params.put("images_bin_border_color", "59,59,59") params.put("images_bin_fill_color", "230,230,230") params.put("images_item_border_color", "22,22,22") params.put("images_item_fill_color", "255,193,6") params.put("images_item_back_border_color", "22,22,22") params.put("images_sbs_last_item_fill_color", "177,14,14") params.put("images_sbs_last_item_border_color", "22,22,22") params.put("images_format", "svg") params.put("images_width", "50") params.put("images_height", "50") params.put("images_source", "file") params.put("stats", "0") params.put("item_coordinates", "1") params.put("images_complete", "1") params.put("images_sbs", "1") params.put("images_separated", "0") params.put("images_version", 2)

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

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

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

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

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

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

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

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

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

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

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

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

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

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

Param-Name Beschreibung Datentyp
username
(benötigt)
Benutzername. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
api_key
(benötigt)
API-Schlüssel. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
[bins]
(benötigt)
Array von Verpackungsraumparametern array
[items]
(benötigt)
Array von Produktparametern. Limit: Maximale Gesamtzahl der Produkte pro Anfrage = 4999 array
params Array von extra Anfrageparametern array

[bins] - Array-Details des Verpackungsraumes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w
(benötigt)
Verpackungsraumbreite float
h
(benötigt)
Verpackungsraumhöhe float
d
(benötigt)
Tiefe/Länge vom Verpackungsraum float
find
(benötigt)
Es zeigt an, welche Abmessung des Containers gefunden werden soll string Verfügbare Werte:
'B' - bedeutet, dass der Algorithmus die Breite des Containers berechnet,
'H' - bedeutet, dass der Algorithmus die Höhe des Containers berechnet,
'T' - bedeutet, dass der Algorithmus die Tiefe des Containers berechnet
type
Nur mit dem images_version: 2 Parameter
Legt fest, ob das Bild in Form einer Schachtel oder einer Palette angezeigt wird translation missing: de.params_type_stringt

[items] - Array-Details des Produktes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w
(benötigt)
Produktbreite integer or float
h
(benötigt)
Produkthöhe integer or float
d
(benötigt)
Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
vr Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann integer Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann
q
(benötigt)
Die Anzahl der gleichen Produkte zu verpacken integer
acceptable_bins Definieren Sie, welche Verpackungsräume zum Verpacken von Produkten verwendet werden können. Wenn der Parameter nicht festgelegt ist, können alle Verpackungsräume verwendet werden. Die angegebenen Werte müssen Verpackungsraum-ID enthalten, die im Parameter 'bins' enthalten ist. array
item_colors_schema Definieren Sie, welche Art von Farbschema verwendet werden soll string Verfügbare Werte:
Standard - Farben, die in den folgenden Parametern eingestellt sind, werden verwendet 'images_item_border_color' und 'images_bin_fill_color',
'random' - x,
'item' - x
item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
item_border_color Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'

params - Optionale Parameter

Param-Name Beschreibung Datentyp Info
images_version Bildergeneratorversion integer Verfügbare Werte: [1 | 2]
images_width Max. Breite der generierten Bilder integer Verfügbare Werte: 1 - 250
images_height Max. Höhe der generierten Bilder integer Verfügbare Werte: 1 - 250
images_background_color Hintergrundfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_dashed_line_color
Nur mit dem images_version: 1 Parameter
Frontrahmenfarbe des Verpackungsraumes (gestrichelt) string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_fill_color Füllungsfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_border_color
Nur mit dem images_version: 1 Parameter
Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_fill_color Füllungsfarbe des letzten Produktes auf Bildern, die einen Verpackungsprozess Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des letzten Produktes auf Bildern, die die Verpackung Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_format Bilderformat string Verfügbare Werte: [ png , svg ]
images_sbs Generieren Sie die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, generiert werden
images_complete Generieren Sie die Bilder mit einem endgültigen Verpackungsergebnis integer Verfügbare Werte:
0 [Standard] - bedeutet, dass keine Bilder mit dem endgültigen Verpackungsergebnis generiert werden,
1 - bedeutet, dass die Bilder mit dem endgültigen Verpackungsergebnis erzeugt werden
images_separated Generieren Sie die Bilder, die die Platzierung jedes Produktes separat zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
item_coordinates Rückgabekoordinaten (x, y, z) für jedes Produkt integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Koordinaten der Platzierung jedes Produktes nicht zurückgegeben werden,
1 - bedeutet, dass die Koordinaten der Platzierung jedes Produktes zurückgegeben werden
stats Geben Sie die Statistiken eines Verpackungsprozesses (z. B. Bilderzeugungszeit) zurück integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Statistiken eines Verpackungsprozesses nicht zurückgegeben werden,
1 - bedeutet, dass die Statistiken eines Verpackungsprozesses zurückgegeben werden

Antwortparameter

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":[]
    }
}

Param-Name Beschreibung Datentyp Info
[bins_packed] Liste der verpackten Produkte array
errors Liste der möglichen Fehler, die in der Anfrage auftreten können array Beispiel: [{'level'}]; Mögliche zurückgegebene Fehler:'critical' - kritischer Fehler - Deaktivierung der Verpackung, 'warning' - Warnung vor falschen Daten in der Anfrage
status Antwortstatus integer Mögliche zurückgegebene Werte:
1 - Antwort hat keine kritischen Fehler enthalten,
0 - Antwort hat kritische Fehler enthalten. * kritischer Fehler - der Fehler, der die Verpackung deaktiviert. Es könnte durch das Fehlen eines der erforderlichen Parameter verursacht werden ('username','api_key') oder falschen Wert des Parameters (z. B. ein Feld, das eine Zahl enthalten sollte, enthält string).
[not_packed_items] Die Liste der Produkte, die nicht verpackt werden können, z. B. falsche Parameter, übermäßiges Gewicht oder Größe array

[bins_packed] - Die Liste der Verpackungsräume, die verpackt werden sollen

Param-Name Beschreibung Datentyp
bin_data Details des Verpackungsraums, der verpackt werden soll array
image_complete Bild des Verpackungsraums, der verpackt werden soll url
[items] Information über die Produkte, die im Verpackungsraum verpackt werden sollen array
[not_packed_items] Produkte, die nicht im Verpackungsraum verpackt werden können array

[bin_data] - Details des Verpackungsraumes, der verpackt werden soll

Param-Name Beschreibung Datentyp
id Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w Verpackungsraumbreite integer or float
h Verpackungsraumhöhe integer or float
d Tiefe/Länge vom Verpackungsraum integer or float
used_space Prozentanteil des genutzten Verpackungsraumes integer or float
weight Gewicht der Produkte zum Verpacken integer or float
gross_weight Gewicht der Produkte zum Verpacken + Gewicht der Verpackungsraumes integer or float
used_weight Prozentsatz des verwendeten zulässigen Gewichts integer or float
stack_height Die Höhe der gestapelten Produkte integer or float

[items] - Die Liste der Produkte zum Verpacken

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
image_separated Bild, das die Position jedes Produktes zeigt url
image_sbs Bilder, die den Verpackungsprozess Schritt für Schritt zeigen url
coordinates Koordinaten der Produkte im Verpackungsraum {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Die Liste der nicht verpackbaren Produkte

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
q Die Anzahl der gleichen Produkte zu verpacken integer
wg Das Produktgewicht integer or float

Finden der Schachtelgrösse

Nutzen Sie das Programm zum Finden der Schachtelgrösse um die Raumausnutzung zu maximieren und die richtige Schachtelgrösse für Ihre Verpackung zu berechnen.

URL

Anfragenparameter

Erforderliche Parameter

REQUEST

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

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

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

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

} }

#!/usr/bin/python

import httplib
import urllib
import json

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

package javaapplication1;

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

public class JavaApplication1 {

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

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

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

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

//SET PARAMETERS Map <String , String > params = new HashMap <String , String >(); params.put("images_background_color", "255,255,255") params.put("images_bin_border_color", "59,59,59") params.put("images_bin_fill_color", "230,230,230") params.put("images_item_border_color", "22,22,22") params.put("images_item_fill_color", "255,193,6") params.put("images_item_back_border_color", "22,22,22") params.put("images_sbs_last_item_fill_color", "177,14,14") params.put("images_sbs_last_item_border_color", "22,22,22") params.put("images_format", "svg") params.put("images_width", "50") params.put("images_height", "50") params.put("images_source", "file") params.put("item_coordinates", "1") params.put("images_complete", "1") params.put("images_sbs", "1") params.put("images_separated", "0") params.put("images_version", "2")

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

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

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

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

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

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

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

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

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

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

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

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

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

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

Param-Name Beschreibung Datentyp
username
(benötigt)
Benutzername. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
api_key
(benötigt)
API-Schlüssel. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
[bins]
(benötigt)
Array von Verpackungsraumparametern array
[items]
(benötigt)
Array von Produktparametern. Limit: Maximale Gesamtzahl der Produkte pro Anfrage = 4999 array
params Array von extra Anfrageparametern array

[bins] - Array-Details des Verpackungsraumes

Param-Name Beschreibung Datentyp
id
(benötigt)
Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w
(benötigt)
Packing space max. width
(benötigt)
float
h
(benötigt)
Packing space max. height float
d
(benötigt)
Packing space max. depth/length float
type
Nur mit dem images_version: 2 Parameter
Legt fest, ob das Bild in Form einer Schachtel oder einer Palette angezeigt wird translation missing: de.params_type_stringt

[items] - Array-Details des Produktes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w
(benötigt)
Produktbreite integer or float
h
(benötigt)
Produkthöhe integer or float
d
(benötigt)
Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
vr Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann integer Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann
q
(benötigt)
Die Anzahl der gleichen Produkte zu verpacken integer
item_colors_schema Definieren Sie, welche Art von Farbschema verwendet werden soll string
item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
item_border_color Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'

params - Optionale Parameter

Param-Name Beschreibung Datentyp Info
images_version Bildergeneratorversion integer Verfügbare Werte: [1 | 2]
images_width Max. Breite der generierten Bilder integer Verfügbare Werte: 1 - 250
images_height Max. Höhe der generierten Bilder integer Verfügbare Werte: 1 - 250
images_background_color Hintergrundfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_dashed_line_color
Nur mit dem images_version: 1 Parameter
Frontrahmenfarbe des Verpackungsraumes (gestrichelt) string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_fill_color Füllungsfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_border_color
Nur mit dem images_version: 1 Parameter
Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_fill_color Füllungsfarbe des letzten Produktes auf Bildern, die einen Verpackungsprozess Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des letzten Produktes auf Bildern, die die Verpackung Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_format Bilderformat string Verfügbare Werte: [ png , svg ]
images_sbs Generieren Sie die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, generiert werden
images_complete Generieren Sie die Bilder mit einem endgültigen Verpackungsergebnis integer Verfügbare Werte:
0 [Standard] - bedeutet, dass keine Bilder mit dem endgültigen Verpackungsergebnis generiert werden,
1 - bedeutet, dass die Bilder mit dem endgültigen Verpackungsergebnis erzeugt werden
images_separated Generieren Sie die Bilder, die die Platzierung jedes Produktes separat zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
item_coordinates Rückgabekoordinaten (x, y, z) für jedes Produkt integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Koordinaten der Platzierung jedes Produktes nicht zurückgegeben werden,
1 - bedeutet, dass die Koordinaten der Platzierung jedes Produktes zurückgegeben werden
stats Geben Sie die Statistiken eines Verpackungsprozesses (z. B. Bilderzeugungszeit) zurück integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Statistiken eines Verpackungsprozesses nicht zurückgegeben werden,
1 - bedeutet, dass die Statistiken eines Verpackungsprozesses zurückgegeben werden

Antwortparameter

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":[]
    }
}

Param-Name Beschreibung Datentyp Info
[bins_packed] Liste der verpackten Produkte array
errors Liste der möglichen Fehler, die in der Anfrage auftreten können array Beispiel: [{'level'}]; Mögliche zurückgegebene Fehler:'critical' - kritischer Fehler - Deaktivierung der Verpackung, 'warning' - Warnung vor falschen Daten in der Anfrage
status Antwortstatus integer Mögliche zurückgegebene Werte:
1 - Antwort hat keine kritischen Fehler enthalten,
0 - Antwort hat kritische Fehler enthalten. * kritischer Fehler - der Fehler, der die Verpackung deaktiviert. Es könnte durch das Fehlen eines der erforderlichen Parameter verursacht werden ('username','api_key') oder falschen Wert des Parameters (z. B. ein Feld, das eine Zahl enthalten sollte, enthält string).
[not_packed_items] Die Liste der Produkte, die nicht verpackt werden können, z. B. falsche Parameter, übermäßiges Gewicht oder Größe array

[bins_packed] - Die Liste der Verpackungsräume, die verpackt werden sollen

Param-Name Beschreibung Datentyp
bin_data Details des Verpackungsraums, der verpackt werden soll array
image_complete Bild des Verpackungsraums, der verpackt werden soll url
[items] Information über die Produkte, die im Verpackungsraum verpackt werden sollen array
[not_packed_items] Produkte, die nicht im Verpackungsraum verpackt werden können array

[bin_data] - Details des Verpackungsraumes, der verpackt werden soll

Param-Name Beschreibung Datentyp
id Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w Verpackungsraumbreite integer or float
h Verpackungsraumhöhe integer or float
d Tiefe/Länge vom Verpackungsraum integer or float
used_space Prozentanteil des genutzten Verpackungsraumes integer or float
weight Gewicht der Produkte zum Verpacken integer or float
gross_weight Gewicht der Produkte zum Verpacken + Gewicht der Verpackungsraumes integer or float
used_weight Prozentsatz des verwendeten zulässigen Gewichts integer or float
stack_height Die Höhe der gestapelten Produkte integer or float

[items] - Die Liste der Produkte zum Verpacken

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
image_separated Bild, das die Position jedes Produktes zeigt url
image_sbs Bilder, die den Verpackungsprozess Schritt für Schritt zeigen url
coordinates Koordinaten der Produkte im Verpackungsraum {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Die Liste der nicht verpackbaren Produkte

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
q Die Anzahl der gleichen Produkte zu verpacken integer
wg Das Produktgewicht integer or float

Ausprobieren der Schachtelgrössen

Nutzen Sie das Programm zum Ausprobieren der Schachtelgrössen, um die Verpackungsprodukte in unterschiedlich großen Schachteln oder Verpackungsräumen zu vergleichen.

URL

Anfragenparameter

Erforderliche Parameter

REQUEST

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

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

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

} }

#!/usr/bin/python

import httplib
import urllib
import json

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

package javaapplication1;

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

public class JavaApplication1 {

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

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

Map<String, String> bin1 = new HashMap<String, String>(); bin1.put("id", "Pack M"); bin1.put("h", "4"); bin1.put("w", "4"); bin1.put("d", "4"); bin1.put("wg", ""); bin1.put("max_wg", ""); bin1.put("type", "pallet"); bins.add(bin1); Map<String, String> bin2 = new HashMap<String, String>(); bin2.put("id", "Pack S"); bin2.put("h", "3"); bin2.put("w", "3"); bin2.put("d", "6"); bin2.put("wg", ""); bin2.put("max_wg", ""); bin2.put("type", "pallet"); bins.add(bin2);

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

//SET PARAMETERS Map <String , String > params = new HashMap <String , String >(); params.put("images_background_color", "255,255,255") params.put("images_bin_border_color", "59,59,59") params.put("images_bin_fill_color", "230,230,230") params.put("images_item_border_color", "22,22,22") params.put("images_item_fill_color", "255,193,6") params.put("images_item_back_border_color", "22,22,22") params.put("images_sbs_last_item_fill_color", "177,14,14") params.put("images_sbs_last_item_border_color", "22,22,22") params.put("images_format", "svg") params.put("images_width", "50") params.put("images_height", "50") params.put("images_source", "file") params.put("stats", "0") params.put("item_coordinates", "1") params.put("images_complete", "1") params.put("images_sbs", "1") params.put("images_separated", "0") params.put("images_version", "2")

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

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

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

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

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

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

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

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

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

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

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

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

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

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

Param-Name Beschreibung Datentyp
username
(benötigt)
Benutzername. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
api_key
(benötigt)
API-Schlüssel. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
[bins]
(benötigt)
Array von Verpackungsraumparametern array
[items]
(benötigt)
Array von Produktparametern. Limit: Maximale Gesamtzahl der Produkte pro Anfrage = 4999 array
params Array von extra Anfrageparametern of extra request parameters array

[bins] - Array-Details des Verpackungsraumes

Param-Name Beschreibung Datentyp
id
(benötigt)
Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w
(benötigt)
Verpackungsraumbreite integer or float
h
(benötigt)
Verpackungsraumhöhe integer or float
d
(benötigt)
Tiefe/Länge vom Verpackungsraum integer or float
wg Verpackungsraumgewicht integer or float
max_wg Das maximale Gewicht, das dieser Verpackungsraum halten kann. Der auf '0' (Null) eingestellte Wert bedeutet, dass es keine Gewichtsbegrenzung gibt integer or float
type
Nur mit dem images_version: 2 Parameter
Legt fest, ob das Bild in Form einer Schachtel oder einer Palette angezeigt wird translation missing: de.params_type_stringt

[items] - Array-Details des Produktes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w
(benötigt)
Produktbreite integer or float
h
(benötigt)
Produkthöhe integer or float
d
(benötigt)
Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
vr Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann integer
q
(benötigt)
Die Anzahl der gleichen Produkte zu verpacken integer
item_colors_schema Definieren Sie, welche Art von Farbschema verwendet werden soll string Verfügbare Werte:
Standard - Farben, die in den folgenden Parametern eingestellt sind, werden verwendet 'images_item_border_color' und 'images_bin_fill_color',
'random' - x,
'item' - x
item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
item_border_color Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'

params - Optionale Parameter

Param-Name Beschreibung Datentyp Info
images_version Bildergeneratorversion integer Verfügbare Werte: [1 | 2]
images_width Max. Breite der generierten Bilder integer Verfügbare Werte: 1 - 250
images_height Max. Höhe der generierten Bilder integer Verfügbare Werte: 1 - 250
images_background_color Hintergrundfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_dashed_line_color
Nur mit dem images_version: 1 Parameter
Frontrahmenfarbe des Verpackungsraumes (gestrichelt) string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_fill_color Füllungsfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_border_color
Nur mit dem images_version: 1 Parameter
Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_fill_color Füllungsfarbe des letzten Produktes auf Bildern, die einen Verpackungsprozess Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des letzten Produktes auf Bildern, die die Verpackung Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_format Bilderformat string Verfügbare Werte: [ png , svg ]
images_sbs Generieren Sie die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, generiert werden
images_complete Generieren Sie die Bilder mit einem endgültigen Verpackungsergebnis integer Verfügbare Werte:
0 [Standard] - bedeutet, dass keine Bilder mit dem endgültigen Verpackungsergebnis generiert werden,
1 - bedeutet, dass die Bilder mit dem endgültigen Verpackungsergebnis erzeugt werden
images_separated Generieren Sie die Bilder, die die Platzierung jedes Produktes separat zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
item_coordinates Rückgabekoordinaten (x, y, z) für jedes Produkt integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Koordinaten der Platzierung jedes Produktes nicht zurückgegeben werden,
1 - bedeutet, dass die Koordinaten der Platzierung jedes Produktes zurückgegeben werden
stats Geben Sie die Statistiken eines Verpackungsprozesses (z. B. Bilderzeugungszeit) zurück integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Statistiken eines Verpackungsprozesses nicht zurückgegeben werden,
1 - bedeutet, dass die Statistiken eines Verpackungsprozesses zurückgegeben werden

Antwortparameter

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":[]
    }
}

Param-Name Beschreibung Datentyp Info
[bins_packed] Liste der verpackten Produkte array
errors Liste der möglichen Fehler, die in der Anfrage auftreten können array Beispiel: [{'level'}]; Mögliche zurückgegebene Fehler:'critical' - kritischer Fehler - Deaktivierung der Verpackung, 'warning' - Warnung vor falschen Daten in der Anfrage
status Antwortstatus integer Mögliche zurückgegebene Werte:
1 - Antwort hat keine kritischen Fehler enthalten,
0 - Antwort hat kritische Fehler enthalten. * kritischer Fehler - der Fehler, der die Verpackung deaktiviert. Es könnte durch das Fehlen eines der erforderlichen Parameter verursacht werden ('username','api_key') oder falschen Wert des Parameters (z. B. ein Feld, das eine Zahl enthalten sollte, enthält string).
[not_packed_items] Die Liste der Produkte, die nicht verpackt werden können, z. B. falsche Parameter, übermäßiges Gewicht oder Größe array

[bins_packed] - Die Liste der Verpackungsräume, die verpackt werden sollen

Param-Name Beschreibung Datentyp
bin_data Details des Verpackungsraums, der verpackt werden soll array
image_complete Bild des Verpackungsraums, der verpackt werden soll url
[items] Information über die Produkte, die im Verpackungsraum verpackt werden sollen array
[not_packed_items] Produkte, die nicht im Verpackungsraum verpackt werden können array

[bin_data] - Details des Verpackungsraumes, der verpackt werden soll

Param-Name Beschreibung Datentyp
id Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w Verpackungsraumbreite integer or float
h Verpackungsraumhöhe integer or float
d Tiefe/Länge vom Verpackungsraum integer or float
used_space Prozentanteil des genutzten Verpackungsraumes integer or float
weight Gewicht der Produkte zum Verpacken integer or float
gross_weight Gewicht der Produkte zum Verpacken + Gewicht der Verpackungsraumes integer or float
used_weight Prozentsatz des verwendeten zulässigen Gewichts integer or float
stack_height Die Höhe der gestapelten Produkte integer or float

[items] - Die Liste der Produkte zum Verpacken

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
image_separated Bild, das die Position jedes Produktes zeigt url
image_sbs Bilder, die den Verpackungsprozess Schritt für Schritt zeigen url
coordinates Koordinaten der Produkte im Verpackungsraum {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Die Liste der nicht verpackbaren Produkte

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
q Die Anzahl der gleichen Produkte zu verpacken integer
wg Das Produktgewicht integer or float

Überprüfen des maximalen Gewichts

Nutzen Sie das Programm zum Überprüfen des maximalen Gewichts, um genau zu überprüfen, wie viele Produkte eine Schachtel oder einen Verpackungsraum bis zur Kapazität füllen.

URL

Anfragenparameter

Erforderliche Parameter

REQUEST

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

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

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

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

} }

#!/usr/bin/python

import httplib
import urllib
import json

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

package javaapplication1;

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

public class JavaApplication1 {

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

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

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

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

//SET PARAMETERS Map <String , String > params = new HashMap <String , String >(); params.put("images_background_color", "255,255,255") params.put("images_bin_border_color", "59,59,59") params.put("images_bin_fill_color", "230,230,230") params.put("images_item_border_color", "22,22,22") params.put("images_item_fill_color", "255,193,6") params.put("images_item_back_border_color", "22,22,22") params.put("images_sbs_last_item_fill_color", "177,14,14") params.put("images_sbs_last_item_border_color", "22,22,22") params.put("images_format", "svg") params.put("images_width", "50") params.put("images_height", "50") params.put("images_source", "file") params.put("stats", "0") params.put("item_coordinates", "1") params.put("images_complete", "1") params.put("images_sbs", "1") params.put("images_separated", "0") params.put("images_version", "2")

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

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

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

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

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

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

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

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

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

string json_str = JsonConvert.SerializeObject(request_data);

string queryParam = "query="+json_str;

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

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

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

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

Param-Name Beschreibung Datentyp
username
(benötigt)
Benutzername. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
api_key
(benötigt)
API-Schlüssel. Sie finden den API-Schlüssel im Abschnitt '/Profileinstellungen/API-Zugang' nach der Anmeldung auf https://www.3dbinpacking.com/en/customer/api-data string
[bins]
(benötigt)
Array von Verpackungsraumparametern array
[items]
(benötigt)
Array von Produktparametern. Limit: Maximale Gesamtzahl der Produkte pro Anfrage = 4999 array
params Array von extra Anfrageparametern array

[bins] - Array-Details des Verpackungsraumes

Param-Name Beschreibung Datentyp
id
(benötigt)
Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w
(benötigt)
Verpackungsraumbreite float
h
(benötigt)
Verpackungsraumhöhe float
d
(benötigt)
Tiefe/Länge vom Verpackungsraum float
wg Verpackungsraumgewicht integer or float
max_wg Das maximale Gewicht, das dieser Verpackungsraum halten kann. Der auf '0' (Null) eingestellte Wert bedeutet, dass es keine Gewichtsbegrenzung gibt integer or float
type
Nur mit dem images_version: 2 Parameter
Legt fest, ob das Bild in Form einer Schachtel oder einer Palette angezeigt wird translation missing: de.params_type_stringt

[items] - Array-Details des Produktes

Param-Name Beschreibung Datentyp Info
id
(benötigt)
Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w
(benötigt)
Produktbreite integer or float
h
(benötigt)
Produkthöhe integer or float
d
(benötigt)
Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
vr Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann integer Vertikale Rotation. Die Information, ob das Produkt vertikal gedreht werden kann
item_colors_schema Definieren Sie, welche Art von Farbschema verwendet werden soll string
item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
item_border_color Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'

params - Optionale Parameter

Param-Name Beschreibung Datentyp Info
images_version Bildergeneratorversion integer Verfügbare Werte: [1 | 2]
images_width Max. Breite der generierten Bilder integer Verfügbare Werte: 1 - 250
images_height Max. Höhe der generierten Bilder integer Verfügbare Werte: 1 - 250
images_background_color Hintergrundfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_dashed_line_color
Nur mit dem images_version: 1 Parameter
Frontrahmenfarbe des Verpackungsraumes (gestrichelt) string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_bin_fill_color Füllungsfarbe des Verpackungsraumes string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_fill_color Produktfüllungsfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_item_border_color
Nur mit dem images_version: 1 Parameter
Produktrahmenfarbe string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_fill_color Füllungsfarbe des letzten Produktes auf Bildern, die einen Verpackungsprozess Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_sbs_last_item_border_color
Nur mit dem images_version: 1 Parameter
Rahmenfarbe des letzten Produktes auf Bildern, die die Verpackung Schritt für Schritt zeigen string Verfügbare Werte: RGB-Werte der Farben mit Comas getrennt "rot,grün,blau", zulässige Werte 0-255; Beispiel: '255,120,10'
images_format Bilderformat string Verfügbare Werte: [ png , svg ]
images_sbs Generieren Sie die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die einen Verpackungsprozess 'Schritt für Schritt' zeigen, generiert werden
images_complete Generieren Sie die Bilder mit einem endgültigen Verpackungsergebnis integer Verfügbare Werte:
0 [Standard] - bedeutet, dass keine Bilder mit dem endgültigen Verpackungsergebnis generiert werden,
1 - bedeutet, dass die Bilder mit dem endgültigen Verpackungsergebnis erzeugt werden
images_separated Generieren Sie die Bilder, die die Platzierung jedes Produktes separat zeigen integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
item_coordinates Rückgabekoordinaten (x, y, z) für jedes Produkt integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, nicht generiert werden,
1 - bedeutet, dass die Bilder, die die Platzierung jedes Produktes separat zeigen, generiert werden
stats Geben Sie die Statistiken eines Verpackungsprozesses (z. B. Bilderzeugungszeit) zurück integer Verfügbare Werte:
0 [Standard] - bedeutet, dass die Statistiken eines Verpackungsprozesses nicht zurückgegeben werden,
1 - bedeutet, dass die Statistiken eines Verpackungsprozesses zurückgegeben werden

Antwortparameter

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":[]
    }
}

Param-Name Beschreibung Datentyp Info
[bins_packed] Liste der verpackten Produkte array
errors Liste der möglichen Fehler, die in der Anfrage auftreten können array Beispiel: [{'level'}]; Mögliche zurückgegebene Fehler:'critical' - kritischer Fehler - Deaktivierung der Verpackung, 'warning' - Warnung vor falschen Daten in der Anfrage
status Antwortstatus integer Mögliche zurückgegebene Werte:
1 - Antwort hat keine kritischen Fehler enthalten,
0 - Antwort hat kritische Fehler enthalten. * kritischer Fehler - der Fehler, der die Verpackung deaktiviert. Es könnte durch das Fehlen eines der erforderlichen Parameter verursacht werden ('username','api_key') oder falschen Wert des Parameters (z. B. ein Feld, das eine Zahl enthalten sollte, enthält string).
[not_packed_items] Die Liste der Produkte, die nicht verpackt werden können, z. B. falsche Parameter, übermäßiges Gewicht oder Größe array

[bins_packed] - Die Liste der Verpackungsräume, die verpackt werden sollen

Param-Name Beschreibung Datentyp
bin_data Details des Verpackungsraums, der verpackt werden soll array
image_complete Bild des Verpackungsraums, der verpackt werden soll url
[items] Information über die Produkte, die im Verpackungsraum verpackt werden sollen array

[bin_data] - Details des Verpackungsraumes, der verpackt werden soll

Param-Name Beschreibung Datentyp
id Verpackungsraum-ID. Die Nummer oder der Code, mit dem Sie den Verpackungsraum identifizieren. string
w Verpackungsraumbreite integer or float
h Verpackungsraumhöhe integer or float
d Tiefe/Länge vom Verpackungsraum integer or float
used_space Prozentanteil des genutzten Verpackungsraumes integer or float
weight Gewicht der Produkte zum Verpacken integer or float
gross_weight Gewicht der Produkte zum Verpacken + Gewicht der Verpackungsraumes integer or float
used_weight Prozentsatz des verwendeten zulässigen Gewichts integer or float
stack_height Die Höhe der gestapelten Produkte integer or float

[items] - Die Liste der Produkte zum Verpacken

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
wg Das Produktgewicht integer or float
image_separated Bild, das die Position jedes Produktes zeigt url
image_sbs Bilder, die den Verpackungsprozess Schritt für Schritt zeigen url
coordinates Koordinaten der Produkte im Verpackungsraum {"x1":0,"y1":0,"z1":0,"x2":5,"y2":3,"z2":2}

[not_packed_items] - Die Liste der nicht verpackbaren Produkte

Param-Name Beschreibung Datentyp
id Produkt-ID/SKU. Die Nummer oder der Code, den Sie verwenden, um zu identifizieren, was verpackt wird. string
w Produktbreite integer or float
h Produkthöhe integer or float
d Die Tiefe oder Länge des Produkts integer or float
q Die Anzahl der gleichen Produkte zu verpacken integer
wg Das Produktgewicht integer or float

Grafik

Im Folgenden finden Sie die Unterschiede zwischen den Bildern und eine Beschreibung einiger Anfrageparameter.

Unterschiede zwischen Version 1 und 2 des Bildgenerators.

Der Hauptunterschied zwischen den Bildern ist die Art und Weise, wie die Ergebnisse dargestellt werden. In der ersten Version wird die Ansicht dimetrisch dargestellt. Die zweite Version wird isometrisch dargestellt.
Andere Unterschiede sind:

Bilder je nach Art des Verpackungsraums

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

In der 2. Version der Bilder (images_version: "2") können wir die Bilder generieren, die die Art des von uns definierten Verpackungsraums zeigen.
Es gibt 2 Möglichkeiten: [‘box’ | 'pallet’]. Der Standardwert ist box. In diesem Fall zeigt das Bild einen Querschnitt des Verpackungsraums zusammen mit verpackten Produkten.
Wenn der Parameter auf pallet gesetzt ist, wird die Palette zusammen mit den darauf gestapelten Produkten generiert.
Es gibt ein Beispiel unten, das den Unterschied zwischen den Bildern zeigt.

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

Völlig verpackter Verpackungsraum

Bilder, die das endgültige Verpackungsergebnis zeigen

Complete
Complete

Schritt für Schritt Verpackungsanweisung

Diese Grafik zeigt den Verpackungsprozess Schritt für Schritt. In jedem nachfolgenden Bild werden die zuvor verpackten Produkte mit einer anderen Farbe als das aktuell verpackte Produkt gekennzeichnet.
Unten werden die beiden Versionen der Bilder dargestellt.

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

Produkte individuell dargestellt

In diesem Fall zeigt das Bild einzelnes Produkt ohne die zuvor verpackten Produkte.
Gestrichelte Linien, die die Position eines Produktes in Bezug auf den Boden darstellen, werden verwendet, um die Position des Produktes im Verpackungsraum zu identifizieren.

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

Skalierung der SVG-Bilder

Dank der Verwendung von Grafiken im SVG-Format ist es möglich, sie frei zu skalieren, ohne an Qualität zu verlieren.
Unten ist ein Beispiel für das Anzeigen des gleichen Bildes mit verschiedenen Größen dargestellt.
Das erste hat minimale Werte der Abmessungen auf 200x200px maximale auf 400x400px gesetzt.
Das zweite hat minimale Werte der Abmessungen auf 300x300px maximale auf 400x400px gesetzt.

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

Bilderformat

Es ist möglich, Bilder im SVG- oder PNG-Format zu generieren.
Dank des SVG-Formats kann der Benutzer die Bilder frei skalieren, ohne ihre Qualität zu verlieren.

Errors

HTTP

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

API

List of pssible API errors

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