Standing Orders

Use these methods to create, update, or delete a Standing Order through Komet's API. You can also retrieve a list of Standing Orders using the GET method.

Existing Prebooks are not modified by any of these requests.

Request 

URL: https://api.kometsales.com/api/v2/standing-order

Method: POST

Content-Type: Application/JSON


authenticationToken (required)(string:50)

Komet Sales security token.


Input parameters

customerId (required: if customerCode is not given) (integer:20): The Customer ID. You can get this value from the customer.list API method.


customerCode (required: if customerId is not given) (string:20): The Customer code.


customerDescription (required: if customerId is not given) (string:200): The Customer name.


carrierId (required: if carrierCode is not given) (integer:20) : The Carrier ID. You can get this value from the carrier.list API method.


carrierCode (required: if carrierId is not given) (string:20) : The Carrier code.


carrierDescription (required: if carrierId is not given) (string:200) : Carrier name.


startDate (required) (date): Start date of the Standing Order. Date format: YYYY-MM-DD.


endDate (optional) (date): End date of the Standing Order. Date format: YYYY-MM-DD.


shipViaId (logical)(integer:1): Ship Via ID. 0 = Warehouse and 1 = Grower.


customerPO (optional)(string:20): Customer Purchase Order number.


companyLocationId (optional)(string:20): The Location ID. Only Applies to Multi-Location Companies.


companyLocationCode (Required for Multi-Location Companies)(string:20): Location code. 


recurrence: (Required) (number): The frequency of Purchase Order generation in weeks. Valid range: 1-4.


truckDays (Required) (string:20): The Truck Days for the Purchase Orders.


comments (optional)(string:200): Special instructions or comments.


invoiceNotes (optional)(string:1000): Additional notes for the Standing Order. Maximum 200 characters.


items: Product arrays.


identifier (optional)(string:30): Use this parameter to identify your product lines and receive equal values in the response.


vendorId (optional)(integer:20): Vendor or Grower ID. You can get this value from vendor.list API method.


vendorCode (required if vendorId is not used)(string:20): Vendor or Grower code.


vendorName (required if vendorId is not used)(string:200): Vendor or Grower name.


productId (required: if productCode is not given)(integer:20): product ID. You can get this value from the product.list API method.


productCode (required: if productId is not given)(string:20): Product Code.


productDescription (required: if productId is not given)(string:200): Product description.


itemType (string:3): Item type. Values: BOX or UN (Unit). Default is BOX.


boxTypeId (required if boxTypeCode is not given and the itemType is box)(integer:20): box type ID. You can get this value from the boxtype.list API method.


boxTypeCode (required: if boxTypeId is not given and the itemType is box)(string:3): Box type code.


boxTypeDescription (required: if boxTypeId is not given and the itemType is box)(string:3): Box type name.


boxes (required if the itemType is box) (integer:10): Amount of boxes.


totalUnits  (required if the itemType is UN) (integer:10): Number of Units.


unitType (required) (string:5): Valid Values: Stem and Bunch.


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. Leave this field empty for mixed Boxes.


price (optional) (decimal:10,2): Weighted Average Unit price. Use the price according to the unitType selected.


cost (optional) (decimal:10,2): weighted average Unit cost. Use the cost according to the unitType selected. If the token belongs to a vendor, the system will accept this field if the vendor has enabled the Allow changing cost setting.


markCode (optional)(string:50): Product Mark Code.


generalNotes (optional)(string:1000): Additional notes.


vendorNotes (optional)(string:1000): Notes for the Vendor.


customFields (array)


name (string)


value (string)


breakdowns (optional): Breakdown of products:


identifier (optional)(string:30): Use this parameter to identify your product lines and receive equal values in the response.


productId (required: if productCode is not given) (integer:20): Product ID. You can get this value from the product.list API method.


productCode (required: if productId is not given)(string:20): Product code.


productDescription (required: if productId is not given)(string:200): Product description.


bunches (required) (integer:10): Total Bunches per Box.


stemsBunch (required) (integer:10): Stems per Bunch.


cost (required)(decimal:10,2): Cost of the product by Unit type.


price (required for tokens type company)(decimal:10,2): Price of the product by Unit type.


{ "authenticationToken": "token_info_goes_here", "customerId": "131313", "customerCode": "Fresh", "customerDescription": "Mr. Fresh", "carrierId": "1360", "carrierCode": "ARM", "carrierDescription": "Armellini", "startDate": "2022/04/13", "endDate": "2022/12/13", "shipViaId": "1", "customerPO": "122344", "companyLocationId": "147", "companyLocationCode": "MIA", "recurrence": "1", "truckDays": "Monday, Wednesday, Friday", "comments": "Keep it fresh", "invoiceNotes": "", "items": [ { "identifier": "1123", "vendorId": "33", "vendorCode": "333", "vendorName": "33 Flowers", "productId": "21", "productCode": "Lucky", "productDescription": "Black Monstera", "itemType": "BOX", "boxTypeId": "QB", "boxTypeCode": "QB21", "boxes": "21", "totalUnits": "777", "unitType": "Stem", "bunches": "13", "stemsBunch": "7", "price": "1.21", "cost": "1.01", "markCode": "BCK", "generalNotes": "Ship it", "vendorNotes": "Thank you", "customFields": [ { "name": "", "value": "" } ], "breakdowns": [ { "identifier": "Assorted 1", "productId": "3", "productCode": "BK", "productDescription": "Black King Rose", "bunches": "13", "stemsBunch": "13", "cost": "1.33", "price": "0.99" } ] } ] }

