Naar de inhoud

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

De API-referentie is in het Engels.

Get the profile ​

GET/connect/v1/store/customer/profile
Publishable of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Statuscodes

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

Goed om te weten

  • 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"
Voorbeeldantwoord · 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 of geheime sleutelVereist X-Sales-ChannelIngelogde klant

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"
Voorbeeldantwoord · 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 of geheime sleutelVereist X-Sales-ChannelIngelogde klant

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"
Voorbeeldantwoord · 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 of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Queryparameters

  • 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"
Voorbeeldantwoord · 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 of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Queryparameters

  • per_pageinteger

    Default 10.

  • pageinteger

    Page number.

Goed om te weten

  • 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"
Voorbeeldantwoord · 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 of geheime sleutelVereist X-Sales-ChannelIngelogde klant

Padparameters

  • referencestringverplicht

    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"
Voorbeeldantwoord · 200
{
  "order": {
    "reference": "ORD-EXAMPLE00001",
    "status": {
      "name": "paid"
    },
    "shipping_address": {
      "…": "…"
    },
    "lines": [
      "…"
    ],
    "invoice": {
      "transactions": [
        "…"
      ]
    },
    "…": "…"
  }
}