Skip to content
innovorder
⌘K

Organization

Brand Configuration

Payment Configuration

Manage the brand-level payment configuration: e-wallet overdraft settings and, for brands running in education mode, the daily payment limit. Amounts are expressed in cents. See the E-Wallet section for how e-wallet balances work - the overdraft configured here is what allows customer balances to go negative.

GET/brands/{brandId}/payment_configurationGet Payment Configuration

Retrieve the payment configuration of the brand. The paymentDailyLimit field is only included in the response when the education mode option is active on the brand - its absence does not mean the value is null.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "brand_payment_configuration_succeed",
  "data": {
    "paymentConfigurationId": 77,
    "ewalletOverdraftAmount": 2000,
    "useEwalletOverdraft": true,
    "brandId": 100
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"brand_payment_configuration_succeed"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.paymentConfigurationIdinteger77Identifier of the associated payment configuration.
data.ewalletOverdraftAmountinteger2000The ewallet overdraft amount value.
data.useEwalletOverdraftbooleantrueThe use ewallet overdraft value.
data.brandIdinteger100Identifier of the brand.

Full Replacement Update

The update below behaves as a full replacement, not a partial update. Omitted fields are reset, not preserved: useEwalletOverdraft defaults to false when omitted, ewalletOverdraftAmount is forced to null unless useEwalletOverdraft is true, and paymentDailyLimit is reset to null when omitted. Always send the complete configuration.

PUT/brands/{brandId}/payment_configurationUpdate Payment Configuration

Update the payment configuration of the brand. Modifying useEwalletOverdraft or ewalletOverdraftAmount requires the CAN_MANAGE_BRAND_EWALLET_OVERDRAFT access flag on the calling user (an ACTION_NOT_ALLOWED error is returned otherwise). ewalletOverdraftAmount (cents, >= 0) is only taken into account when useEwalletOverdraft is true. If usePaymentDailyLimit is present and false, paymentDailyLimit is forced to null.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "useEwalletOverdraft": true,
  "ewalletOverdraftAmount": 2000,
  "usePaymentDailyLimit": true,
  "paymentDailyLimit": 5000
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
useEwalletOverdraftbooleantrueThe use ewallet overdraft value.
ewalletOverdraftAmountinteger2000The ewallet overdraft amount value.
usePaymentDailyLimitbooleantrueThe use payment daily limit value.
paymentDailyLimitinteger5000The payment daily limit value.

Response

json
{
  "status": 200,
  "code": "brand_payment_configuration_update_succeed",
  "data": {
    "paymentConfigurationId": 77,
    "ewalletOverdraftAmount": 2000,
    "useEwalletOverdraft": true,
    "paymentDailyLimit": 5000,
    "brandId": 100
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"brand_payment_configuration_update_succeed"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.paymentConfigurationIdinteger77Identifier of the associated payment configuration.
data.ewalletOverdraftAmountinteger2000The ewallet overdraft amount value.
data.useEwalletOverdraftbooleantrueThe use ewallet overdraft value.
data.paymentDailyLimitinteger5000The payment daily limit value.
data.brandIdinteger100Identifier of the brand.

Brand Modules

Modules hold the feature configuration of a brand for each sales channel (ordering flow, payment, style...). The brand-level configuration serves as the inherited base for all restaurants of the brand: restaurant-level module updates are merged on top of it. Use GET /brands/{brandId}/modules to discover the (moduleId, channelId) pairs configured for your brand - the moduleId 12 used in the examples below is the ordering flow module. See the Restaurant Modules page for the channel ID reference values and the restaurant-level counterpart of these endpoints.

GET/brands/{brandId}/modulesList Brand Modules

Retrieve all modules configured at brand level, grouped by channel, then category, then module name. Note that the first-level keys of the data object are channel IDs as numeric strings, not an array.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "module_succeed",
  "data": {
    "2": {
      "ordering": {
        "flow": {
          "moduleId": 12,
          "channelId": 2,
          "brandId": 100,
          "is_enabled": true,
          "isOrderFollowUpEnabled": false,
          "isProductFollowUpEnabled": false
        }
      }
    },
    "5": {
      "ordering": {
        "flow": {
          "moduleId": 12,
          "channelId": 5,
          "brandId": 100,
          "is_enabled": true
        }
      }
    }
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"module_succeed"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.2object{…}Object containing 2 fields.
data.2.orderingobject{…}Object containing ordering fields.
data.2.ordering.flowobject{…}Object containing flow fields.
data.2.ordering.flow.moduleIdinteger12Identifier of the associated module.
data.2.ordering.flow.channelIdinteger2Identifier of the associated channel.
data.2.ordering.flow.brandIdinteger100Identifier of the brand.
data.2.ordering.flow.is_enabledbooleantrueWhether enabled is enabled or applies.
data.2.ordering.flow.isOrderFollowUpEnabledbooleanfalseWhether order follow up enabled is enabled or applies.
data.2.ordering.flow.isProductFollowUpEnabledbooleanfalseWhether product follow up enabled is enabled or applies.
data.5object{…}Object containing 5 fields.
data.5.orderingobject{…}Object containing ordering fields.
data.5.ordering.flowobject{…}Object containing flow fields.
data.5.ordering.flow.moduleIdinteger12Identifier of the associated module.
data.5.ordering.flow.channelIdinteger5Identifier of the associated channel.
data.5.ordering.flow.brandIdinteger100Identifier of the brand.
data.5.ordering.flow.is_enabledbooleantrueWhether enabled is enabled or applies.

Configuration Overwrite

The endpoint below is an upsert that overwrites the existing configuration for the given (moduleId, channelId) pair at brand level - the values you send always take precedence over the current ones. Since restaurants inherit their module configuration from the brand, this change impacts every restaurant of the brand. The web ordering configuration cache of the brand is invalidated.

POST/brands/{brandId}/modulesCreate or Update Brand Module

Create or update the configuration of a module for a channel at brand level. moduleId, channelId and module are all required (a 400 missing_parameters error is returned otherwise). The content of the module object depends on the module type.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "moduleId": 12,
  "channelId": 2,
  "module": {
    "is_enabled": true,
    "isOrderFollowUpEnabled": true
  }
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
moduleIdinteger12Identifier of the associated module.
channelIdinteger2Identifier of the associated channel.
moduleobject{…}Object containing module fields.
module.is_enabledbooleantrueWhether enabled is enabled or applies.
module.isOrderFollowUpEnabledbooleantrueWhether order follow up enabled is enabled or applies.

Response

json
{
  "status": 200,
  "code": "module_create_succeed",
  "message": "Module has been successfully created.",
  "data": {
    "moduleId": 12,
    "channelId": 2,
    "brandId": 100,
    "is_enabled": true,
    "isOrderFollowUpEnabled": true
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"module_create_succeed"Machine-readable application code for the result.
messagestring"Module has been successfully created."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.moduleIdinteger12Identifier of the associated module.
data.channelIdinteger2Identifier of the associated channel.
data.brandIdinteger100Identifier of the brand.
data.is_enabledbooleantrueWhether enabled is enabled or applies.
data.isOrderFollowUpEnabledbooleantrueWhether order follow up enabled is enabled or applies.

Social Networks

Manage the social network links of a brand (Facebook, Instagram, Twitter, TripAdvisor...). These links are typically displayed on web ordering pages.

Role Requirement

The social network endpoints require a restaurant user account. Tokens with the brand role are not accepted on these routes.

GET/brands/{brandId}/social_networkGet Social Networks

Retrieve the social network links of the brand. All fields are nullable strings. The data field is null if the social network record has never been created.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "social_network_succeed",
  "data": {
    "facebook": "https://facebook.com/innovorderburgers",
    "googleplus": null,
    "instagram": "https://instagram.com/innovorderburgers",
    "twitter": null,
    "pinterest": null,
    "linkedin": null,
    "yelp": null,
    "tracktl": null,
    "tripAdvisor": "https://tripadvisor.com/innovorder-burgers"
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"social_network_succeed"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.facebookstring"https://facebook.com/innovorderburgers"The facebook value.
data.googleplusnullnullThe googleplus value.
data.instagramstring"https://instagram.com/innovorderburgers"The instagram value.
data.twitternullnullThe twitter value.
data.pinterestnullnullThe pinterest value.
data.linkedinnullnullThe linkedin value.
data.yelpnullnullThe yelp value.
data.tracktlnullnullThe tracktl value.
data.tripAdvisorstring"https://tripadvisor.com/innovorder-burgers"The trip advisor value.

POST/brands/{brandId}/social_networkCreate Social Networks

Create the social network record of the brand. All fields are optional strings (URLs). Use this endpoint only once to create the record, then use PUT for subsequent updates. Invalidates the web ordering configuration cache of the brand.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "facebook": "https://facebook.com/innovorderburgers",
  "instagram": "https://instagram.com/innovorderburgers",
  "tripAdvisor": "https://tripadvisor.com/innovorder-burgers"
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
facebookstring"https://facebook.com/innovorderburgers"The facebook value.
instagramstring"https://instagram.com/innovorderburgers"The instagram value.
tripAdvisorstring"https://tripadvisor.com/innovorder-burgers"The trip advisor value.

Response

json
{
  "status": 200,
  "code": "social_network_succeed",
  "data": {
    "facebook": "https://facebook.com/innovorderburgers",
    "googleplus": null,
    "instagram": "https://instagram.com/innovorderburgers",
    "twitter": null,
    "pinterest": null,
    "linkedin": null,
    "yelp": null,
    "tracktl": null,
    "tripAdvisor": "https://tripadvisor.com/innovorder-burgers"
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"social_network_succeed"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.facebookstring"https://facebook.com/innovorderburgers"The facebook value.
data.googleplusnullnullThe googleplus value.
data.instagramstring"https://instagram.com/innovorderburgers"The instagram value.
data.twitternullnullThe twitter value.
data.pinterestnullnullThe pinterest value.
data.linkedinnullnullThe linkedin value.
data.yelpnullnullThe yelp value.
data.tracktlnullnullThe tracktl value.
data.tripAdvisorstring"https://tripadvisor.com/innovorder-burgers"The trip advisor value.

PUT/brands/{brandId}/social_networkUpdate Social Networks

Update the existing social network record of the brand. Same nine optional fields as the creation endpoint: facebook, googleplus, instagram, twitter, pinterest, linkedin, yelp, tracktl, tripAdvisor. Omitted fields are preserved. This endpoint fails if no social network record exists yet - create it first with POST. Invalidates the web ordering configuration cache of the brand.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "twitter": "https://twitter.com/innovorderburgers",
  "linkedin": "https://linkedin.com/company/innovorder-burgers"
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
twitterstring"https://twitter.com/innovorderburgers"The twitter value.
linkedinstring"https://linkedin.com/company/innovorder-burgers"The linkedin value.

Response

json
{
  "status": 200,
  "code": "social_network_update_succeed",
  "data": {
    "facebook": "https://facebook.com/innovorderburgers",
    "googleplus": null,
    "instagram": "https://instagram.com/innovorderburgers",
    "twitter": "https://twitter.com/innovorderburgers",
    "pinterest": null,
    "linkedin": "https://linkedin.com/company/innovorder-burgers",
    "yelp": null,
    "tracktl": null,
    "tripAdvisor": "https://tripadvisor.com/innovorder-burgers"
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"social_network_update_succeed"Machine-readable application code for the result.
dataobject{…}Endpoint-specific response payload.
data.facebookstring"https://facebook.com/innovorderburgers"The facebook value.
data.googleplusnullnullThe googleplus value.
data.instagramstring"https://instagram.com/innovorderburgers"The instagram value.
data.twitterstring"https://twitter.com/innovorderburgers"The twitter value.
data.pinterestnullnullThe pinterest value.
data.linkedinstring"https://linkedin.com/company/innovorder-burgers"The linkedin value.
data.yelpnullnullThe yelp value.
data.tracktlnullnullThe tracktl value.
data.tripAdvisorstring"https://tripadvisor.com/innovorder-burgers"The trip advisor value.

Customer Groups

Retrieve the customer groups configured for a brand. For multi-brand (brand group) endpoints - listing the brands of a group and switching context to a brand - see the Brands page.

GET/brands/{brandId}/groupsGet Groups for Brand

Retrieve the customer groups configured for a specific brand.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "brand_groups_found",
  "message": "Brand groups found",
  "data": [
    {
      "groupId": 1,
      "name": "VIP Customers",
      "brandId": 100
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"brand_groups_found"Machine-readable application code for the result.
messagestring"Brand groups found"Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].groupIdinteger1Identifier of the associated group.
data[].namestring"VIP Customers"The name value.
data[].brandIdinteger100Identifier of the brand.

Restaurant Families

Restaurant families allow grouping restaurants within a brand into categories (e.g., by region, concept, or type). These families are displayed on web ordering to help customers find the right restaurant.

GET/brand/{brandId}/brand_restaurant_familiesGet All Restaurant Families

Retrieve all restaurant families configured for a brand.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "brand_restaurant_families_found",
  "message": "The brand restaurant families have been found.",
  "data": [
    {
      "brandRestaurantFamilyId": 1,
      "brandId": 100,
      "name": "Paris Centre",
      "position": 1,
      "imageId": 501
    },
    {
      "brandRestaurantFamilyId": 2,
      "brandId": 100,
      "name": "Paris Ouest",
      "position": 2,
      "imageId": 502
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"brand_restaurant_families_found"Machine-readable application code for the result.
messagestring"The brand restaurant families have been found."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].brandRestaurantFamilyIdinteger1Identifier of the associated brand restaurant family.
data[].brandIdinteger100Identifier of the brand.
data[].namestring"Paris Centre"The name value.
data[].positioninteger1The position value.
data[].imageIdinteger501Identifier of the associated image.

POST/brand/{brandId}/brand_restaurant_familiesBulk Upsert Restaurant Families

Create or update multiple restaurant families in a single request. Existing families are matched by ID and updated; new ones are created.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "brandRestaurantFamilies": [
    {
      "name": "Paris Centre",
      "position": 1,
      "imageId": 501
    },
    {
      "brandRestaurantFamilyId": 2,
      "name": "Paris Ouest (updated)",
      "position": 2,
      "imageId": 503
    }
  ]
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
brandRestaurantFamiliesarray[…]List of brand restaurant families entries.
brandRestaurantFamilies[]object{…}Object containing brand restaurant families fields.
brandRestaurantFamilies[].namestring"Paris Centre"The name value.
brandRestaurantFamilies[].positioninteger1The position value.
brandRestaurantFamilies[].imageIdinteger501Identifier of the associated image.

Response

json
{
  "status": 200,
  "code": "brand_restaurant_families_upserted",
  "message": "The brand restaurant families have been upserted.",
  "data": [
    {
      "brandRestaurantFamilyId": 3,
      "brandId": 100,
      "name": "Paris Centre",
      "position": 1,
      "imageId": 501
    },
    {
      "brandRestaurantFamilyId": 2,
      "brandId": 100,
      "name": "Paris Ouest (updated)",
      "position": 2,
      "imageId": 503
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"brand_restaurant_families_upserted"Machine-readable application code for the result.
messagestring"The brand restaurant families have been upserted."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].brandRestaurantFamilyIdinteger3Identifier of the associated brand restaurant family.
data[].brandIdinteger100Identifier of the brand.
data[].namestring"Paris Centre"The name value.
data[].positioninteger1The position value.
data[].imageIdinteger501Identifier of the associated image.

Web Ordering (Public)

Public endpoints used by the web ordering frontend. These endpoints do not require authentication and use the brandHash (a public brand identifier) instead of the brandId.

GET/brands/webordering-configuration/{brandHash}Get Web Ordering Configuration

Retrieve the full web ordering configuration for a brand, including brand settings, restaurant list with their modules, consumption modes, and Stripe payment configuration. Results are cached for performance.

Parameters

NameTypeRequiredDescription
brandHashstringYesThe public hash identifier of the brand (found in the brand details response).

Response

json
{
  "status": 200,
  "code": "brand_succeed",
  "message": "You can access to this brand.",
  "data": {
    "brandId": 100,
    "brandHash": "bb10813b502b",
    "name": "Innovorder Burgers",
    "locale": "fr",
    "currency": "EUR",
    "restaurants": [
      {
        "restaurantId": 200,
        "name": "Paris Centre",
        "consumptionModes": [
          {
            "type": "eat_in"
          },
          {
            "type": "take_away"
          }
        ]
      }
    ],
    "consumptionModesFlag": 3,
    "stripeEnabled": true,
    "isCNTRELuncheonVoucherDeclared": false
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"brand_succeed"Machine-readable application code for the result.
messagestring"You can access to this brand."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.brandIdinteger100Identifier of the brand.
data.brandHashstring"bb10813b502b"The brand hash value.
data.namestring"Innovorder Burgers"The name value.
data.localestring"fr"The locale value.
data.currencystring"EUR"ISO 4217 currency code.
data.restaurantsarray[…]List of restaurants entries.
data.restaurants[]object{…}Object containing restaurants fields.
data.restaurants[].restaurantIdinteger200Identifier of the restaurant.
data.restaurants[].namestring"Paris Centre"The name value.
data.restaurants[].consumptionModesarray[…]List of consumption modes entries.
data.restaurants[].consumptionModes[]object{…}Object containing consumption modes fields.
data.restaurants[].consumptionModes[].typestring"eat_in"The type value.
data.consumptionModesFlaginteger3The consumption modes flag value.
data.stripeEnabledbooleantrueThe stripe enabled value.
data.isCNTRELuncheonVoucherDeclaredbooleanfalseWhether cntreluncheon voucher declared is enabled or applies.

GET/brand/{brandHash}/restaurantsGet Web Ordering Restaurants

Retrieve all restaurants available for web ordering, including their loyalty modules, ordering schedules, tags, and restaurant family associations.

Parameters

NameTypeRequiredDescription
brandHashstringYesThe public hash identifier of the brand.

Response

json
{
  "status": 200,
  "code": "webordering_restaurants_found",
  "message": "The webordering eligible restaurants have been found.",
  "data": [
    {
      "restaurantId": 200,
      "name": "Innovorder Burgers Paris",
      "address": {
        "locality": "Paris",
        "postalCode": "75001",
        "lat": 48.868,
        "lng": 2.329
      },
      "canOrderAsAnonymous": true
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"webordering_restaurants_found"Machine-readable application code for the result.
messagestring"The webordering eligible restaurants have been found."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].restaurantIdinteger200Identifier of the restaurant.
data[].namestring"Innovorder Burgers Paris"The name value.
data[].addressobject{…}Object containing address fields.
data[].address.localitystring"Paris"The locality value.
data[].address.postalCodestring"75001"The postal code value.
data[].address.latnumber48.868The lat value.
data[].address.lngnumber2.329The lng value.
data[].canOrderAsAnonymousbooleantrueWhether order as anonymous is enabled or applies.

GET/brand/{brandHash}/restaurants_familiesGet Web Ordering Restaurant Families

Retrieve the restaurant family categories available for web ordering. Used to group restaurants by geographic area or concept on the web ordering page.

Parameters

NameTypeRequiredDescription
brandHashstringYesThe public hash identifier of the brand.

Response

json
{
  "status": 200,
  "code": "webordering_restaurant_families_found",
  "message": "The webordering restaurant families have been found.",
  "data": [
    {
      "brandRestaurantFamilyId": 1,
      "name": "Paris Centre",
      "position": 1,
      "imageId": 501,
      "restaurants": [
        200,
        201
      ]
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"webordering_restaurant_families_found"Machine-readable application code for the result.
messagestring"The webordering restaurant families have been found."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].brandRestaurantFamilyIdinteger1Identifier of the associated brand restaurant family.
data[].namestring"Paris Centre"The name value.
data[].positioninteger1The position value.
data[].imageIdinteger501Identifier of the associated image.
data[].restaurantsarray[…]List of restaurants entries.
data[].restaurants[]integer200The restaurants value.

GET/brands/{brandId}/ewallet_consumption_modesGet E-Wallet Consumption Modes

Retrieve the available consumption modes for e-wallet payments on a brand. This is a public endpoint that does not require authentication.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "ewallet_consumption_modes_found",
  "message": "Ok",
  "data": [
    {
      "type": "eat_in",
      "label": "Sur place"
    },
    {
      "type": "take_away",
      "label": "A emporter"
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"ewallet_consumption_modes_found"Machine-readable application code for the result.
messagestring"Ok"Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].typestring"eat_in"The type value.
data[].labelstring"Sur place"The label value.

Email Whitelisting

Manage email domain whitelisting for a brand. When enabled, only customers with email addresses matching whitelisted domains can register. Each whitelisted domain can optionally be associated with a pricing rule, entrance fee, and group.

GET/brands/{brandId}/enable_customer_email_domain_names_whitelistingGet Email Whitelisting Status

Check whether email domain name whitelisting is enabled for a brand.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "enable_customer_email_domain_name_whitelisted_updated",
  "message": "Customer email domain names whitelisting has been updated",
  "data": {
    "isEnabled": true
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"enable_customer_email_domain_name_whitelisted_updated"Machine-readable application code for the result.
messagestring"Customer email domain names whitelisting has been updated"Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.isEnabledbooleantrueWhether this feature is enabled.

PUT/brands/{brandId}/enable_customer_email_domain_names_whitelistingToggle Email Whitelisting

Enable or disable email domain name whitelisting for a brand.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "isEnabled": true
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
isEnabledbooleantrueWhether this feature is enabled.

Response

json
{
  "status": 200,
  "code": "enable_customer_email_domain_name_whitelisted_updated",
  "message": "Customer email domain names whitelisting has been updated",
  "data": {
    "isEnabled": true
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"enable_customer_email_domain_name_whitelisted_updated"Machine-readable application code for the result.
messagestring"Customer email domain names whitelisting has been updated"Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.isEnabledbooleantrueWhether this feature is enabled.

GET/brands/{brandId}/whitelisted_customer_email_domain_namesGet Whitelisted Email Domains

Retrieve the list of whitelisted email domain names for a brand, with their associated pricing rules and entrance fees.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Response

json
{
  "status": 200,
  "code": "whitelisted_customer_email_domain_name_found",
  "message": "The domain names list has been found",
  "data": {
    "domainNames": [
      {
        "emailDomainName": "university.edu",
        "entranceFeeId": 201,
        "pricingRuleId": 301,
        "group": "students"
      },
      {
        "emailDomainName": "company.com",
        "entranceFeeId": null,
        "pricingRuleId": null,
        "group": "staff"
      }
    ]
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"whitelisted_customer_email_domain_name_found"Machine-readable application code for the result.
messagestring"The domain names list has been found"Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.domainNamesarray[…]List of domain names entries.
data.domainNames[]object{…}Object containing domain names fields.
data.domainNames[].emailDomainNamestring"university.edu"The email domain name value.
data.domainNames[].entranceFeeIdinteger201Identifier of the associated entrance fee.
data.domainNames[].pricingRuleIdinteger301Identifier of the associated pricing rule.
data.domainNames[].groupstring"students"The group value.

PUT/brands/{brandId}/whitelisted_customer_email_domain_namesUpdate Whitelisted Email Domains

Replace the list of whitelisted email domain names for a brand. Each domain can be associated with an entrance fee, pricing rule, and group.

Parameters

NameTypeRequiredDescription
brandIdintegerYesThe unique identifier of the brand.

Request Body

json
{
  "domainNames": [
    {
      "emailDomainName": "university.edu",
      "entranceFeeId": 201,
      "pricingRuleId": 301,
      "group": "students"
    },
    {
      "emailDomainName": "company.com",
      "entranceFeeId": null,
      "pricingRuleId": null,
      "group": "staff"
    }
  ]
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
domainNamesarray[…]List of domain names entries.
domainNames[]object{…}Object containing domain names fields.
domainNames[].emailDomainNamestring"university.edu"The email domain name value.
domainNames[].entranceFeeIdinteger201Identifier of the associated entrance fee.
domainNames[].pricingRuleIdinteger301Identifier of the associated pricing rule.
domainNames[].groupstring"students"The group value.

Response

json
{
  "status": 200,
  "code": "whitelisted_customer_email_domain_name_updated",
  "message": "The domain names list has been updated",
  "data": {
    "domainNames": [
      {
        "emailDomainName": "university.edu",
        "entranceFeeId": 201,
        "pricingRuleId": 301,
        "group": "students"
      }
    ]
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"whitelisted_customer_email_domain_name_updated"Machine-readable application code for the result.
messagestring"The domain names list has been updated"Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.domainNamesarray[…]List of domain names entries.
data.domainNames[]object{…}Object containing domain names fields.
data.domainNames[].emailDomainNamestring"university.edu"The email domain name value.
data.domainNames[].entranceFeeIdinteger201Identifier of the associated entrance fee.
data.domainNames[].pricingRuleIdinteger301Identifier of the associated pricing rule.
data.domainNames[].groupstring"students"The group value.