# Gérer les emplacements

Groupez et gérez vos lecteurs par emplacement physique.

Vous pouvez rationaliser la gestion de plusieurs lecteurs répartis sur différents sites physiques en utilisant des emplacements et des zones.

Les emplacements et les zones permettent d’associer chaque lecteur à des sites opérationnels spécifiques et garantissent le téléchargement des bonnes configurations régionales.

- **Emplacements**&nbsp;: Vous permet de regrouper des lecteurs, de surveiller leur état de connectivité et de modifier vos paramètres en fonction de leur emplacement physique. Cette fonctionnalité est bénéfique pour les places de marché disposant de plusieurs comptes connectés.

- **Zones**&nbsp;: méthode facultative pour catégoriser plus précisément les emplacements et les lecteurs. Les zones vous permettent de représenter des groupes plus importants de lecteurs ou d’emplacements, tels que des régions géographiques plus vastes (par exemple, des pays) ou des sous-marques d’organisation. Plusieurs emplacements peuvent appartenir à une même zone et vous pouvez créer une structure hiérarchique en regroupant plusieurs zones sous une même zone.

> Les zones représentent une manière supplémentaire de regrouper des emplacements. Vous devez toujours affecter les lecteurs à un emplacement et vous ne pouvez affecter un emplacement qu’à une seule zone.

Exemple de stratégie d'organisation (See full diagram at https://docs.stripe.com/terminal/fleet/locations-and-zones)

```text
[Zone Amérique du Nord] --> [Zone Californie]
[Zone Amérique du Nord] --> [Zone Washington]
[Zone Californie] --> [Zone Baie de San Francisco]
[Zone Californie] --> [Emplacement SFO]
[Zone Washington] --> [Emplacement Seattle]
[Zone Baie de San Francisco] --> [Emplacement San Francisco]
[Emplacement SFO] --> [Lecteur Terminal 1]
[Emplacement SFO] --> [Lecteur Terminal 2]
[Emplacement San Francisco] --> [Lecteur Checkout 1]
[Emplacement San Francisco] --> [Lecteur Checkout 2]
```

## Emplacements

