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

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

В сервисах 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://galactica-games.gitbook.io/integration-sdk/sections/proverka-mestopolozheniya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
