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.
- Type: string
Authorization requiredThis is a combination of unique API key as well as business key (UUID) as the Authorization header.
- Type: numberFormat: double
amount requiredOrder amount before any taxes (sum of all amounts minus any discounts). Same as
receipt_amountandsubtotal_amount. - Type: integer
cc _last4 Last 4 digits of the user's credit card number
- Type: string
channel 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.
- Type: string
employee _id ID of employee
- Type: string
employee _name Name of employee
- Type: boolean
is _test Accepts any one of two values: 1 (True) - it is a test receipt, or 0 (False) - it is a normal receipt.
- 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
- Type: numberFormat: double
payable requiredAmount paid after applying discounts and adding any taxes or service charges. For example, if the order amount is $10, the values of the
receipt_amountandsubtotal_amountparameters will be $10. If a $2 discount is applied,subtotal_amountbecomes $8. However, if there are $3 service charges and $1 tax, the value of thepayableparameter becomes $12 (10 – 2 + 3 + 1 = 12). - Type: string
pos _type requiredName 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
- Type: string
pos _version requiredVersion of the client software
- Type: string
punchh _key requiredPunchh key (barcode without parity bit) of the receipt as generated by the POS. Should be 11 or 12, 20 digits
- Type: numberFormat: double
receipt _amount requiredOrder 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, bothreceipt_amountandsubtotal_amountwill be 10. If a $2 discount is applied, both will be 8.
- Type: object
200 - Type: object
400 - Type: string
error
- Type: array string[]
401 Not authorized. Location token missing/invalid.
{}