Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 43 Next »

This method allows you to add a Prebook order to Komet Sales. Using this method you can create one of the following:

  • Prebook header only.
  • Prebook with header and product(s).
  • Prebook with header and product(s) with a breakdown(s).
Orders created through this method are subject to a transaction fee of 1.5%.

Request

URL: https://api.kometsales.com/api/prebook.create

Method: POST

Content-Type: application/json

Input Parameters

  • authenticationToken (required) (string:50): Komet Sales security token.
  • customerId (required: if customerCode is not given) (integer:20): customer ID. You can obtain this value from the customer.list API method.
  • customerCode (required: if customerId is not given) (string:20): customer code.
  • customerDescription (required: if customerId is not given) (string:200): customer name.
  • carrierId (required: if carrierCode is not given) (integer:20) : carrier ID. You can obtain this value from the carrier.list API method.
  • carrierCode (required: if carrierId is not given) (string:20) : carrier code.
  • carrierDescription (required: if carrierId is not given) (string:200) : carrier name.
  • shipDate (required) (date): shipping date (date format YYYY-MM-DD).
  • createdBy (optional) (integer:20): Id of the user that created the order. This value represents the owner ID in Komet Sales. 
  • shipViaId (logical)(integer:1): ship via ID. ID of location where the product will be shipped from. Assign 0 for warehouse or 1 for grower.
  • customerPO (optional)(string:20): customer purchase order.
  • isEcommerce (optional)(integer:1): 1 when it is an E-commerce order, 0 when it is a Phone / Regular order. 
  • useExisting (optional) (integer:1): 1 to add the items to an existing Prebook with the same location, carrier, truck date, customer, and customer PO# and ship to (if applicable). Enter 0 to create a new Prebook. By default will be 0. 
  • comments (optional)(string:200): special instructions or comments.
  • autoGeneratePOsfromPrebooks (optional)(integer:1): specify 1 if you want the system to automatically generate the purchase orders. Default = 0. If this value is 1, the vendor and costs must be specified. The orders created will be left as Approved.
  • autoAllocate (optional)(integer:1): specify 1 if you want the system to automatically allocate the prebook that was just created with products from the inventory. Default = 0. The system will apply the same rules that the Mass Allocations process has. Only products with age between 0 and 5 days will be taken in account.
  • status (optional) (varchar:50): the status of the prebook. Only works when the Prebook Status setting is enabled.
  • companyLocationCode (required: if the company is Multi Location)(string:20): Location code. 
  • prebookItems: array of products:
    • identifier (optional)(string:30): use this field if you want to identify your lines and receive the same value in the response.
    • vendorId (optional)(integer:20): vendor or grower ID. You can obtain this value from vendor.list API method.
    • vendorCode (optional)(string:20): vendor or grower code, if vendorId is not given.
    • vendorName (optional)(string:200): vendor or grower name, if vendorId is not given.
    • productId (required: if productCode is not given)(integer:20): product ID. You can obtain this value from the product.list API method.
    • productCode (required: if productId is not given)(string:20): code of the product.
    • productDescription (required: if productId is not given)(string:200): description of the product.
    • orderSource (optional)(string:20): The source of the product.
    • itemType (string 3): the item type. Possible values: BOX or UN (unit). By default will be BOX.
    • boxTypeId (required if boxTypeCode is not given and the itemType is box)(integer:20): box type ID. You can obtain this value from the boxtype.list API method.
    • boxTypeCode (required: if boxTypeId is not given and the itemType is box)(string:3): code of the box type.
    • boxTypeDescription (required: if boxTypeId is not given and the itemType is box)(string:3): name of the box type.
    • boxes (required if the itemType is box) (integer:10): number of boxes.
    • totalUnits  (required if the itemType is UN) (integer:10): number of units.
    • unitType (required) (string:5): stem or bunch are the unique valid values.
    • bunches (required if the itemType is box) (integer:10): number of bunches per box
    • stemsBunch (required if the itemType is box) (integer:10): stems per bunch. You can leave this field empty for mixed boxes.
    • price (optional) (decimal:10,2): weighted average unit price. When unitType is bunch you must use the bunch price. When unitType is stem you must use the stem price.
    • cost (optional) (decimal:10,2): weighted average unit cost. When unitType is bunch you must use the bunch cost. When unitType is stem you must use the stem cost. If the token used belongs to a vendor, this field will be accepted if the vendor has the Allow changing cost option enabled.
    • markCode (optional)(string:50): mark code for item.
    • notes (optional)(string:1000): any additional notes.
    • futureSalesPoNumber (optional)(string:7): future sales purchase order number where the product belongs from. E.g.: P057116. Please take in account that the PO # should be the exactly same number that the system has, this means the order 57116 is not the same order that P057116.
    • breakdowns (optional): array of product breakdowns:
      • productId (required: if productCode is not given) (integer:20): product ID. You can obtain this value from the product.list API method.
      • productCode (required: if productId is not given)(string:20): code of the product.
      • productDescription (required: if productId is not given)(string:200): description of the product.
      • bunches (required) (integer:10): bunches per box.
      • stemsBunch (required) (integer:10): stems for bunch.
      • cost (required)(decimal:10,2): when unitType is bunch you must use the bunch cost. When unitType is stem you must use the stem cost. If the token used belongs to a vendor, this field will be accepted if the vendor has the Allow changing cost option enabled.
      • price (required for tokens type company)(decimal:10,2): when unitType is bunch you must use the bunch price. When unitType is stem you must use the stem price.


  • You can only use customerId and customerCode, or customerName at a time. We recommend you to use the customerId which can be obtained from the customer.list API method.
  • You can use either carrierName and carrierId or carrierCode at a time. We recommend you to use the carrierId which can be obtained from the carrier.list API method.


