Skip to content
innovorder
⌘K

Customer identity

Credentials & Addresses

Manage customer badges (NFC cards, barcodes, and similar identifiers) and delivery addresses.

Badge Management

Manage customer badges (NFC cards, barcodes, etc.). Each customer can have multiple badges, with one marked as the default.

POST/customers/{customerId}/badgesCreate Badge

Add a new badge to a customer.

Parameters

NameTypeRequiredDescription
customerIdintegerYesThe unique identifier of the customer.

Request Body

json
{
  "value": "88293778",
  "type": "classic",
  "isDefault": true,
  "isBlocked": false
}
Request Body Properties

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

PropertyTypeExampleDescription
valuestring"88293778"The value value.
typestring"classic"The type value.
isDefaultbooleantrueWhether default is enabled or applies.
isBlockedbooleanfalseWhether blocked is enabled or applies.

Response

json
{
  "status": 200,
  "code": "customer_badge_created",
  "message": "Badge created successfully.",
  "data": {
    "customerId": 5337578,
    "badges": [
      {
        "badgeId": 5778270,
        "value": "88293778",
        "type": "classic",
        "isDefault": true,
        "isBlocked": 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"customer_badge_created"Machine-readable application code for the result.
messagestring"Badge created successfully."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.customerIdinteger5337578Identifier of the customer.
data.badgesarray[…]List of badges entries.
data.badges[]object{…}Object containing badges fields.
data.badges[].badgeIdinteger5778270Identifier of the associated badge.
data.badges[].valuestring"88293778"The value value.
data.badges[].typestring"classic"The type value.
data.badges[].isDefaultbooleantrueWhether default is enabled or applies.
data.badges[].isBlockedbooleanfalseWhether blocked is enabled or applies.

PUT/customers/{customerId}/badges/{badgeId}Update Badge

Update an existing badge for a customer. All fields are optional for partial updates.

Parameters

NameTypeRequiredDescription
customerIdintegerYesThe unique identifier of the customer.
badgeIdintegerYesThe unique identifier of the badge.

Request Body

json
{
  "value": "88293779",
  "isDefault": false,
  "isBlocked": false
}
Request Body Properties

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

PropertyTypeExampleDescription
valuestring"88293779"The value value.
isDefaultbooleanfalseWhether default is enabled or applies.
isBlockedbooleanfalseWhether blocked is enabled or applies.

Response

json
{
  "status": 200,
  "code": "customer_badge_updated",
  "message": "Badge updated successfully.",
  "data": {
    "customerId": 5337578,
    "badges": [
      {
        "badgeId": 5778270,
        "value": "88293779",
        "type": "classic",
        "isDefault": false,
        "isBlocked": 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"customer_badge_updated"Machine-readable application code for the result.
messagestring"Badge updated successfully."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.customerIdinteger5337578Identifier of the customer.
data.badgesarray[…]List of badges entries.
data.badges[]object{…}Object containing badges fields.
data.badges[].badgeIdinteger5778270Identifier of the associated badge.
data.badges[].valuestring"88293779"The value value.
data.badges[].typestring"classic"The type value.
data.badges[].isDefaultbooleanfalseWhether default is enabled or applies.
data.badges[].isBlockedbooleanfalseWhether blocked is enabled or applies.

DELETE/customers/{customerId}/badges/{badgeId}Delete Badge

Remove a badge from a customer.

Parameters

NameTypeRequiredDescription
customerIdintegerYesThe unique identifier of the customer.
badgeIdintegerYesThe unique identifier of the badge to delete.

Response

json
{
  "status": 200,
  "code": "customer_badge_deleted",
  "message": "Badge deleted successfully.",
  "data": {
    "customerId": 5337578,
    "badges": []
  }
}
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"customer_badge_deleted"Machine-readable application code for the result.
messagestring"Badge deleted successfully."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.customerIdinteger5337578Identifier of the customer.
data.badgesarray[]List of badges entries.

Customer Addresses

Role Requirement

These endpoints are restricted to users with the brand role.

Managing customer addresses is a prerequisite for creating Delivery orders on behalf of a customer. Before a delivery order can be placed, a valid address object must be associated with the customer profile.

Integration with Google Maps

The Innovorder platform relies on Google Maps for geocoding and routing. The providerId field in the address payload corresponds strictly to the Google Place ID.

When building your frontend address form, you should use the Google Places Autocomplete API. When a user selects a suggestion, retrieve the place_id from the result and send it as the providerId.

GET/customers/{customerId}/addressesList Addresses

Retrieve all addresses stored for a customer.

Parameters

NameTypeRequiredDescription
customerIdintegerYesThe unique identifier of the customer.

Response

json
{
  "status": 200,
  "code": "address_succeed",
  "message": "Adresse trouvée.",
  "data": [
    {
      "addressId": 778201,
      "lat": 48.8849947,
      "lng": 2.3151972,
      "locality": "Paris",
      "route": "Rue de Saussure",
      "postalCode": "75017",
      "streetNumber": "43",
      "administrativeAreaLevel1": "Île-de-France",
      "administrativeAreaLevel2": "Paris",
      "country": "France",
      "googlePlaceId": "",
      "providerId": "ChIJU8mBWrBv5kcRT7nMUR_aO4U",
      "additionalInfo": "Appelez moi en bas",
      "digiCode": "1234",
      "phone": "0101010101",
      "apartmentNumber": "2",
      "iconIdentifier": null,
      "customerId": 5501207,
      "name": "Maison"
    }
  ]
}
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"address_succeed"Machine-readable application code for the result.
messagestring"Adresse trouvée."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].addressIdinteger778201Identifier of the associated address.
data[].latnumber48.8849947The lat value.
data[].lngnumber2.3151972The lng value.
data[].localitystring"Paris"The locality value.
data[].routestring"Rue de Saussure"The route value.
data[].postalCodestring"75017"The postal code value.
data[].streetNumberstring"43"The street number value.
data[].administrativeAreaLevel1string"Île-de-France"The administrative area level1 value.
data[].administrativeAreaLevel2string"Paris"The administrative area level2 value.
data[].countrystring"France"The country value.
data[].googlePlaceIdstring""Identifier of the associated google place.
data[].providerIdstring"ChIJU8mBWrBv5kcRT7nMUR_aO4U"Identifier of the associated provider.
data[].additionalInfostring"Appelez moi en bas"The additional info value.
data[].digiCodestring"1234"The digi code value.
data[].phonestring"0101010101"Phone number.
data[].apartmentNumberstring"2"The apartment number value.
data[].iconIdentifiernullnullThe icon identifier value.
data[].customerIdinteger5501207Identifier of the customer.
data[].namestring"Maison"The name value.

POST/customers/{customerId}/addressCreate Address

Register a new address for a specific customer.

Parameters

NameTypeRequiredDescription
customerIdintegerYesThe unique identifier of the customer.

Request Body

json
{
  "providerId": "ChIJU8mBWrBv5kcRT7nMUR_aO4U",
  "displayedAddress": "43 Rue de Saussure, 75017 Paris, France",
  "lng": 2.3151972,
  "lat": 48.8849947,
  "phone": "0101010101",
  "digiCode": "1234",
  "apartmentNumber": "2",
  "additionalInfo": "Appelez moi en bas",
  "name": "Maison",
  "customerId": 5501207
}
Request Body Properties

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

PropertyTypeExampleDescription
providerIdstring"ChIJU8mBWrBv5kcRT7nMUR_aO4U"Identifier of the associated provider.
displayedAddressstring"43 Rue de Saussure, 75017 Paris, France"The displayed address value.
lngnumber2.3151972The lng value.
latnumber48.8849947The lat value.
phonestring"0101010101"Phone number.
digiCodestring"1234"The digi code value.
apartmentNumberstring"2"The apartment number value.
additionalInfostring"Appelez moi en bas"The additional info value.
namestring"Maison"The name value.
customerIdinteger5501207Identifier of the customer.

Response

json
{
  "status": 200,
  "code": "address_create_succeed",
  "message": "L'adresse a été créée.",
  "data": {
    "addressId": 778201,
    "phone": "0101010101",
    "locality": "Paris",
    "route": "Rue de Saussure",
    "postalCode": "75017",
    "streetNumber": "43",
    "administrativeAreaLevel1": "Île-de-France",
    "administrativeAreaLevel2": "Paris",
    "country": "France",
    "name": "Maison",
    "providerId": "ChIJU8mBWrBv5kcRT7nMUR_aO4U",
    "lat": 48.8849947,
    "lng": 2.3151972,
    "customerId": 5501207,
    "digiCode": "1234",
    "apartmentNumber": "2",
    "additionalInfo": "Appelez moi en bas",
    "googlePlaceId": ""
  }
}
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"address_create_succeed"Machine-readable application code for the result.
messagestring"L'adresse a été créée."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.addressIdinteger778201Identifier of the associated address.
data.phonestring"0101010101"Phone number.
data.localitystring"Paris"The locality value.
data.routestring"Rue de Saussure"The route value.
data.postalCodestring"75017"The postal code value.
data.streetNumberstring"43"The street number value.
data.administrativeAreaLevel1string"Île-de-France"The administrative area level1 value.
data.administrativeAreaLevel2string"Paris"The administrative area level2 value.
data.countrystring"France"The country value.
data.namestring"Maison"The name value.
data.providerIdstring"ChIJU8mBWrBv5kcRT7nMUR_aO4U"Identifier of the associated provider.
data.latnumber48.8849947The lat value.
data.lngnumber2.3151972The lng value.
data.customerIdinteger5501207Identifier of the customer.
data.digiCodestring"1234"The digi code value.
data.apartmentNumberstring"2"The apartment number value.
data.additionalInfostring"Appelez moi en bas"The additional info value.
data.googlePlaceIdstring""Identifier of the associated google place.

PUT/customers/{customerId}/address/{addressId}Update Address

Update an existing address.

Parameters

NameTypeRequiredDescription
customerIdintegerYesThe unique identifier of the customer.
addressIdintegerYesThe unique identifier of the address.

Request Body

json
{
  "name": "Maison",
  "addressId": 778201,
  "providerId": "ChIJU8mBWrBv5kcRT7nMUR_aO4U",
  "googlePlaceId": null,
  "iconIdentifier": null,
  "customerId": 5501207,
  "phone": "0101010101",
  "lat": 48.8849947,
  "lng": 2.3151972,
  "displayedAddress": "43 Rue de Saussure, 75017 Paris, France",
  "digiCode": "1234",
  "apartmentNumber": "2",
  "additionalInfo": "Appelez moi en bas"
}
Request Body Properties

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

PropertyTypeExampleDescription
namestring"Maison"The name value.
addressIdinteger778201Identifier of the associated address.
providerIdstring"ChIJU8mBWrBv5kcRT7nMUR_aO4U"Identifier of the associated provider.
googlePlaceIdnullnullIdentifier of the associated google place.
iconIdentifiernullnullThe icon identifier value.
customerIdinteger5501207Identifier of the customer.
phonestring"0101010101"Phone number.
latnumber48.8849947The lat value.
lngnumber2.3151972The lng value.
displayedAddressstring"43 Rue de Saussure, 75017 Paris, France"The displayed address value.
digiCodestring"1234"The digi code value.
apartmentNumberstring"2"The apartment number value.
additionalInfostring"Appelez moi en bas"The additional info value.

Response

json
{
  "status": 200,
  "code": "address_update_succeed",
  "message": "L'adresse a été mise à jour.",
  "data": {
    "addressId": 778201,
    "name": "Maison",
    "phone": "0101010101",
    "locality": "Paris",
    "route": "Rue de Saussure",
    "postalCode": "75017",
    "streetNumber": "43",
    "administrativeAreaLevel1": "Île-de-France",
    "administrativeAreaLevel2": "Paris",
    "country": "France",
    "providerId": "ChIJU8mBWrBv5kcRT7nMUR_aO4U",
    "lat": 48.8849947,
    "lng": 2.3151972,
    "customerId": 5501207,
    "digiCode": "1234",
    "apartmentNumber": "2",
    "additionalInfo": "Appelez moi en bas",
    "googlePlaceId": null
  }
}
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"address_update_succeed"Machine-readable application code for the result.
messagestring"L'adresse a été mise à jour."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.addressIdinteger778201Identifier of the associated address.
data.namestring"Maison"The name value.
data.phonestring"0101010101"Phone number.
data.localitystring"Paris"The locality value.
data.routestring"Rue de Saussure"The route value.
data.postalCodestring"75017"The postal code value.
data.streetNumberstring"43"The street number value.
data.administrativeAreaLevel1string"Île-de-France"The administrative area level1 value.
data.administrativeAreaLevel2string"Paris"The administrative area level2 value.
data.countrystring"France"The country value.
data.providerIdstring"ChIJU8mBWrBv5kcRT7nMUR_aO4U"Identifier of the associated provider.
data.latnumber48.8849947The lat value.
data.lngnumber2.3151972The lng value.
data.customerIdinteger5501207Identifier of the customer.
data.digiCodestring"1234"The digi code value.
data.apartmentNumberstring"2"The apartment number value.
data.additionalInfostring"Appelez moi en bas"The additional info value.
data.googlePlaceIdnullnullIdentifier of the associated google place.