Навигация
API Документация
Обзор
Normatico API предоставляет мощный инструментарий для интеллектуальной обработки имён: нормализация, перевод, определение пола и извлечение из email адресов.
https://api.normatico.com/v1
Аутентификация
Все запросы к API должны содержать API ключ в заголовке:
X-API-Key: your-api-key-here
Получение API ключа
- Зарегистрируйтесь на сайте
- Перейдите в личный кабинет
- Создайте новый API ключ
Методы API
Метод | Endpoint | Описание |
---|---|---|
POST | /normalize |
Нормализация имени |
POST | /translate |
Перевод имени |
POST | /gender |
Определение пола |
POST | /extract-from-email |
Извлечение из email |
POST | /batch |
Batch обработка |
GET | /languages |
Список поддерживаемых языков |
GET | /stats |
Статистика использования |
POST | /regenerate |
Регенерация с коррекцией |
Нормализация имён
Преобразует имя в правильную форму на целевом языке.
Параметры запроса:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
name |
string | Да | Имя для нормализации |
source_language |
string | Нет | Исходный язык (auto по умолчанию) |
target_language |
string | Да | Целевой язык (любой ISO 639-1 код) |
style |
string | Нет | Стиль: formal, casual, media |
Пример запроса:
{
"name": "John Smith",
"source_language": "en",
"target_language": "ru",
"style": "formal"
}
Пример ответа:
{
"normalized": "Джон Смит",
"first_name": "Джон",
"last_name": "Смит",
"middle_name": null,
"gender": "male",
"confidence": 95,
"detected_language": "en",
"cache_hit": false
}
Перевод имён
Переводит имя с одного языка на другой с сохранением культурного контекста.
Параметры запроса:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
name |
string | Да | Имя для перевода |
from_language |
string | Да | Исходный язык |
to_language |
string | Да | Целевой язык |
Определение пола
Определяет пол по имени с указанием уровня уверенности.
Пример ответа:
{
"name": "Мария",
"gender": "female",
"confidence": 98,
"alternative_genders": []
}
Извлечение из email
Извлекает и нормализует имя из email адреса.
Пример запроса:
{
"email": "ivan.petrov@company.com",
"target_language": "ru"
}
Пример ответа:
{
"email": "ivan.petrov@company.com",
"extracted_name": "Иван Петров",
"first_name": "Иван",
"last_name": "Петров",
"confidence": 90
}
Регенерация с коррекцией
Повторная обработка имени с возможностью ручной корректировки результата.
Параметры запроса:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
name |
string | Да | Имя для регенерации |
source_language |
string | Нет | Исходный язык |
target_language |
string | Да | Целевой язык |
user_correction |
object | Нет | Ручная корректировка |
Пример с корректировкой:
{
"name": "მიხეილ წინამძღვრიშვილი",
"source_language": "ka",
"target_language": "ru",
"user_correction": {
"normalized": "Михеил Цинамдзгвришвили",
"first_name": "Михеил",
"last_name": "Цинамдзгвришвили"
}
}
Batch обработка
Обработка множества имён за один запрос.
Пример запроса:
{
"names": [
{"name": "John Smith", "target_language": "ru"},
{"name": "María García", "target_language": "en"},
{"name": "王伟", "target_language": "ru"}
],
"operation": "normalize"
}
Поддерживаемые языки
API поддерживает обработку имён на 30+ языках с детальными правилами транслитерации.
Полная поддержка (детальные правила):
ru
- Русскийen
- Английскийes
- Испанскийfr
- Французскийde
- Немецкийit
- Итальянскийpt
- Португальскийnl
- Голландскийpl
- Польскийcs
- Чешскийsv
- Шведскийtr
- Турецкийar
- Арабскийhe
- Ивритhi
- Хиндиzh
- Китайскийja
- Японскийko
- Корейский
Языки бывшего СССР:
uk
- Украинскийbe
- Белорусскийka
- Грузинскийhy
- Армянскийaz
- Азербайджанскийkk
- Казахскийky
- Киргизскийtg
- Таджикскийuz
- Узбекскийtk
- Туркменский
Коды ошибок
Код | Описание | Решение |
---|---|---|
400 |
Неверный запрос | Проверьте параметры запроса |
401 |
Не авторизован | Проверьте API ключ |
403 |
Доступ запрещён | Проверьте права доступа |
429 |
Превышен лимит | Подождите или обновите тариф |
500 |
Внутренняя ошибка | Обратитесь в поддержку |
Лимиты использования
Free
- 100 запросов/день
- 10 запросов/минуту
- Batch обработка
Pro
- 10,000 запросов/день
- 100 запросов/минуту
- Batch до 50 имён
Enterprise
- Без лимитов
- 1000 запросов/минуту
- Batch до 100 имён
Примеры использования
import requests
url = "https://api.normatico.com/v1/normalize"
headers = {
"X-API-Key": "your-api-key",
"Content-Type": "application/json"
}
data = {
"name": "John Smith",
"target_language": "ru"
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
print(result["normalized"]) # Джон Смит
const response = await fetch('https://api.normatico.com/v1/normalize', {
method: 'POST',
headers: {
'X-API-Key': 'your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'John Smith',
target_language: 'ru'
})
});
const result = await response.json();
console.log(result.normalized); // Джон Смит
curl -X POST https://api.normatico.com/v1/normalize \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "John Smith",
"target_language": "ru"
}'
SDK и библиотеки
Python SDK
Официальная библиотека для Python
pip install normatico
JavaScript SDK
Библиотека для Node.js и браузера
npm install normatico
Нужна помощь?
Если у вас есть вопросы или проблемы с использованием API:
- Email: support@normatico.com
- GitHub: github.com/normatico/api
- Stack Overflow: Tag: normatico