Skip to main content

Creating a Supplier Order – createPaysSupplierShipping()

Supplier Order Creation

createPaysSupplierShipping method, available on Horoz Logistics Domestic Distribution Integration, is a web service method that should be used to create a shipping order containing one or more physical products such as boxes, packages, pallets, etc. to be transported from the sender to the recipient, which will be sent to the relevant method by the respective sales platform for the order data of the sales made by a merchant which has an agreement with Horoz via the sales platform of a client defined in the Horoz system.

The e-commerce merchant, which sells the products of a client that has a supplier-pays agreement with Horoz Logistics for the Domestic Distribution Integration, and which also has an agreement with Horoz Logistics, can create a supplier-pays type shipping order data to the Horoz system via the Horoz Logistics Domestic Distribution Integration, by making use of the createPaysSupplierShipping method for the product shipments from the client's warehouse to the client's end consumers as part of the respective client's agreement.

The supplier-pays type shipping order, sent by the client to the Horoz Logistics system, is a job order and, following the planning and goods acceptance processes carried out by the Horoz Logistics Domestic Distribution Operations Unit, it enters the operational life cycle and becomes an order to be transferred from the supplier to the end consumer. Important information about the createPaysSupplierShipping() method and the points to be considered while creating a supplier pays type shipping order in the Horoz system are listed below for the information of the clients.

  • createPaysSupplierShipping() method is a RESTful web service method that receives data in JSON format via the POST method.

  • When sending a shipping order to the Horoz system by means of the createPaysSupplierShipping() method, the details about such order must be entered into the body of the method in JSON data type. The client's processKey details must be entered into the header of the method as a parameter type. The shipment made by means of the createPaysSupplierShipping() method must be encoded as UTF-8 and transmitted to the Horoz Logistics Domestic Distribution Integration Web service.

  • createPaysSupplierShipping() method consists of a main shipping order data structure and a detailed shipping order structure, containing product information as an array list below such main shipping order data structure. Within a shipping order structure, there is the order number, sender details, recipient details, total quantity, total volume details about the order given by the end consumer to the merchant, and the product information including the product code, product name, product quantity, product volume, product weight, product category details that qualify one or more products pertaining to the respective order in the details of such shipping order.

  • When a shipping order is sent to the Horoz system by the client by means of the createPaysSupplierShipping() method, the details to be entered by the client to the senderCity, senderCounty, recipientCity and recipientCounty fields must be the city and county details that are defined in the Horoz Logistics system. Otherwise, an error will be returned to the client from the createPaysSupplierShipping() method. The client can obtain the city and county details defined in the Horoz Logistics system by using the listCountires() method, which works with the GET method available within the Horoz Logistics Domestic Distribution Integration. The city-county details defined in the Horoz Logistics system has been clustered and created by having received such details from the Republic of Türkiye Ministry of Internal Affairs and the Türkiye Civil Administration Departments Inventory system. Available data is checked manually at intervals.

  • When a shipping order of supplier-pays type is sent to the Horoz system by the client by means of the createPaysSupplierShipping() method, the total desi and total quantity details about the products within the order, entered in the totalDesi and shipmentCount fields in the request to be sent to the Horoz Domestic Distribution Integration Web service must be compatible with the product-based desi and quantity information entered in the desi and quantity fields in the product information entered as an item in the shippingDetail array list. While sending the order, an incorrect and expected examplary illustration for the quantity and desi compatibility relationship in the master and detailed information in the createShipping() method is given in the tables below.

Master Entry:

REQUESTNUMBERSENDERTITLERECIPIENTTITLESHIPMENTCOUNTTOTALDESI
123456SATICI UNVANALICI UNVAN2320,000

Incorrect Entry Detail:

PRODUCTCODEPRODUCTNAMEQUANTITYWEIGHTINKGTOTALDESIPRODUCTCATEGORY
PRODUCTCODE-1PRODUCTNAME-11,00020,650160,000YATAK
PRODUCTCODE-1PRODUCTNAME-11,00020,650160,000YATAK

