Руководство пользователя для разработчиков

Руководство пользователя для разработчиков

Как отправлять API-ключи

API-ключ Epsilon Metrics физически представляет собой токен/код из 12 и более случайных буквенно-цифровых символов.

Вы можете передать API-ключ в наши API, используя заголовок аутентификации HTTP Basic или отправляя параметр api_key через строку запроса или тело запроса.

Если вы используете нашу клиентскую библиотеку Epsilon Metrics.js, вам достаточно следовать разделу авторизации, и мы автоматически обработаем API-ключи для вас.

Примеры, показанные для иллюстрации различных методов отправки API-ключей, используют следующие параметры:

- пользователь: имя пользователя
- API-ключ: 1234567890123456789012345678901234567890
- конечная точка API: https://maps.epsilonmetrics.ru/user/{username}/{endpoint}/

HTTP Basic аутентификация

Basic Access Authentication - это самый простой способ управления контролем доступа и авторизацией стандартизированным способом. Он состоит в основном из заголовка HTTP Authorization Basic, за которым следуют учетные данные пользователя (имя пользователя и пароль), закодированные с использованием base64.

Если это кажется вам сложным, не волнуйтесь. Большинство клиентских программ предоставляют простые механизмы для использования HTTP Basic Authentication, такие как curl, Request (JavaScript) и Requests (Python).

Для запросов к API Epsilon Metrics возьмите API-ключ в качестве пароля и имя пользователя, который выдал этот API-ключ.

Примеры:
Curl
curl -X GET \
  'https://maps.epsilonmetrics.ru/user/{username}/{endpoint}/' \
  -H 'authorization: Basic dXNlcm5hbWU6MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MA=='
Request (JavaScript)
request.get('https://maps.epsilonmetrics.ru/user/{username}/{endpoint}/', {
  'auth': {
    'user': 'username',
    'pass': 1234567890123456789012345678901234567890
  }
});
Requests (Python)
r = requests.get('https://maps.epsilonmetrics.ru/user/{username}/{endpoint}/', auth=(username, 1234567890123456789012345678901234567890))

Параметр строки запроса/тела запроса

В качестве альтернативы вы можете использовать параметр строки запроса URL или поле в теле запроса. В обоих случаях имя параметра - api_key.

Примеры:
curl -X GET 'https://maps.epsilonmetrics.ru/user/username/?api_key=1234567890123456789012345678901234567890'
curl -X POST \
  'https://maps.epsilonmetrics.ru/user/{username}/{endpoint}/' \
  -H 'content-type: application/json' \
  -d '{
	"api_key": "1234567890123456789012345678901234567890"
  }'

Если по какой-то загадочной причине вы отправляете API-ключ более чем одним из доступных способов, порядок приоритета следующий:

  1. Заголовок аутентификации HTTP Basic
  2. Параметр строки запроса URL
  3. Поле тела запроса

Также, по соображениям безопасности и гарантий будущей совместимости, мы рекомендуем использовать этот же порядок при выборе метода отправки API-ключа. Иными словами, отдавайте предпочтение использованию аутентификации HTTP Basic вместо строки запроса URL и старайтесь избегать поля тела. Мы поддерживаем этот метод только для обратной совместимости.