Vous pouvez créer un emplacement pour chaque emplacement physique où vos lecteurs opèrent. Vous pouvez [enregistrer](https://docs.stripe.com/terminal/fleet/register-readers.md) plusieurs lecteurs dans chaque emplacement et imbriquer ces emplacements dans des zones. Avant de pouvoir utiliser un lecteur, vous devez l’enregistrer dans un emplacement.

Les [propriétés d’adresse](https://docs.stripe.com/api/terminal/locations/create.md#create_terminal_location-address) requises pour un emplacement varient d’un pays à l’autre&nbsp;:

### Required Address Properties

- Australia, Canada, Italy, Japan (Beta), Spain, United States: `line1`, `city`, `state`, `postal_code`, and `country` required
- Austria, Belgium, Czech Republic, Denmark, Estonia (Beta), Finland, France, Germany, Hungary (Beta), Latvia (Beta), Liechtenstein (Beta), Lithuania (Beta), Luxembourg, Malaysia, Netherlands, New Zealand, Norway, Poland (Beta), Portugal, Romania (Beta), Slovakia (Beta), Sweden, Switzerland, United Kingdom: `line1`, `city`, `postal_code`, and `country` required
- Bulgaria (Beta), Croatia (Beta), Cyprus (Beta), Ireland, Malta (Beta), Singapore, Slovenia (Beta): `line1`, `postal_code`, and `country` required
- Hong Kong (Beta): `line1`, `state`, and `country` required
- Gibraltar (Beta): `line1` and `country` required
- Mexico (Beta): `line1`, `line2`, `city`, `state`, `postal_code`, and `country` required

> Vous pouvez utiliser le Dashboard ou l’API pour modifier un objet `Location`. Une fois que vous avez créé un emplacement, vous ne pouvez pas modifier le pays associé. Au lieu de cela, créez un nouvel emplacement dans le nouveau pays, puis réenregistrez tous les lecteurs associés à l’ancien emplacement.

## Zones

Les zones sont les groupes de niveau supérieur qui peuvent être constitués d’autres zones ou d’autres emplacements. Vous pouvez ajouter des sous-zones sous une zone existante, créant ainsi des niveaux hiérarchiques supplémentaires, tels que «&nbsp;Côte ouest&nbsp;». Toutefois, cette organisation des emplacements par zones est facultative.

## Créer des emplacements et des zones

# API


> Vous ne pouvez pas créer ou modifier des zones à l’aide de l’API.

Tout d’abord, vous devez [enregistrer votre lecteur dans un emplacement](https://docs.stripe.com/terminal/fleet/register-readers.md?dashboard-or-api=api) pour accepter des paiements.

Pour créer un nouvel objet Terminal [Location](https://docs.stripe.com/api/terminal/locations.md) à l’aide de l’API, utilisez la requête de [création d’un emplacement](https://docs.stripe.com/api/terminal/locations/create.md).

```curl
curl https://api.stripe.com/v1/terminal/locations \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d display_name=HQ \
  -d "address[line1]=1272 Valencia Street" \
  -d "address[city]=San Francisco" \
  -d "address[state]=CA" \
  -d "address[country]=US" \
  -d "address[postal_code]=94110"
```

### Créer un emplacement pour les comptes utilisant les paiements directs

Pour créer un emplacement pour un compte utilisant les [paiements directs](https://docs.stripe.com/connect/direct-charges.md), utilisez l’en-tête `Stripe-Account` dans votre requête. Seul le compte Connect sous lequel vous vous authentifiez peut accéder à ces emplacements. Si l’entreprise opère sur plusieurs sites physiques, vous pouvez créer plusieurs emplacements pour tout compte individuel utilisant les paiements directs.

```curl
curl https://api.stripe.com/v1/terminal/locations \
  -u "<<YOUR_SECRET_KEY>>:" \
  -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \
  -d display_name=HQ \
  -d "address[line1]=1272 Valencia Street" \
  -d "address[city]=San Francisco" \
  -d "address[state]=CA" \
  -d "address[country]=US" \
  -d "address[postal_code]=94110"
```

### Créer un emplacement pour les comptes utilisant les paiements indirects

Dans le cas des intégrations utilisant des [paiements indirects](https://docs.stripe.com/connect/destination-charges.md), les emplacements sont associés au compte de la *plateforme* et ne sont pas strictement mappés aux comptes connectés. Si votre plateforme souhaite associer des comptes utilisant les paiements indirects à des emplacements, vous pouvez stocker une référence aux comptes concernés dans la propriété [metadata](https://docs.stripe.com/api/terminal/locations/object.md#terminal_location_object-metadata) de l’emplacement.

#### curl

```bash
curl https://api.stripe.com/v1/terminal/locations \
  -u <<YOUR_SECRET_KEY>>: \
  -d "display_name"="HQ" \
  -d "address[line1]"="1272 Valencia Street" \
  -d "address[city]"="San Francisco" \
  -d "address[state]"="CA" \
  -d "address[country]"="US" \
  -d "address[postal_code]"="94110" \
  -d "metadata[connected_account]"="{{CONNECTED_ACCOUNT_ID}}"
```

Lorsque vous [enregistrez votre lecteur dans un emplacement](https://docs.stripe.com/terminal/fleet/register-readers.md), l’emplacement spécifié regroupe le lecteur et définit ses paramètres de pays.

## Limitation des tokens de connexion (Côté serveur) (Lecteurs intelligents)

Lorsque vous créez un [ConnectionToken](https://docs.stripe.com/api/terminal/connection_tokens.md) pour le SDK Terminal, vous pouvez fournir un paramètre `location` afin de contrôler l’accès aux lecteurs intelligents. Si vous spécifiez un emplacement, le ConnectionToken ne sera utilisable qu’avec les lecteurs intelligents assignés à cet emplacement. Si vous ne le faites pas, le ConnectionToken sera utilisable avec tous les lecteurs.

> Pour les lecteurs mobiles, la propriété `location` d’un ConnectionToken n’a aucun effet. Ainsi, tous les lecteurs mobiles à proximité restent détectables.

```curl
curl https://api.stripe.com/v1/terminal/connection_tokens \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "location={{TERMINALLOCATION_ID}}"
```

