FD1 Client Protocol

FD1 Sales Endpoint

This endpoint deals with individual or groups of sales. It only works with completed sales, or those being picked for shipping. If you are creating a sale capture POS or shopping cart, see the salesbuilder endpoint

To create custom reports, use fd1.data endpoint. This general purpose endpoint lets you define a "table" or spreadsheet of sales and open that. For example, you can use fd1.data to request "all sales, sold last month, with any "fresh" department items" as JSON, CSV, Excel, etc, or even open a firehose. These custom report definitions can be saved and distributed.

fd1.sales.create_sale

Allows you to upload a complete sale definition. This is the endpoint commonly used if uploading a complete sale from websites or custom sales capture devices. Once uploaded via this API, the sale cannot be changed by sending it again. If you are wishing to save the state of a sale being rung up still, use the salesbuilder endpoint, that allows you to keep altering the sale, while also receiving pricing to apply and other conditions.

The payload for this API is sale.create

Example

{
    a: "fd1.sales.create",
    rq: "my-first-sale",
    v: {
        location: "Crown St Mall, Wollongong",
        completeddt: "2026-01-07 14:33",
        lines: [
            {
                sku: "ANANA",
                totalprice: 9.95
            }
        ],
        payments: [
            type: "eftpos"
        ]
    }
}

fd1.sales.get_single_sale

fd1.sales.edit_sale

fd1.sales.save_new_sale

fd1.sales.get_receipt

....