receipt_details

Store Receipt Details From POS

This API call requires the API key as well as the business key to be sent in the HTTP Authorization header in the following format:

Authorization: Token token=LOCATION_KEY_GOES_HERE, btoken=BUSINESS_KEY_GOES_HERE

where

LOCATION_KEY_GOES_HERE is the API key (which is unique for a location) and BUSINESS_KEY_GOES_HERE is the business key (which is unique for a business).

See cURL examples for more details.

1. The receipt_details endpoint can store the same receipt multiple times. If the POS client sends the same receipt (same punchh_key, same location_key) many times, we store all the versions of that same receipt, provided that the time between HTTP requests is 1 second or more. However, if the same receipt is received via multiple HTTP calls in about the same time (less than 1 second), the last one overwrites the previous version of that receipt.

2. The endpoint accepts parameters in JSON as well.

3. “isl receipt details” endpoint for ALL transactions.

4. “checkins” for registered Punchh users wanting credit at the register via email, phone, QR code, or card number

5. All transactions generate the barcode / Punchh key.

6. All transactions print a barcode (?) on the receipt with that Punchh key.

7. In the event of a network outage, we expect data that was to be sent to the ISL and check-in endpoints to be queued and sent later. We do not expect the redemptions to work in that case as there is no way to receive the amount from Punchh.

Headers
  • Authorization
    Type: string
    required

    This is a combination of unique API key as well as business key (UUID) as the Authorization header.

Body
application/json
  • amount
    Type: numberFormat: double
    required

    Order amount before any taxes (sum of all amounts minus any discounts). Same as receipt_amount and subtotal_amount.

  • cc_last4
    Type: integer

    Last 4 digits of the user's credit card number

  • channel
    Type: string

    Channel through which the check-in was requested. Possible values are: online_order, pos, web, mobile, dashboard, chatbot, kiosk. Optional, though if not provided in the receipt details request, defaults to the value used in the associated check-in call.

  • employee_id
    Type: string

    ID of employee

  • employee_name
    Type: string

    Name of employee

  • is_test
    Type: boolean

    Accepts any one of two values: 1 (True) - it is a test receipt, or 0 (False) - it is a normal receipt.

  • menu_items
    Type: array Menu Items (Array Object)[]
    required

    The array contains one or more menu item objects added to an order. You send one of these arrays per API call. See How To Send Menu Items to Punchh

  • payable
    Type: numberFormat: double
    required

    Amount paid after applying discounts and adding any taxes or service charges. For example, if the order amount is $10, the values of the receipt_amount and subtotal_amount parameters will be $10. If a $2 discount is applied, subtotal_amount becomes $8. However, if there are $3 service charges and $1 tax, the value of the payable parameter becomes $12 (10 – 2 + 3 + 1 = 12).

  • pos_type
    Type: string
    required

    Name of the POS client that is sending the receipts.

    Possible values: A1 POS, Adora POS, Aloha, Aloha (Secure), Appetize, Auphan, Bite Kiosk, Brink, Comtrex, DataPoint, EPoint, Focus, Focus POS Systems, FoodTec, FoodTec V2, Gilbarco, GJS Kiosk, Granbury, Grubburr Kiosk, HoneyBakedHam POS, Hooters Hoa, HungerRush POS (Formerly Revention), InfoKING, Itwercs POS, iVend POS, Maitre’D, Marble Kiosk, Marblepos, Micros RES 3700, Micros Simphony, NCR ISS45 POS, NCR kiosk, NCR RPOS, NCR Silver, NCR Silver Essential, NCR Silver Pro, NCR Storepoint, Nextep kiosk, Onetap, PAR, PiZMET, Plum POS, Positouch, PosNet, Proprietary POS, Punchh Kiosk, Punchh Secure, QikServe Kiosk, Quardzilla, QuBeyond POS (Formerly Gusto), QuickServe, Ready (Pay-on-the-GO), Revel, SICOM, SpeedLine, Squirrel, Steak n Shake, TCPOS, Tevalis POS, Toast, Toast V3, Tray POS, Treatware, Verifone, VisualTouch POS, XPO Pay@Table, Xchangexec (Task retail), Xenial Cloud,  Xpient, Xpient (Secure), Zonal POS

  • pos_version
    Type: string
    required

    Version of the client software

  • punchh_key
    Type: string
    required

    Punchh key (barcode without parity bit) of the receipt as generated by the POS. Should be 11 or 12, 20 digits

  • receipt_amount
    Type: numberFormat: double
    required

    Order amount before taxes, calculated as the sum of all item amounts minus any discounts. This is the amount used to calculate loyalty points/visits. The value of this parameter should match subtotal_amount. For example, if the order amount is $10, both receipt_amount and subtotal_amount will be 10. If a $2 discount is applied, both will be 8.

Responses
  • 200
    Type: object
  • 400
    Type: object
    • error
      Type: string
  • 401
    Type: array string[]

    Not authorized. Location token missing/invalid.

post/receipt_details
{}