Response


status (integer:1): Creation status. 1 = Success, 0 = Failure.


message (string:500): Description of the status of the transaction.


standingOrderId(integer:20): Standing Order ID.


standingOrderNumber (integer:10): Standing Order number.


items (array):


identifier (string:20): The value that identifies the line. This is the same value of the request, if added during the request.


status: (integer:1): Transaction status.  1 = Success, 0 = Failure.


message (string:500): Description of the status of the transaction.


standingOrderItemId (integer): The item ID.


{ "standingOrderId": 3228, "standingOrderNumber": "S03228", "message": "Standing Order # S03228 was successfully saved.", "items": [ { "identifier": "P001", "status": 1, "message": "Item was successfully added.", "standingOrderItemId": 10611 } ], "status": 1 }


Returns a list of Standing Orders with their corresponding details based on the applied filters.


Request

URL: https://api.kometsales.com/api/standing.order.list

Method: GET

Content-Type: URL Parameters.


Input parameters

authenticationToken (required)(string:50): Komet Sales security token.


dateFrom (required)(date): Start Date. (format YYYY-MM-DD).


dateTo (required)(date): End Date. (format YYYY-MM-DD).


customer (optional)(string:50): customer name or code.


customerId (optional)(integer:10): Customer Komet Sales internal ID. This parameter is used to search standing orders from only one customer. You can obtain this value from the customer.list API method.


number (optional)(string:10): standing order number.


locationId (optional)(integer:10): location Komet Sales internal ID. You can obtain this value from the location.list API method.


status (optional)(string:20): it's used if you want to load only some orders with a specific status. Valid values: All, Active, Cancelled. If this filter is not set, the system will return only the active standing orders.

The filters work in the following way:

  • Filtering by customerId, status, number and locationId uses an exact match.

  • Filtering by customer uses a "LIKE" expression.

  • Filters are not case sensitive.


https://api.kometsales.com/api/standing.order.list? authenticationToken=token_info_goes_here& dateFrom=2015-01-01&dateTo=2015-12-31

Response


status (integer:1): transaction status. 1 for success or 0 for failure.

message (string:500): description of the status of the transaction.

standingOrders: array of standing orders. 

id (integer:20): Komet Sales internal standing order ID.

number (integer:10): purchase order number.

customerName (string:200): customer name.

priceList (string:200): price list associated to the customer.

carrierName (string:200): carrier name.

recurrence (integer:1): the recurrence of the standing order. 

days (string:100): the list of the days when the order will be generated separated by a comma. e.g.: Sunday, Monday. 

startDate (date): date when the SO starts. (date format YYYY-MM-DD).

endDate (date): date when the SO finishes. (date format YYYY-MM-DD).

salesperson (string:200): salesperson name.

locationCode (string:20): location code.

locationName (string:200): location name.

shipToName (string:200): Ship To Name.

shipToCarrier (string:200): Default Carrier of the Ship-To.

shipToStreet (string:200): Ship To Street.

shipToCity (string:200): Ship To City.

shipToState (string:200): Ship To State.

shipToZipcode (string:200): Ship To Zip Code.

shipToCountry (string:200): Ship To Country.

shipToPhone (string:200): Ship To Phone.

shipToFax (string:200): Ship To Fax.

customerCode (string:50): Customer Code

details: array of purchase orders details

soItemId (integer:20): SO Item Komet Sales Internal ID.

productId (integer:20): product Komet Sales internal ID.

productDescription (string:200): Product description.

units (integer:10): Units per Box.

unitType (string:5): Stem or Bunch.

bunches (integer:10): Number of bunches per box.

totalBoxes (integer:10): The total boxes.

totalUnits (integer:10): The total units.

unitPrice (decimal:10,2): unit flower price.

totalPrice (decimal:10,2): total units flower price.

unitCost (decimal:10,2): unit flower cost.

totalCost (decimal:10,2): total units flower cost.

stemsBunch (integer:10): stems per bunch.

markCode (string:20): special mark code or slot number.

boxType (string:3): box type code. (HB, QB, EB, etc).

vendorName (string:200): vendor name.

isAssorted (boolean:1): if the product is assorted is true, otherwise it will be false. 

breakdowns: array of breakdowns

productId (integer:20): product Komet Sales internal ID.

productDescription (string:200): product description.

stemsBunch (integer:10): stems per bunch.

bunches (integer:10): number of bunches.

price (decimal:10,2): unit flower price.

customField: array of custom fields. You can have several custom fields.

name (string:45): the name of the custom field.

description (string:200): custom field description.

 


Request 


URL: https://api.kometsales.com/api/v2/standing-order

Method: PUT

