# `order.ship` Create a shipment for an order's shippable lines (a cargo extension or a manual carrier) — writes the VUK 509 forward fields. - **scope**: `orders:write` - **storefront-visible** (bumps the catalog generation): no - **destructive**: no ## Payload | field | type | required | notes | |---|---|---|---| | `orderId` | string (/^ord_[a-zA-Z0-9]{1,32}$/) | yes | | | `shipmentId` | string (/^shp_[a-zA-Z0-9]{1,32}$/) | yes | | | `extensionId` | const "manual" \| string (/^[a-z0-9-]+\.[a-z0-9-]+$/) | yes | | | `carrierCode` | string (/^[A-Z0-9_]{2,32}$/) | no | | | `carrierName` | string (≤60 chars) | yes | | | `carrierVkn` | string (/^\d{10}$/) | no | | | `serviceCode` | string (≤32 chars) | no | | | `providerShipmentId` | string (≤80 chars) | no | | | `providerOfferId` | string (≤80 chars) | no | | | `trackingNumber` | string (≤64 chars) | no | | | `trackingUrl` | string (≤300 chars) | no | | | `labelUrl` | string (≤600 chars) | no | | | `labelFormat` | "PDF" \| "JPG" \| "ZPL" \| "ZPLII" | no | | | `parcel` | object | yes | | | ` weightGr` | integer (1..100000) | yes | | | ` lengthCm` | integer (1..200) | yes | | | ` widthCm` | integer (1..200) | yes | | | ` heightCm` | integer (1..200) | yes | | | `recipient` | object | yes | | | ` name` | string (≤120 chars) | yes | | | ` il` | string (≤40 chars) | yes | | | ` il_plaka` | string (/^\d{2}$/) | yes | | | ` ilce` | string (≤60 chars) | yes | | | ` address` | string (≤500 chars) | yes | | | `priceKurus` | integer (0..10000000000000) | no | | | `codAmountKurus` | integer (0..10000000000000) | no | | | `test` | boolean | yes | | | `lines` | array (≤50) | yes | | ### JSON Schema ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "orderId": { "type": "string", "pattern": "^ord_[a-zA-Z0-9]{1,32}$" }, "shipmentId": { "type": "string", "pattern": "^shp_[a-zA-Z0-9]{1,32}$" }, "extensionId": { "anyOf": [ { "type": "string", "const": "manual" }, { "type": "string", "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$" } ] }, "carrierCode": { "type": "string", "pattern": "^[A-Z0-9_]{2,32}$" }, "carrierName": { "type": "string", "minLength": 1, "maxLength": 60 }, "carrierVkn": { "type": "string", "pattern": "^\\d{10}$" }, "serviceCode": { "type": "string", "minLength": 1, "maxLength": 32 }, "providerShipmentId": { "type": "string", "minLength": 1, "maxLength": 80 }, "providerOfferId": { "type": "string", "minLength": 1, "maxLength": 80 }, "trackingNumber": { "type": "string", "minLength": 1, "maxLength": 64 }, "trackingUrl": { "type": "string", "minLength": 1, "maxLength": 300 }, "labelUrl": { "type": "string", "minLength": 1, "maxLength": 600 }, "labelFormat": { "type": "string", "enum": [ "PDF", "JPG", "ZPL", "ZPLII" ] }, "parcel": { "type": "object", "properties": { "weightGr": { "type": "integer", "minimum": 1, "maximum": 100000 }, "lengthCm": { "type": "integer", "minimum": 1, "maximum": 200 }, "widthCm": { "type": "integer", "minimum": 1, "maximum": 200 }, "heightCm": { "type": "integer", "minimum": 1, "maximum": 200 } }, "required": [ "weightGr", "lengthCm", "widthCm", "heightCm" ], "additionalProperties": false }, "recipient": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 120 }, "il": { "type": "string", "minLength": 1, "maxLength": 40 }, "il_plaka": { "type": "string", "pattern": "^\\d{2}$" }, "ilce": { "type": "string", "minLength": 1, "maxLength": 60 }, "address": { "type": "string", "minLength": 1, "maxLength": 500 } }, "required": [ "name", "il", "il_plaka", "ilce", "address" ], "additionalProperties": {} }, "priceKurus": { "type": "integer", "minimum": 0, "maximum": 10000000000000 }, "codAmountKurus": { "type": "integer", "minimum": 0, "maximum": 10000000000000 }, "test": { "type": "boolean" }, "lines": { "minItems": 1, "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^shl_[a-zA-Z0-9]{1,32}$" }, "orderLineId": { "type": "string", "pattern": "^oln_[a-zA-Z0-9]{1,32}$" }, "qty": { "type": "integer", "minimum": 1, "maximum": 99 } }, "required": [ "id", "orderLineId", "qty" ], "additionalProperties": false } } }, "required": [ "orderId", "shipmentId", "extensionId", "carrierName", "parcel", "recipient", "test", "lines" ], "additionalProperties": false } ```