Correct Entry Detail:

PRODUCTCODEPRODUCTNAMEQUANTITYWEIGHTINKGTOTALDESIPRODUCTCATEGORY
PRODUCTCODE-1PRODUCTNAME-12,00041,300320,000YATAK
  • While a shipping order of supplier-pays type is being sent to the Horoz system by the client by means of the createPaysSupplierShipping() method, the data to be entered in all fields that take values of string data type, except for the shippingType field that takes values other than enum data type, in the request to be sent to the Horoz Domestic Distribution Integration Web service, is expected to be entered as UPPERCASE and in Turkish characters.

  • When a shipment order is sent to the Horoz system by the client with the createPaysSupplierShipping() method, the requestNumber, shipmentCount, totalDesi, quantity, desi and weightInKg fields in the request to be sent to the Horoz Domestic Distribution Integration Web service must be filled.

  • Among the details about the orders in the supplier-pays type shipping orders sent to the Horoz system by the client by means of the createPaysSupplierShipping() method, the actual desi details about the products in the orders should be entered in the fields that specifically qualify the desi information (totalDesi, desi). Otherwise, there will be a problem in the logistics operation at the stage where the shipping order is approved and the vehicle planning is made before the goods acceptance process. Therefore, the shipping order data to be transmitted via the integration must actually contain the quantity and volume details about the products to be physically transported.

  • While entering the details about the products in the shipping orders sent to the Horoz system by the client by means of the createPaysSupplierShipping() method, if the client has weight details about the respective products, the weight details about the products should be entered in the weightInKg field and the desi details should be entered into the desi field. In the event that the client does not have the weight details about the products that can be transported physically, then it is expected that the unit desi information multiplied by the quantity will be entered in both the desi and weightInKg fields.

  • In order to create a supplier pays type shipment order by the client in the Horoz system with the createPaysSupplierShipping() method, the current code information of the relevant supplier defined in the Horoz Logistics system must be previously registered in the Horoz Logistics supplier pays system. For this registration process, the responsible of the e-commerce platform that will send data for supplier pays integration can contact Horoz Logistics customer representatives. Then, with the information requested by Horoz Logistics customer representatives for the relevant current account, Horoz Logistics customer representatives can check the compliance of the current account with the supplier pays integration and perform the identification process.

  • With the createPaysSupplierShipping() method, 2 types of shipments can be made by the client in the Horoz system when creating a supplier pays type shipment order. For shipments made from the supplier of the company to the supplier's end customer who placed an order to the supplier through the company, PaySupplier should be entered in the shippingType field, supplier code should be entered in the senderCode field, and 0 (zero) should be entered in the recipientCode field. For submissions to the recipient, it is expected to fill in the recipient information1, for the sender information, it is sufficient to pass only the supplier code information in the senderCode field and leave the other sender information2 blank.

  • For shipments made to the supplier of the company from the last customer of the company who placed an order to the supplier through the company, PaysSupplierReturn should be entered in the shippingType field, supplier code should be entered in the recipientCode field, 0 (zero) should be entered in the senderCode field. It is expected to fill in the sender information2 in the return submissions made to the supplier, for the recipient information, it will be sufficient to pass only the supplier code information in the recipientCode field and pass the other recipient information1 blank.

  • In order for the shipment to be carried out properly as part of the supplier-pays integration, care should be taken to pass the relevant fields completely and in the expected manner as based on the information shared above.


POST createPaysSupplierShipping()

Parameter Descriptions & Rules

The following table lists the input and output parameters of the createPaysSupplierShipping() process, and also the types and formats of such parameters.