Content-Type: Application/JSON


Header

authenticationToken (required)(string:50): Komet Sales security token.


Input parameters

customerId (required: if customerCode is not given) (integer:20): The Customer ID. You can get this value from the customer.list API method.


customerCode (required: if customerId is not given) (string:20): The Customer code.


customerDescription (required: if customerId is not given) (string:200): The Customer name.


carrierId (required: if carrierCode is not given) (integer:20) : The Carrier ID. You can get this value from the carrier.list API method.


carrierCode (required: if carrierId is not given) (string:20) : The Carrier code.


carrierDescription (required: if carrierId is not given) (string:200) : Carrier name.


startDate (required) (date): Start date of the Standing Order. Date format: YYYY-MM-DD.


endDate (optional) (date): End date of the Standing Order. Date format: YYYY-MM-DD.


standingOrderID (required)(integer:20):  Komet Sales Standing Order ID that you want to update. You can get this value from the standing-order.create API method.


standingOrderItemId (requires)(integer:20): 


shipViaId (logical)(integer:1): Ship Via ID. 0 = Warehouse and 1 = Grower.


customerPO (optional)(string:20): Customer Purchase Order number.


companyLocationId (optional)(string:20): The Location ID. Only Applies to Multi-Location Companies.


companyLocationCode (Required for Multi-Location Companies)(string:20): Location code. 


recurrence: (Required) (number): The frequency of Purchase Order generation in weeks. Valid range: 1-4.


truckDays (Required) (string:20): The Truck Days for the Purchase Orders. Valid values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday.


comments (optional)(string:200): Special instructions or comments.


invoiceNotes (optional)(string:1000): Additional notes for the Standing Order. Maximum 200 characters.


shipToId (Optional)(integer:200): Ship-To number ID. You can get this ID by using the customer.shipto.list method.


items: Product arrays.


identifier (optional)(string:30): Use this parameter to identify your product lines and receive equal values in the response.


vendorId (optional)(integer:20): Vendor or Grower ID. You can get this value from vendor.list API method.


vendorCode (required if vendorId is not used)(string:20): Vendor or Grower code.


vendorName (required if vendorId is not used)(string:200): Vendor or Grower name.


productId (required: if productCode is not given)(integer:20): product ID. You can get this value from the product.list API method.


productCode (required: if productId is not given)(string:20): Product Code.


productDescription (required: if productId is not given)(string:200): Product description.


itemType (string:3): Item type. Values: BOX or UN (Unit). Default is BOX.


boxTypeId (required if boxTypeCode is not given and the itemType is box)(integer:20): box type ID. You can get this value from the boxtype.list API method.


boxTypeCode (required: if boxTypeId is not given and the itemType is BOX)(string:3): Box type code.


boxTypeDescription (required: if boxTypeId is not given and the itemType is BOX)(string:3): Box type name.


boxes (required if the itemType is BOX) (integer:10): Amount of boxes.


totalUnits  (required if the itemType is UN) (integer:10): Number of Units.


unitType (required) (string:5): Valid Values: Stem and Bunch.


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. Leave this field empty for mixed Boxes.


price (optional) (decimal:10,2): Weighted Average Unit price. Use the price according to the unitType selected.


cost (optional) (decimal:10,2): weighted average Unit cost. Use the cost according to the unitType selected. If the token belongs to a vendor, the system will accept this field if the vendor has enabled the Allow changing cost setting.


markCode (optional)(string:50): Product Mark Code.


generalNotes (optional)(string:1000): Additional notes.


vendorNotes (optional)(string:1000): Notes for the Vendor.


customFields (array)


name (string)


value (string)


breakdowns (optional): Breakdown of products.


identifier (optional)(string:30): Use this parameter to identify your product lines and receive equal values in the response.


productId (required: if productCode is not given) (integer:20): Product ID. You can get this value from the product.list API method.


productCode (required: if productId is not given)(string:20): Product code.


productDescription (required: if productId is not given)(string:200): Product description.


bunches (required) (integer:10): Total Bunches per Box.


stemsBunch (required) (integer:10): Stems per Bunch.


cost (required)(decimal:10,2): Cost of the product by Unit type.


price (required for tokens type company)(decimal:10,2): Price of the product by Unit type.



Response


message (string:500)

Description of the status of the transaction.


status (integer:1)

Creation status. 1 = Success | 0 = Failure


If the Assorted and Custom fields fail, the Standing Order line item is not updated.


Request


URL: https://api.kometsales.com/api/v2/standing-order/item?standingOrderItemId={standingOrderItemId}&standingOrderId={standingOrderId}

Method: DELETE

Content-Type: Application/JSON


Header

authenticationToken (required)(string:50)

Komet Sales security token.


Input parameters

standingOrderId (required)(integer:20)  

Komet Sales Standing Order ID.

You can get this value from the standing-order.create API method.


standingOrderItemId (required)(number:20)

The Komet Sales Standing Order item ID.

You can get this value from the standing-order.create API method.



Response


message (string:500)

Transaction status description.


status (integer:1)

Transaction status. 1 = Success | 0 = Failure




Related Articles