> For the complete documentation index, see [llms.txt](https://galactica-games.gitbook.io/integration-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://galactica-games.gitbook.io/integration-sdk/sections/proverka-mestopolozheniya.md).

# Проверка местоположения

Модуль интеграции проверки местоположения пользователя для подтверждения операций.

Проверка местоположения требуется, чтобы соответствовать требованиям регуляторов относительно финансовых операций, которые пользователь осуществляет в момент использования приложения.

В сервисах LinQ используется два типа проверки местоположения пользователя, отличающиеся более точным определением местоположения и характером операций.

Проверка местоположения пользователя по IP адресу осуществляется с целью ограничения доступа к сервисам из регионов, на которые наложены ограничения юрисдикцией, где ведется бизнес.

Проверка местоположения по координатам пользователя осуществляется для легальности операций на данной территории, как правило, это относится к операциям, связанным с движением денежных средств (пополнение, вывод, внесение ставки для участия в турнире).

## Проверка по IP

Для проверки доступа по IP используется сервис `RestrictionsService`, который предоставляет метод `isAccessAllowed`

### Список стран и регионов, где ограничены операции

В некоторых случаях может понадобиться делать проверку доступа из определенного региона через сторонние сервисы, в таком случае можно использовать сервис [ConfigurationService](https://buf.build/linq/linq/docs/main:linq.geo.restrictions.v1#linq.geo.restrictions.v1.ConfigurationService) для получения актуального списка стран и регионов, где введены ограничения на операции.

Данный сервис требует авторизацию через специальный токен игры ([Secret Key](https://galactica-games.gitbook.io/integration-sdk/sections/registraciya-i-avtorizaciya/vidy-tokenov#secret-key)), чтобы не открывать данную информацию публично. Так же это необходимо для случая, когда для определенной игры существуют более строгие ограничения, чем в целом для платформы.&#x20;

Например, для карточных игр требуется дополнительная лицензия в штате Maine, поэтому для запроса со стороны сервисов Solitaire этот штат будет включен в список запрещенных, тогда как для других приложений - нет.

```typescript
const service = new ConfigurationServiceClient(getTransport());

const payload = await service.getAvoidedRegions({
  token: process.env.GAME_SECRET_KEY ?? '',
});

/**
{
  "countries": [ "AF", "MK", "AL", "XK" ],
  "areas": [
    { "country": "US", "regions": [ "AZ", "LA", "SC", "DE", "WA" ] }
  ]
}
**/
```

## Проверка по GEO

Для проверки доступа к операциям по координатам пользователя, используется сервис LocationService и метод isOperationAllowed.
