Create Barcode – createBarcode()
Barcode Creation
createBarcode()
method, available on the Horoz Logistics Domestic Distribution Integration, is a web service integration method that approves a shipping order that has been previously created successfully in the Horoz Logistics system by means of the createShipping()
method, and creates a goods acceptance entry (ATF - Warehouse Entry Slip) and returns barcode label information to the client as based on the goods acceptance entry.
During the Horoz Logistics domestic distribution operations, the shipping order approval and goods acceptance process is carried out step by step by the operation officers, and such processes may be bypassed within a shipping order entry that has been successfully created by making use of the createBarcode()
method. Important information about the createBarcode()
method and the points to be considered when creating a goods acceptance entry (ATF entry) for a shipping order that has been sent previously to the Horoz system by means of the createShipping()
method and obtaining barcode label information are listed below for the information of the clients.
-
createBarcode()
method is aRESTful
web service method that receives data inJSON
format via thePOST
method. -
By making use of the
createBarcode()
method, the client retrieves the barcode label information for an order, for which a shipping order has been sent previously via the Horoz Logistics Domestic Distribution Integration Web, through thecreateBarcode()
method. By means of such information, the client can print its own barcode or the barcode used in Horoz Logistics domestic distribution operations. -
As part of the Horoz Logistics domestic distribution operations, Horoz Logistics barcode labels can be printed in two ways. Firstly; the client can print barcodes by using the barcode printing module developed in its own ERP, by making use of the barcode information, it has received from the Horoz Logistics Domestic Distribution Integration Web Service by means of the
createBarcode()
method, and by entering the details, it has received, to the necessary fields in the barcode design as based on the barcode design as agreed upon by both parties. Secondly, a barcode can be printed by the Horoz personnel at the respective branch for the shipping order which has been forwarded previously to the Horoz Logistics system by making use of thecreateShipping()
method upon the performance of the installation at the branch of the company following the integration of such company by Horoz Logistics. In the event that the company wishes to print its own barcode, then the barcode label design used during Horoz Logistics domestic distribution operations will be shared with the client, and the common barcode will be prepared by the client upon mutual agreement so that the areas determined by both parties will be formed on the barcode. -
When the
createBarcode()
method is called by the client, in addition to the barcode information, it also returns to the client two barcode designs, 10x10 and 4x10, which are currently used in Horoz Logistics' domestic distribution operations and have operational routine, in zpl data format. If the client wishes to do so, it can obtain barcode labels for such designs by parsing the ZPL data in its own ERP. -
By calling the
createBarcode()
method, the barcode label acquisition process as requested by the client must be done by making calls as many times as the number of pieces reported to the system via the integration (as many as the number of physical boxes to be transported). During such operation, the quantity of and/or the details about the products in the boxes to be carried within the delivery are not important. -
createBarcode()
method should be called for the products that have been invoiced by the client-merchant side and will be given to Horoz Logistics for transportation from the orders that have been sent previously to the Horoz Logistics system by means of thecreateShipping()
method via the Horoz Logistics Domestic Distribution Integration Webservice.createBarcode()
method should not be called for the products that have not been finalized to be delivered to Horoz Logistics. -
After the
createBarcode()
method is called by the client for a shipping order that has been created previously by means of thecreateShipping()
method in the Horoz Logistics system, the barcode label entry created as based on the goods acceptance entry (ATF entry) created in the Horoz Logistics system is always returned to the client as a single line for the 1st piece on delivery basis, regardless of how many boxes/pallets/products etc. (products to be physically transported) are included in the delivery. -
When sending a barcode label to the Horoz Logistics system by means of the
createBarcode()
method, the number of the pieces is written in thequantity
field available in the request. As based on such information sent, the number of barcode labels per piece can be obtained from the response content of thecreateBarcode()
method. -
One of the most important information about the use of the
createBarcode()
method is that thecreateBarcode()
method does not need to be called as many times as the number of pieces of the products to be transported physically in the shipping order that has been sent previously by means of thecreateShipping()
method. When barcode label acquisition is performed by calling thecreateBarcode()
method; since theshipmentCount
(total quantity) andtotalDesi
(total desi) details about the products pertaining to the shipping order is already known by the client which has sent the shipping order by means of thecreateShipping()
method, it will be sufficient to call thecreateBarcode()
method only once for the first piece. For the barcode label, received by the client for the first piece with thecreateBarcode()
method, the client can create barcode labels for all pieces in its own ERP system by simply increasing the piece count details in the received barcode label information by 1, as much as theshipmentCount
(total quantity) information it knows on its own side.
For Example;
Let's say that the total quantity details about a shipping order entry that has been sent previously to the Horoz Logistics system with the createShipping()
method is shipmentCount
: 6. If and when it is wished to print barcode labels for such shipping order by means of the createBarcode() method; the createBarcode()
method is called once and the method returns the barcode label information for only the first piece to the client. Then, the next barcodes can be obtained by multiplexing the details returned in the first barcode information, the shipmentCount
: details available on the client side, in up to 6 client ERP systems.
Example Barcode Number: 824490000100001358 (ATFNr + PartNr + ReceivingBranchCode)
- ATFNr: 82449000010
- PartNr: 0001
- ReceivingBranchCode: 358
Barcodes Reproduced for a 6-Part Barcode Print Process:
- part: 824490000100001358 : (Obtained by calling
createBarcode()
) - part: 824490000100002358 : (82449000010|0001 +1|358)
- part: 824490000100003358 : (82449000010|0002 +1|358)
- part: 824490000100004358 : (82449000010|0003 +1|358)
- part: 824490000100005358 : (82449000010|0004 +1|358)
- part: 824490000100006358 : (82449000010|0005 +1|358)
-
If the total quantity details are not known by the client during the barcode label acquisition process by means of the
createBarcode()
method, then it is sufficient to call thecreateBarcode()
method only twice for the first and last piece. Thus, other barcodes between the first barcode and the last barcode can be derived from such two barcode label details and printed in the client's ERP system. -
createBarcode()
method also allows the total quantity information to be updated for a delivery, the shipping order data of which has been sent previously to the Horoz Logistics system by means of thecreateShipping()
method, theshipmentCount
details of which have been sent incorrectly. For such purpose, when the barcode label is obtained by the client by means of thecreateBarcode()
method; if thepartNumber
information in the request is entered as 0 and, the new/current/correct quantity information is written in thequantity
information, the total quantity information of the relevant delivery can be updated by the client. In thecreateBarcode()
calls made following the update process, thequantity
information returned to the client will be the current total quantity information. -
The barcode type of the barcode labels obtained by means of the
createBarcode()
method isCode128
, and the character set isCharsetC
. -
The use of the
createBarcode()
method by the client bypasses the processes of approving the entry for which the barcode will be created by the customer representatives and issuing the ATF (Warehouse Entry Slip) by Horoz Logistics operations personnel in the domestic distribution operation. Since such process might cause problems during the course of the logistics process if it is not done in a controlled manner, an approval process must be passed if a customer wishes to integrate a common barcode. We cannot provide support for the common barcode integration for the companies that cannot pass the approval process. -
Creating a barcode label for an order means that such order has been approved by our customer representatives on the Horoz Logistics side and an ATF (Warehouse Entry Slip) has been issued for such order by the Horoz Logistics domestic distribution operations personnel. For this reason, as of the moment when the barcode label is created, it means that the order has been accepted and the logistics process has begun for delivery. During thec course of performance of the integration, it is assumed that such information is known by the company and that such process has been approved, and the barcodes are expected to be printed according to such information through the integration.
-
When the
createBarcode()
method is called, the barcode information as well as the design of the barcode used in Horoz Logistics operations, created with the relevant information, is returned to the clients in ZPL data format. The client can access the design of the respective barcode label by encoding the returned ZPL data code in its own ERP system and print from barcode printers compatible with that barcode label. There are online portals on the web to encode codes in ZPL data format. You can view the barcode designs on such websites through the ZPL codes that have been prepared.
ZPL Encoding Portal : https://labelary.com/viewer.html
Example of ZPL data content for a 10x10 scale barcode label:
Example ZPL |
---|
^XA ^FO220,20^GFA,^FS^CF0,50\ ^FWB\ ^FO95,120 ^FDRUT-3^FS\ ^FO150,20 ^GB3,580,3^FS\ ^CFT,80,100\ ^CI28\ ^FO10,210 ^FDALICI İL BİLGİSİ^FS\ ^FWN\ ^FT170,160 ^A0,40,30 ^FDGÖNDERİCİ/SATICI UNVANI^FS ^FT170, 230 ^A0,60,50 ^FDALICI ADI SOYADI^FS ^FT170, 295 ^A0,30,20 ^FDKARGO^FS ^FT320, 295 ^A0,30,20 ^FDİRSALİYE TARİHİ^FS ^FT490, 295 ^A0,30,20 ^FDÇIKIŞ ŞUBE BİLGİSİ^FS ^FT170, 340 ^A0,30,20 ^FDALICI AÇIK ADRES BİLGİSİ^FS ^FT170, 415 ^A0,60,50 ^FDALICI İL - ALICI İLÇE^FS ^FO170,430 ^GB630,1,3^FS^FT170, 500 ^A0,70,60 ^FDM123456^FS ^FT170, 535 ^A0,30,20 ^FDİRS.NO: MÜŞTERİ SİPARİŞ NUMARASI BİLGİSİ^FS ^FT170, 580 ^A0,30,20 ^FDİRS.TARİHİ: İRSALİYE TARİHİ^FS ^FT600, 540 ^A0,40,30 ^FDDESİ: 50.5^FS ^FT600, 580 ^A0,40,30 ^FDPARÇA: 1/5^FS ^BY2,2,150 ^FO240,605 ^BCN ^FD115090000190001358^FS\ ^FWN\ ^XZ |
Example of a 10x10 scale barcode label:
Example of a 4x10 scale barcode label:
POST createBarcode()
Parameter Descriptions & Rules
The following table lists the input and output parameters of the createBarcode()
process, and the types and formats of such parameters.
- Fields
- Example Request
- Example Response
Fields | Description | Data Type | Length | Field Location | Requirement |
---|---|---|---|---|---|
processKey | The processKey details identified for the client | string | 100 | Header | Mandatory |
requestNumber | The requestNumber details about the order that has been created by means of createShipping by the client | string | 50 | inBody Request | Mandatory |
partNumber | Part number of the product, the barcode of which will be generated | integer | - | inBody Request | Mandatory |
quantity | The details about the total number of pieces of the order | integer | - | inBody Request | Mandatory |
desi | Details about the desi of the product for which a barcode will be created | float | - | inBody Request | Mandatory |
weightInKg | Details about the weight of the product for which a barcode will be created | float | - | inBody Request | Mandatory |
{
"requestNumber": "Test123",
"partNumber": 1,
"quantity": 5,
"desi": 150.5,
"weightInKg": 125.5
}
{
"response": {
"responseCode": "STA-100",
"responseMessage": "Kayit islemi basarili",
"barcodeList": [
{
"senderTitle": "TEST SENDER",
"trackingNumber": "TEST123",
"cargoTrackingNumber": "29926575036874",
"transactionDate": "2024-09-03 15:20:22",
"waybillNumber": "M000518",
"recipientBranchName": "AVRUPA",
"senderBranchName": "ANADOLU",
"shippingType": "KARGO",
"recipientTitle": "TEST RECIPIENT",
"recipientAdress": "TEST ADRESS",
"recipientCity": "TEST CITY",
"recipientArea": "TEST COUNTY",
"operation1": "RUT-2",
"operation2": null,
"quantity": 1,
"barcode": "435590005180001328",
"zplContent": "10X10 ZPL CONTENT",
"zplContent2": "4X10 ZPL CONTENT"
}
]
}
}
Service Responses
Response Code | Response Message | Description |
---|---|---|
STA-100 | Kayit islemi basarili | It refers to the fact that the barcode creation process is successful. |
ERR-20001 | HATALI IŞLEM ANAHTARI | Indicates that the entered processKey details are incorrect. |
ERR-20020 | SEVK KAYDI BULUNAMADI YADA GEÇERSİZ KAYIT | Indicates that the order for which a barcode is being tried to be created does not exist in the system or that it has been made invalid. |
ERR-20020 | SEVK KAYDI BULUNAMADI | Indicates that the order, for which a barcode is being tried to be created, does not exist in the system, or that it has been made invalidly. |
ERR-20021 | GECERSIZ SEVK KAYDI. | Indicates that the order, for which a barcode is tried to be created, has been made invalidly. |
ERR-20025 | ADET : X veya DESİ : X veya KG : X veya PARCANO : X HATALIDIR | It refers to the fact that the entered Quantity, Desi, Kilogram or Part number details have been entered incorrectly. |