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:
- global-api.3dbinpacking.com - Globale Adresse / balance loader
- us-east.api.3dbinpacking.com - USA (Virginia)
- eu.api.3dbinpacking.com - Europa (Irland)
- asia1.api.3dbinpacking.com - Asien-Pazifik-Raum (Singapur)
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
- https://global-api.3dbinpacking.com/packer/packIntoMany
- https://us-east.api.3dbinpacking.com/packer/packIntoMany
- https://eu.api.3dbinpacking.com/packer/packIntoMany
- https://asia1.api.3dbinpacking.com/packer/packIntoMany
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
- https://global-api.3dbinpacking.com/packer/palletPack
- https://us-east.api.3dbinpacking.com/packer/palletPack
- https://eu.api.3dbinpacking.com/packer/palletPack
- https://asia1.api.3dbinpacking.com/packer/palletPack
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
- https://global-api.3dbinpacking.com/packer/findSmallestBin
- https://us-east.api.3dbinpacking.com/packer/findSmallestBin
- https://eu.api.3dbinpacking.com/packer/findSmallestBin
- https://asia1.api.3dbinpacking.com/packer/findSmallestBin
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
- https://global-api.3dbinpacking.com/packer/findBinSize
- https://us-east.api.3dbinpacking.com/packer/findBinSize
- https://eu.api.3dbinpacking.com/packer/findBinSize
- https://asia1.api.3dbinpacking.com/packer/findBinSize
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
- https://global-api.3dbinpacking.com/packer/pack
- https://us-east.api.3dbinpacking.com/packer/pack
- https://eu.api.3dbinpacking.com/packer/pack
- https://asia1.api.3dbinpacking.com/packer/pack
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
- https://global-api.3dbinpacking.com/packer/fillContainer
- https://us-east.api.3dbinpacking.com/packer/fillContainer
- https://eu.api.3dbinpacking.com/packer/fillContainer
- https://asia1.api.3dbinpacking.com/packer/fillContainer
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:
- in der 2. Version werden Farben für einzelne Seiten und Kanten des vorgestellten Objekts und Raum automatisch ausgewählt. Daher ist es nicht erforderlich, diese Parameter in der Anfrage anzugeben
- die zweite Version hat eine Grafik des Bandes, das die Oberseite des Produktes versiegelt. Das hilft die Orientierung des Produktes im Verpackungsraum bestimmen.
- in der 2. Version wurde der SVG-Bildergenerator verbessert
- in der 2. Version ist es möglich, die Grafiken einer Palette zu generieren. Wie diese Funktion zu verwenden ist, wird in einem der folgenden Parameter beschrieben.
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.
type: "pallet"
type: "box"
Völlig verpackter Verpackungsraum
Bilder, die das endgültige Verpackungsergebnis zeigen
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 1
Step 2
Step 3
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 2
Separated 3
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.
Min: 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;">
Min: 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 |