Naar de inhoud

Locations and reference data ​

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

Calls an app makes before it knows which location (sales channel) to use.

INFO

De API-referentie is in het Engels.

List locations ​

The organization's active sales channels, sorted by name. Delivery-platform channels (Uber Eats and the like) are left out. Use a location's sales_channel_token as the X-Sales-Channel header of every /store call. This endpoint itself needs no sales channel.

GET/connect/v1/locations
Publishable of geheime sleutel

Goed om te weten

  • holiday_hours covers the next 14 days. is_open_now is false after the last-order cutoff.
curl "https://api.conciar.com/connect/v1/locations" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key"
Voorbeeldantwoord · 200
{
  "data": {
    "timezone": "Europe/Amsterdam",
    "locations": [
      {
        "sales_channel_token": "cnct_ch_your_channel_token",
        "name": "Bistro Example — Centre",
        "is_test": false,
        "address": "Example Street 1, 1000 AA Example City",
        "city": "Example City",
        "latitude": 52,
        "longitude": 4,
        "operating_hours": {
          "monday": {
            "isOpen": true,
            "is24Hours": false,
            "timeSlots": [
              {
                "openTime": "11:00",
                "closeTime": "22:00"
              }
            ]
          },
          "tuesday": {
            "isOpen": true,
            "is24Hours": false,
            "timeSlots": [
              {
                "openTime": "11:00",
                "closeTime": "22:00"
              }
            ]
          },
          "wednesday": {
            "isOpen": true,
            "is24Hours": false,
            "timeSlots": [
              {
                "openTime": "11:00",
                "closeTime": "22:00"
              }
            ]
          },
          "thursday": {
            "isOpen": true,
            "is24Hours": false,
            "timeSlots": [
              {
                "openTime": "11:00",
                "closeTime": "22:00"
              }
            ]
          },
          "friday": {
            "isOpen": true,
            "is24Hours": false,
            "timeSlots": [
              {
                "openTime": "11:00",
                "closeTime": "23:00"
              }
            ]
          },
          "saturday": {
            "isOpen": true,
            "is24Hours": false,
            "timeSlots": [
              {
                "openTime": "12:00",
                "closeTime": "23:00"
              }
            ]
          },
          "sunday": {
            "isOpen": false,
            "is24Hours": false,
            "timeSlots": []
          }
        },
        "holiday_hours": [],
        "is_open_now": true,
        "asap_enabled": true,
        "lead_time_minutes": 15,
        "slot_minutes": 15,
        "last_order_minutes_before_close": 10,
        "max_days_ahead": 0
      }
    ]
  }
}

List countries ​

Every country with its ISO codes, calling prefix and address/phone formats, sorted by name. Use the id wherever a country_id is asked for.

GET/connect/v1/countries
Publishable of geheime sleutel

Goed om te weten

  • name is a lowercase key, not a display name.
curl "https://api.conciar.com/connect/v1/countries" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key"
Voorbeeldantwoord · 200
{
  "countries": [
    {
      "id": 150,
      "name": "netherlands",
      "iso_code_2": "NL",
      "iso_code_3": "NLD",
      "call_prefix": 31,
      "active": true,
      "has_state": false,
      "has_zipcode": true,
      "zipcode_format": "NNNN LL",
      "phone_digits": 9,
      "…": "…"
    }
  ]
}

App start-up handshake ​

Call once per app launch or resume. Returns the server time and whether the sent bearer token belongs to a member of this organization. It never answers 401. When the merchant has app installations turned on, the install is recorded.

POST/connect/v1/app/init
Publishable of geheime sleutelVereist X-Sales-ChannelKlanttoken optioneel

Rate limit: 30/min per key (a publishable key: per key and IP)

Body

  • installation_idstringverplicht

    Your stable id for this install, max 64.

  • platformstringverplicht

    ios, android, web, macos, windows or linux.

  • app_versionstringverplicht

    Max 32.

  • build_numberstring

    Max 32.

  • os_versionstring

    Max 64.

  • device_modelstring

    Max 100.

  • localestring

    Max 20.

  • timezonestring

    Max 64.

Statuscodes

  • 422Validation failed: {status: false, message, errors}.

Goed om te weten

  • authenticated is true only when a bearer token is sent and belongs to a member of this organization. server_time is in the organization's timezone.
curl -X POST "https://api.conciar.com/connect/v1/app/init" \
  -H "Accept: application/json" \
  -H "X-Api-Key: pk_your_publishable_key" \
  -H "X-Sales-Channel: cnct_ch_your_channel_token" \
  -H "Content-Type: application/json" \
  -d '{
    "installation_id": "a1b2c3d4-example",
    "platform": "ios",
    "app_version": "1.4.0"
  }'
Voorbeeldantwoord · 200
{
  "data": {
    "server_time": "2026-10-16T11:58:12+02:00",
    "authenticated": false
  }
}