sso_loyalty_checkin

Create Loyalty Check-in

Creates a loyalty check-in for an online order against a given receipt. Requires menu items and parameters to be sent.

Headers
  • x-pch-digest
    Type: string
    required

    The signature for the API call

  • Content-Type
    Type: string
    required

    Set this header to application/json.

  • Accept
    Type: string
    required

    Advertises which content types the client is able to understand

  • User-Agent
    Type: string
    required

    For details, see User Agent.

  • Authorization
    Type: string
    required

    You may pass the access_token instead of the authentication_token in Online Ordering endpoints to authorize the request. It must be supplied as Bearer ACCESS_TOKEN_GOES_HERE. Note: When authentication is performed using Advanced Authentication, you must include the id_token in the id-token header and the access_token in the Authorization header. See Access Punchh APIs Using Access and ID tokens

  • id-token
    Type: string

    A token that contains identity information about the authenticated user. It is used to verify the user’s identity and is required only when authentication is performed using Advanced Authentication. This token alone does not grant access to Punchh APIs. To access the APIs, you must include the id_token in the id-token header and the access_token in the Authorization header. See Access Punchh APIs Using Access and ID tokens

Body
application/json
  • authentication_token
    Type: string

    The authentication token of the user. You can retrieve this from the response of a successful sign-in API call or through the SSO process.

  • cc_last4
    Type: string

    Last 4 digits of credit card number

  • channel
    Type: stringenum

    Channel through which the check-in was requested. Possible values are: online_order, pos,web, mobile, dashboard, chatbot, kiosk.

    • pos
    • web
    • online_order
    • mobile
    • dashboard
    • chatbot
    • kiosk
  • client
    Type: string
    required

    Client key of the business

  • employee_id
    Type: string

    ID of the employee who took the order. In case of a system order, it can be a system-generated ID.

  • employee_name
    Type: string

    Name of the employee who took the order. In case of a system order, it can be the name of the system.

  • external_uid
    Type: string
    required

    Unique ID generated by your system. We use this to prevent duplicates in case the same transaction gets triggered twice.

  • menu_items
    Type: array Menu Items (Object)[]
  • payable
    Type: string
    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).

  • 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.

  • receipt_datetime
    Type: string
    required

    Timestamp of the receipt as per ISO 8601, in YYYY-MM-DDThh:mm:ssZ format

  • revenue_code
    Type: string

    Name of the online ordering function that designates order fulfillment method (e.g., to-go/take out, call-in pickup, call-in deliver, etc.). Some online ordering systems call this Revenue Center, Order Method, Order Mode, etc. The values assigned here should represent the way the order is fulfilled for the customer, not the area in the restaurant where the order is placed (e.g., not bar, patio, dining room, etc.).

Responses
  • 200
    Type: object
    • checkin
      Type: object
    • checkins
      Type: integer

      Total number of check-ins for this online order

    • first_name
      Type: string

      First name of the user

    • last_name
      Type: string

      Last name of the user

    • points
      Type: integer

      Total points earned for this online order

  • 400

    Sending missing/incorrect params, bad encoding etc

  • 401

    Sending invalid credentials

  • 412

    Sending invalid Signature

  • 422

    Sending invalid Entity

post/api/auth/checkins/online_order
{
  "first_name": "string",
  "last_name": "string",
  "checkins": 1,
  "points": 1,
  "checkin": {
    "created_at": "2025-12-19T16:30:10.408Z",
    "external_uid": "string",
    "checkin_id": 1,
    "pending_points": 1,
    "pending_refresh": true,
    "points_earned": 1,
    "bar_code": "string"
  }
}