# Запрос на добавление/редактирование/удаление абонентов базы

## Запрос на добавление/редактирование/удаление абонентов базы

<mark style="color:green;">`POST`</mark> `http://lk.mysmpp.ru/xml/phones.php`

#### Headers

| Name                                           | Type   | Description                    |
| ---------------------------------------------- | ------ | ------------------------------ |
| Content-type<mark style="color:red;">\*</mark> | String | **`text/xml; charset=utf-8;`** |

#### Request Body

| Name                                               | Type   | Description                                                                                        |
| -------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------- |
| login.value<mark style="color:red;">\*</mark>      | String | Ваш логин в системе                                                                                |
| base.id\_base<mark style="color:red;">\*</mark>    | Int    | Номер базы в системе                                                                               |
| token.value<mark style="color:red;">\*</mark>      | String | Вместо логина и пароля можно использовать секретный ключ. Для его получения обратитесь к менеджеру |
| password.value<mark style="color:red;">\*</mark>   | String | Ваш пароль в системе                                                                               |
| base.phone.surname                                 | String | Фамилия абонента                                                                                   |
| base.phone.name                                    | String | Имя абонента                                                                                       |
| base.phone.operator                                | String | Оператор. Если не задано определяется автоматически.                                               |
| base.phone.region                                  | String | Регион. Если не задано определяется автоматически                                                  |
| base.phone.phone<mark style="color:red;">\*</mark> | Int    | Номер телефона абонента. Если абонент с таким номером уже существует, то он будет отредактирован   |
| base.phone.addition\_1                             | String | Второе дополнительное поле                                                                         |
| base.phone.addition\_1                             | String | Первое дополнительное поле                                                                         |
| base.phone.male                                    | String | <p>Пол:</p><p>«f»- женский</p><p>«m» - мужской </p>                                                |
| base.phone.date\_birth                             | Int    | Дата рождения                                                                                      |
| base.phone.patronymic                              | String | Отчество абонента                                                                                  |
| base.phone.action                                  | String | В случае необходимости удаления "delete"                                                           |
| base.phone.number\_phone                           | Int    | Порядковый номер телефона в системе                                                                |

{% tabs %}
{% tab title="200: OK В случае получения правильного XML-документа" %}

```xml
<?xml version="1.0" encoding="utf-8" ?>
<response>
     <base id_base="1234">
          <phone phone="79612242243" number_phone="1"/>insert</phone>
          <phone phone="79612242244" number_phone="2" />edit</phone>
          <phone phone="79612242243" number_phone="5"/>delete</phone>
          <phone phone="79612242244" number_phone="6" />not_found</phone>
     </base>
…
</response>
```

{% endtab %}

{% tab title="400: Bad Request В случае возникновения ошибки в отправленном XML-документе" %}

```xml
<?xml version="1.0" encoding="utf-8"?>
<response>
     <error>текст ошибки</error>
</response>
```

{% endtab %}
{% endtabs %}

### Расшифровка параметров в ответах на запрос

<table><thead><tr><th width="167.33333333333331">Параметр</th><th width="155">Тип данных</th><th>Описание</th></tr></thead><tbody><tr><td>base.id_base</td><td>Int</td><td>Номер базы в системе</td></tr><tr><td>base.phone.phone</td><td>Int</td><td>Номер телефона абонента</td></tr><tr><td>base.phone.number_phone</td><td>Int</td><td>Порядковый номер телефона в системе</td></tr><tr><td>error</td><td>String</td><td><p>Текст ошибки может принимать следующие значения:</p><ul><li>Неправильный формат XML документа</li><li>Неправильный логин или пароль</li><li>POST данные отсутствуют</li></ul></td></tr></tbody></table>

### Пример XML запроса

```xml
<?xml  version="1.0" encoding="utf-8" ?>
<request>
     <security>
          <login value="логин" />
          <password value="пароль" />
     </security>
     <base id_base="1234">
          <phone phone="79612242243" region="Новосибирск " operator="Вымпелком" name="Константин" surname="Ермолаев" patronymic="Александрович" date_birth="1984-08-21" male="мужской" addition_1="Первоедополнительноеполе" addition_2="второе" number_phone="1"/>
          <phone phone="79612242244" region="Новосибирск " operator="Вымпелком" name="Константин" surname="Ермолаев" patronymic="Александрович" date_birth="1984-08-21" male="мужской" addition_1="Первоедополнительноеполе" addition_2="второе" number_phone="2" />
          …
          <phone phone="79612242243" action="delete" number_phone="5"/>
          <phone phone="79612242244" action="delete" number_phone="6"/>
     </base>
</request>
```
