PurrOSDocs

Sales

Sales feeds and unmapped items, customers, sales orders and invoices.

For how this area works day to day, see the Sales guide.

Webhook events: sales.unmapped_item, sales_order.created, sales_order.shipped, sales_order.cancelled, invoice.issued, invoice.paid. See Webhooks.

All paths are relative to /api/v1. Key is the scope an integration key needs, People the permission a signed-in person or personal key needs, and Feature the feature switch the endpoint belongs to. See how to read this reference.

  • GET/customers

    List customers

    Keysales:read
    Peoplesales.read
    Featuresales.orders
  • POST/customers

    Create a customer

    Keysales:write
    Peoplecustomers.manage
    Featuresales.orders
  • GET/customers/external/{externalId}

    Get a customer by external ID

    Keysales:read
    Peoplesales.read
    Featuresales.orders
  • PUT/customers/external/{externalId}

    Create or replace a customer by external ID

    Keysales:write
    Peoplecustomers.manage
    Featuresales.orders
  • GET/customers/{id}

    Get a customer

    Keysales:read
    Peoplesales.read
    Featuresales.orders
  • PATCH/customers/{id}

    Update a customer (partial)

    Keysales:write
    Peoplecustomers.manage
    Featuresales.orders
  • DELETE/customers/{id}

    Archive a customer

    Keysales:write
    Peoplecustomers.manage
    Featuresales.orders
  • GET/invoices

    List invoices

    Keysales:read
    Peoplesales.read
    Featuresales.invoicing
  • GET/invoices/{id}

    Get an invoice

    Keysales:read
    Peoplesales.read
    Featuresales.invoicing
  • GET/invoices/{id}/pdf

    Download an invoice as PDF

    Keysales:read
    Peoplesales.read
    Featuresales.invoicing
  • POST/invoices/{id}:pay

    Record payment of an invoice

    Keysales:write
    Peopleinvoices.issue
    Featuresales.invoicing
  • POST/invoices/{id}:void

    Void an invoice

    Keysales:write
    Peopleinvoices.issue
    Featuresales.invoicing
  • GET/sales-orders

    List sales orders

    Keysales:read
    Peoplesales.read
    Featuresales.orders
  • POST/sales-orders

    Create a sales order (reserves stock)

    Keysales:write
    Peoplesales_orders.manage
    Featuresales.orders
  • PUT/sales-orders/external/{externalId}

    Create or update an order from another system (e.g. an online store)

    Keysales:write
    Peoplesales_orders.manage
    Featuresales.orders
  • GET/sales-orders/{id}

    Get a sales order

    Keysales:read
    Peoplesales.read
    Featuresales.orders
  • POST/sales-orders/{id}:cancel

    Cancel an order (releases reserved stock)

    Keysales:write
    Peoplesales_orders.manage
    Featuresales.orders
  • POST/sales-orders/{id}:invoice

    Issue an invoice for an order

    Keysales:write
    Peopleinvoices.issue
    Featuresales.invoicing
  • POST/sales-orders/{id}:ship

    Ship an order (deducts stock)

    Keysales:write
    Peoplesales_orders.manage
    Featuresales.orders
  • GET/sales-summaries

    List sales summaries

    Keysales:read
    Peoplesales.read
    Featuresales.feeds
  • POST/sales-summaries

    Send hourly or daily sales totals

    Keysales:write
    Peoplenot allowed
    Featuresales.feeds
  • GET/sales/transactions

    List sales transactions

    Keysales:read
    Peoplesales.read
    Featuresales.feeds
  • POST/sales/transactions:batch

    Send sales transactions from a POS or online store

    Keysales:write
    Peoplenot allowed
    Featuresales.feeds
  • GET/sales/unmapped-items

    Items in sales feeds that aren't linked to a PurrOS item

    Keysales:read
    Peoplesales.read
    Featuresales.feeds
  • POST/sales/unmapped-items:map

    Link an unmapped item reference to a PurrOS item

    Keysales:write
    Peoplesales.unmapped.resolve
    Featuresales.feeds