Zum Inhalt

Customer account ​

Connect API · https://api.conciar.com/connect/v1

For a signed-in customer (bearer token from /auth/otp/verify). Without a valid token: 401 Unauthenticated.

INFO

Die API-Referenz ist auf Englisch.

Get the profile ​

GET/connect/v1/store/customer/profile
Publishable Key oder geheimer SchlüsselErfordert X-Sales-ChannelAngemeldeter Kunde

Statuscodes

  • 404NOT_A_MEMBER — the customer is not a member of this organization.

Gut zu wissen

  • member_reference is the value to show as the membership QR code.
curl "https://api.conciar.com/connect/v1/store/customer/profile" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Authorization: Bearer your_customer_access_token"
Beispielantwort · 200
{
  "data": {
    "id": 4242,
    "first_name": "Alex",
    "last_name": "Example",
    "email": "alex@example.com",
    "member_since": "2026-03-01T10:00:00+01:00",
    "member_reference": "M-EXAM-PLE0-0000",
    "marketing_opt_in": false
  }
}

Get points, stamps and history ​

The points balance and its value, the stamp card, the programme rules and the last 20 loyalty events.

GET/connect/v1/store/customer/loyalty
Publishable Key oder geheimer SchlüsselErfordert X-Sales-ChannelAngemeldeter Kunde

Statuscodes

  • 404NOT_A_MEMBER.
curl "https://api.conciar.com/connect/v1/store/customer/loyalty" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Authorization: Bearer your_customer_access_token"
Beispielantwort · 200
{
  "data": {
    "member_reference": "M-EXAM-PLE0-0000",
    "points": {
      "enabled": true,
      "balance": 120,
      "value": {
        "amount": "1.20",
        "minor": 120,
        "currency": "EUR"
      },
      "point_value": 0.01,
      "min_redemption": 100,
      "max_redemption_pct": 50,
      "can_redeem": true,
      "earn_rate": 1,
      "earn_on": "gross",
      "qualifying": {
        "scope": "all",
        "category_ids": [],
        "item_ids": null
      },
      "boosts": []
    },
    "stamps": {
      "enabled": true,
      "count": 4,
      "per_reward": 10,
      "rewards_available": 0,
      "title": "Coffee card",
      "description": null,
      "…": "…"
    },
    "history": [
      {
        "id": 1,
        "type": "points_earned",
        "stamps": 0,
        "points": 25,
        "order_reference": "EXAMPLE-0001",
        "created_at": "2026-10-10T12:31:00+02:00"
      }
    ]
  }
}

List deals ​

Promotions that apply on this channel now (no code needed) and the personal coupons assigned to this member.

GET/connect/v1/store/customer/deals
Publishable Key oder geheimer SchlüsselErfordert X-Sales-ChannelAngemeldeter Kunde

Statuscodes

  • 404NOT_A_MEMBER.
curl "https://api.conciar.com/connect/v1/store/customer/deals" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Authorization: Bearer your_customer_access_token"
Beispielantwort · 200
{
  "data": [
    {
      "id": "promo_12",
      "title": "2 for 1 on Tuesdays",
      "description": null,
      "item_id": 101,
      "coupon_code": null,
      "valid_until": null
    },
    {
      "id": "coupon_8",
      "title": "Welcome gift",
      "description": null,
      "item_id": null,
      "coupon_code": "WELCOME-EXAMPLE",
      "valid_until": "2026-12-31T23:59:59+01:00"
    }
  ]
}

List takeaway orders ​

The customer's app and takeaway orders, newest first, paginated.

GET/connect/v1/store/customer/restaurant/orders
Publishable Key oder geheimer SchlüsselErfordert X-Sales-ChannelAngemeldeter Kunde

Query-Parameter

  • per_pageinteger

    1–50, default 20.

  • pageinteger

    Page number.

curl "https://api.conciar.com/connect/v1/store/customer/restaurant/orders" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Authorization: Bearer your_customer_access_token"
Beispielantwort · 200
{
  "data": [
    {
      "reference": "EXAMPLE-0001",
      "pickup_number": null,
      "pickup_name": "Alex",
      "store": {
        "sales_channel_token": "cnct_ch_your_channel_token",
        "name": "Bistro Example"
      },
      "status": "awaiting_payment",
      "pickup_at": "2026-10-16T12:30:00+02:00",
      "release_at": null,
      "created_at": "2026-10-16T11:58:12+02:00",
      "customer_notes": null,
      "lines": [
        {
          "item_id": 101,
          "name": "Example burger",
          "image_url": null,
          "qty": 2,
          "selections": [
            "Extra cheese"
          ],
          "option_ids": [
            501
          ],
          "unit_price": {
            "amount": "12.50",
            "minor": 1250,
            "currency": "EUR"
          },
          "total_price": {
            "amount": "25.00",
            "minor": 2500,
            "currency": "EUR"
          }
        }
      ],
      "subtotal": {
        "amount": "25.00",
        "minor": 2500,
        "currency": "EUR"
      },
      "discount": {
        "amount": "0.00",
        "minor": 0,
        "currency": "EUR"
      },
      "total": {
        "amount": "25.00",
        "minor": 2500,
        "currency": "EUR"
      },
      "reward_redeemed": false,
      "points_redeemed": 0,
      "points_discount": {
        "amount": "0.00",
        "minor": 0,
        "currency": "EUR"
      },
      "loyalty": {
        "stamps_earned": 0,
        "points_earned": 0
      }
    }
  ],
  "links": {
    "first": "…",
    "last": "…",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "per_page": 20,
    "to": 1,
    "total": 1,
    "…": "…"
  }
}

List store orders ​

The customer's orders with this organization, newest first. Each order has its status, currency, lines (with prices and taxes) and order prices. Internal fields, such as staff notes, are never included.

GET/connect/v1/store/customer/orders
Publishable Key oder geheimer SchlüsselErfordert X-Sales-ChannelAngemeldeter Kunde

Query-Parameter

  • per_pageinteger

    Default 10.

  • pageinteger

    Page number.

Gut zu wissen

  • A customer who is not a member gets {"orders": []}.
curl "https://api.conciar.com/connect/v1/store/customer/orders" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Authorization: Bearer your_customer_access_token"
Beispielantwort · 200
{
  "orders": {
    "current_page": 1,
    "data": [
      {
        "id": 1,
        "reference": "ORD-EXAMPLE00001",
        "status": {
          "name": "paid"
        },
        "currency": {
          "symbol": "EUR"
        },
        "lines": [
          "…"
        ],
        "prices": [
          "…"
        ],
        "created_at": "2026-10-10T10:00:00.000000Z",
        "…": "…"
      }
    ],
    "per_page": 10,
    "total": 1,
    "…": "…"
  }
}

Get a store order ​

One order with its addresses, lines, invoice and payment transactions (key, amount, status, method, paid_at), and credit notes.

GET/connect/v1/store/customer/orders/{reference}
Publishable Key oder geheimer SchlüsselErfordert X-Sales-ChannelAngemeldeter Kunde

Pfadparameter

  • referencestringerforderlich

    The order reference.

Statuscodes

  • 404Not found, or not this customer's order with this organization.
curl "https://api.conciar.com/connect/v1/store/customer/orders/ORD-EXAMPLE00001" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Authorization: Bearer your_customer_access_token"
Beispielantwort · 200
{
  "order": {
    "reference": "ORD-EXAMPLE00001",
    "status": {
      "name": "paid"
    },
    "shipping_address": {
      "…": "…"
    },
    "lines": [
      "…"
    ],
    "invoice": {
      "transactions": [
        "…"
      ]
    },
    "…": "…"
  }
}