Sample Request

{
   "authenticationToken": "token_info_goes_here",
   "customerId": 9999,
   "customerPO": "PO4534",
   "shipToId": 999,
   "carrierId": 1878,
   "shipDate": "2014-04-10",
   "comments": "Comments or special instructions",
   "prebookItems": [
      {
         "vendorId": 999,
         "productId": 999,
         "boxTypeId": 900,
         "orderSource": "phone call",
         "unitType": "Stem",
         "boxes": 5,
         "bunches": 10,
         "stemsBunch": 2,
         "cost": 0.7,
         "price": 2.5,
         "markCode": "text for mark code",
         "notes": "text for notes",
         "breakdowns": [
            {
               "productId": 999,
               "bunches": 2,
               "stemsBunch": 3,
               "cost": 0.75,
               "price": 1.5,
               "identifier": "02343678"
            }
         ]
      }
   ]
}


Response

Output

  • status (integer:1): transaction status. 1 for success or 0 for failure.
  • message (string:500): description of the status of the transaction.
  • prebookId (integer:20): prebook ID.
  • prebookNumber (integer:10): prebook number.
  • purchaseOrderNumbers (string:200) PO numbers separated by commas, if autoGeneratePOsfromPrebooks is given.
  • items (array)
    • identifier (string:20). The value that identifies the line. This is the same value of the request, if it was given.
    • status: (integer:1): transaction status. 1 for success or 0 for failure.
    • message (string:500): description of the status of the transaction.
    • prebookItemId (integer:10) ID of the product line that was added to the order.
    • productId (integer:20) (if productId was given).
    • productCode (string:20) (if productCode was given).
    • futureSalesPoNumber (string:7) (if futureSalesPoNumber was given).
    • availableBoxes (integer:10): number of boxes that are available if futureSalesPoNumber was given.

Sample Response

{
   "status": "1",
   "message": "Prebook was successfully created.",
   "prebookId": 2543545,
   "prebookNumber": 4343,
   "purchaseOrderNumbers": "",
   "items": [
      {
         "productId": 999,
         "status": 1,
         "message": "Item successfully added to the order",
         "prebookItemId": 3427612,
         "identifier": "02343678"
      }
   ]
}

Sample Response

{
   "status": 1,
   "message": "Prebook was successfully created. All the purchase orders were successfully created",
   "prebookId": 1640006,
   "prebookNumber": "010225",
   "purchaseOrderNumbers": "P002989, P002990",
   "items": [
      {
         "productId": 999,
         "status": 1,
         "prebookItemId": 3427612,
         "message": "Item successfully added to the order"
      },
      {
         "productCode": "RF567",
         "status": 1,
         "prebookItemId": 3427612,
         "futureSalesPoNumber": "P012345",
         "availableBoxes": 2,
         "message": "Item successfully added to the order"
      }
   ]
}


Information

Valid Tokens: Company and Vendor.

  • If you use a Vendor Token, the price, vendorId, vendorCode, and vendorName parameters will be omitted.
  • If the vendor that uses this method has the settings "Allow changing sales price", the system will consider the price sent.

  • No labels