38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
1. Написать API для приема контактных данных клиентов, с возможностью:
|
||
|
||
1.1 Добавлять данные в базу массивом, например:
|
||
**POST /contacts**
|
||
|
||
{
|
||
source_id: 1,
|
||
items: [{
|
||
"name": "Анна",
|
||
"phone": 9001234453,
|
||
"email": "mail1@gmail.com"
|
||
}, {
|
||
"name": "Иван",
|
||
"phone": "+79001234123",
|
||
"email": "mail2@gmail.com"
|
||
}]
|
||
}
|
||
|
||
- **`source_id`** - id источника контактов, для примера достаточно 1 и 2
|
||
- **`phone`** в бд сохраняем в формате без +7 (10 цифр)
|
||
- **`phone`** не уникально, но может добавляться максимум 1 раз в сутки для каждого **`source_id`**
|
||
|
||
В ответе - количество добавленных контактов.
|
||
|
||
1.2 Находить данные по номеру телефона, например:
|
||
**GET /contacts?phone=9001234453**
|
||
В ответе - массив с найденными данными
|
||
|
||
2. Оптимизировать скорость добавления и поиска, т.к. контактов будет много
|
||
|
||
3. По желанию. Сделать простой интерфейс, например на bootstrap
|
||
|
||
|
||
Выполнить без использования фреймворков, но можно использовать необходимые пакеты Composer (например для роутинга или для работы с БД).
|
||
|
||
Очень сильно приветствуется использование ООП.
|
||
|
||
Результат - исходный код на github. |