FieldsDescriptionData TypeLengthField LocationRequirement
processKeyThe processKey details identified for the clientstring100HeaderMandatory
requestNumberOrder numberstring50inBody RequestMandatory
customerRefNoOrder numberstring50inBody RequestMandatory
senderCodeSender codeinteger-inBody RequestMandatory
senderTitleSender titlestring100inBody RequestMandatory
senderCitySender city namestring50inBody RequestMandatory
senderCountySender county namestring50inBody RequestMandatory
senderAdressSender addressstring500inBody RequestMandatory
senderPhoneNumberSender phone numberstring20inBody RequestMandatory
senderEmailSender e-mailstring100inBody RequestOptional
recipientCodeRecipient codeinteger-inBody RequestMandatory
recipientTitleRecipient titlestring100inBody RequestMandatory
recipientCityRecipient city namestring50inBody RequestMandatory
recipientCountyRecipient county namestring50inBody RequestMandatory
recipientAddressRecipient addressstring500inBody RequestMandatory
recipientPhoneNumberRecipient phone numberstring20inBody RequestMandatory
recipientEmailRecipient e-mailstring100inBody RequestOptional
taxOfficeTax officestring20inBody RequestOptional
taxNumberTax ID Numberstring20inBody RequestOptional
shipmentCountTotal quantityinteger-inBody RequestMandatory
totalDesiTotal desifloat-inBody RequestMandatory
shippingTypeShipping typestring20inBody RequestMandatory
requestDateDate of sending of requestDATEYYYY-MM-DDinBody RequestMandatory
requestedDeliveryDateRequested delivery dateDATEYYYY-MM-DDinBody RequestMandatory
shippingDetail[]Shipping detailsArrayList-inBody RequestMandatory
productCodeProduct codestring50inBody RequestMandatory
productNameProduct namestring100inBody RequestMandatory
quantityQuantityinteger-inBody RequestMandatory
weightInKgWeightfloat-inBody RequestMandatory
desiDesifloat-inBody RequestMandatory
productCategoryProduct categorystring100inBody RequestMandatory

Servis Cevapları


Response CodeResponse MessageDescription
STA-100Kayit islemi basariliIt refers to the fact that the shipment creation process is successful.
ERR-20001HATALI IŞLEM ANAHTARIIndicates that the entered processKey details are incorrect.
ERR-20002EKSİK PARAMETRE: TALEP NUMARASIIndicates that the requestNumber information has been entered incompletely.
ERR-20002GİRİLEN DEĞER ÇOK UZUN: Alan AdıIndicates that the value entered in the specified field is too long.
ERR-20003BU TALEP NUMARASI SISTEMDE MEVCUT - Key: XXX TalepNo: XXXIndicates that a shipment has already been created with the same requestNumber details.
ERR-20005GEÇERSİZ GÖNDEREN BİLGİSİIndicates that the value entered in the senderCode field is not defined in the Horoz System.
ERR-20006GEÇERSİZ ALICI BİLGİSİIndicates that the value entered in the recipientCode field is not defined in the Horoz System.
ERR-20007EKSİK PARAMETRE: TOPLAM ADET/DESİIndicates that the totalDesi and shipmentCount fields have been left blank.
ERR-20008EKSİK PARAMETRE: KARGO BİLGİLERİIndicates that the fields under the shippingDetail array are incomplete.
ERR-20009DESI BILGISI SIFIR OLAMAZ.The value entered in the desi fields must be greater than 0.
ERR-20012TOPLAM DESI SIFIR OLAMAZThe value entered in the totalDesi field must be greater than 0.
ERR-20056shippingType BİLGİSİ BOŞ GEÇİLEMEZ.Indicates that a value must be entered in the shippingType field.
ERR-20071BU TALEP DAHA ÖNCE GÖNDEREN İL/İLÇE YADA ALICI İL/İLÇE BOZUK OLARAK SİSTEME GÖNDERİLMİŞ. KAYDI DÜZELTİP TEKRAR DENEYİNİZIt refers to the fact that an entry has been previously created with incorrect city and county details by making use of the requestNumber details entered in the request, and that an entry should be created with the same requestNumber by entering the city and county details correctly.

Footnotes

Footnotes

  1. (recipientTitle, recipientCity, recipientCounty, recipientAddress, recipientPhone…) 2

  2. (senderTitle, senderCity, senderCounty, senderAddress, senderPhone…) 2