Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

This method allows you to add a Prebook order to Komet Sales. 

Tip

Valid Tokens: Company and Vendor.

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 breakdown(s).

If you use a Vendor Token:

  • The system will omit the price, vendorId, vendorCode, and vendorName parameters.

  • The system will take the price only if your company has the Allow Changing Sales Price setting enabled.

Info

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. The ID of the location where the product will be shipped from. Assign 0 for warehouse or 1 for the 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 ages 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.

Info
  • 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

Response

Code Block{ "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",

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

Code Block
{
   "status": "1",
   "message": "Prebook was successfully created.",
   "prebookId": 2543545,
   "prebookNumber": 4343,
   "purchaseOrderNumbers": "",
   "items": [
      {
         "
unitType
productId": 
"Stem"
999,
         "
boxes
status": 
5
1,
         "
bunches
message": 
10
"Item successfully added to the order",
         "
stemsBunch
prebookItemId": 
2
3427612,
         "
cost
identifier":
0.7,
 "02343678"
      }
   ]
}

Sample Response

Code Block
{
   "
price
status": 
2.5
1,
   "message": "Prebook was successfully created. All the 
"markCode": "text for mark code
purchase orders were successfully created",
   "prebookId": 1640006,
   
"
notes
prebookNumber": "
text for notes
010225",
   "purchaseOrderNumbers": "P002989, P002990",
   "
breakdowns
items": [
      {
     
{
    "productId": 999,
         
"
productId
status": 
999
1,
         "prebookItemId": 3427612,
    
"bunches":
 
2,
    "message": "Item successfully added to the order"
     
"stemsBunch":
 
3
},
      {
         "
cost
productCode": 
0.75,
"RF567",
         "status": 1,
         "
price
prebookItemId": 
1.5
3427612,
         
"futureSalesPoNumber": "P012345",
  
"identifier":
 
"02343678"
      "availableBoxes": 2,
     
}
    "message": "Item successfully added to the 
]
order"
      }
   ]
}
Response Code Block{ "status": "1
Filter by label (Content by label)

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

showLabelsfalse
max5
titleRelated Articles
cqllabel in ( "prebook-api" , "company-token" , "create-prebook" , "recipes" )


Request


Code Block
{
   "authenticationToken": "token_info_goes_here",
   "customerId": 9999,
   "customerPO": "PO4534",
   "shipToId": 999,
   "carrierId": 1878,
   "shipDate": "2014-04-10",
   "
message
comments": "
Prebook
Comments 
was
or 
successfully
special 
created.
instructions",
   "
prebookId
prebookItems": 
2543545,
[
      {
    
"prebookNumber":
 
4343,
    "
purchaseOrderNumbers
vendorId": 
""
999,
   
"items":
 
[
     "productId": 999,
{
         
"
productId
boxTypeId": 
999
900,
         "
status
orderSource": 
1
"phone call",
         "
message
unitType": "
Item successfully added to the order"
Stem",
         "boxes": 5,
         "
prebookItemId
bunches": 
3427612
10,
         "
identifier
stemsBunch":
"02343678"
 2,
         
}
"cost": 0.7,
    
]
 
}

Sample Response

Code Block{
    "
status
price": 
1
2.5,
   
"message":
 
"Prebook
 
was
 
successfully
 
created.
 
All
 
the purchase orders were successfully created
"markCode": "text for mark code",
   
"prebookId": 1640006,
      "
prebookNumber
notes": "
010225
text for notes",
   
"purchaseOrderNumbers":
 
"P002989,
 
P002990",
    "
items
breakdowns": [
       
{
     {
    
"productId":
 
999,
          "
status
productId": 
1
999,
         
"prebookItemId":
 
3427612,
     "bunches": 2,
   
"message":
 
"Item
 
successfully
 
added
 
to
 
the
 
order"
      "stemsBunch": 
}
3,

     
{
          "
productCode
cost": 
"RF567"
0.75,
         
"status": 1,
      "price": 1.5,
    
"prebookItemId":
 
3427612,
          "
futureSalesPoNumber
identifier": "
P012345
02343678"
,

     
"availableBoxes":
 
2,
      }
   
"message":
 
"Item
 
successfully
 
added
 
to
 
the
 
order"
]
      }
   ]
}
Filter by label (Content by label)
showLabelsfalse
max5
titleRelated Articles
cqllabel in ( "prebook-api" , "company-token" , "create-prebook" , "recipes" )

Request Response