apiAmoCRM 0.3.0
Api for amoCRM
Requires Python: >=3

# Документация по библиотеке amoAPI

Библиотека `amoAPI` предоставляет удобный интерфейс для взаимодействия с API amoCRM. В данной документации описаны основные методы для работы с сущностями amoCRM.

## Содержание
1. [Инициализация](#инициализация)
2. [Методы для получения сущностей](#методы-для-получения-сущностей)
    - [Сделки](#сделки)
    - [Контакты](#контакты)
    - [Компании](#компании)
    - [Пользователи](#пользователи)
3. [Методы для создания сущностей](#методы-для-создания-сущностей)
4. [Методы для обновления сущностей](#методы-для-обновления-сущностей)
5. [Дополнительные методы](#дополнительные-методы)

## Инициализация

Перед началом работы необходимо инициализировать API, передав в конструктор токен и URL вашего amoCRM аккаунта.

```python
from amoAPI import API

api = API(token="ваш_токен", url="ваш_url")
```

## Методы для получения сущностей

### Сделки

#### Получение всех сделок
Метод для получения списка всех сделок:
```python
deals = api.get_leads(params={})
```

#### Получение сделки по ID
Метод для получения конкретной сделки по её ID:
```python
deal = api.get_lead(id=123)
```

### Контакты

#### Получение всех контактов
Метод для получения списка всех контактов:
```python
contacts = api.get_contacts(params={})
```

#### Получение контакта по ID
Метод для получения конкретного контакта по его ID:
```python
contact = api.get_contact(id=123)
```

### Компании

#### Получение всех компаний
Метод для получения списка всех компаний:
```python
companies = api.get_companies(params={})
```

#### Получение компании по ID
Метод для получения конкретной компании по её ID:
```python
company = api.get_company(id=123)
```

### Пользователи

#### Получение всех пользователей
Метод для получения списка всех пользователей:
```python
users = api.get_users()
```

## Методы для создания сущностей

### Создание сделки
Метод для создания новой сделки:
```python
new_deal = api.create_lead()
```

### Создание контакта
Метод для создания нового контакта:
```python
new_contact = api.create_contact()
```

### Создание компании
Метод для создания новой компании:
```python
new_company = api.create_company()
```

## Методы для обновления сущностей

### Обновление сделки
Метод для обновления существующей сделки:
```python
updated_deal = api.patch_lead(lead=deal)
```

### Обновление контакта
Метод для обновления существующего контакта:
```python
updated_contact = api.patch_contact(contact=contact)
```

### Обновление компании
Метод для обновления существующей компании:
```python
updated_company = api.patch_company(company=company)
```

## Дополнительные методы

### Создание сложной сделки
Метод для создания сложной сделки с контактами и пользовательскими полями:
```python
complex_deal = api.complex_create_lead(body=[{"name": "Сложная сделка"}], contacts=[{"id": 123}], fields=[{"field_id": 456, "values": [{"value": "значение"}]}])
```

### Добавление текстовой заметки к сделке
Метод для добавления текстовой заметки к сделке:
```python
api.add_lead_text_note(lead=deal, text="Текст заметки")
```

### Создание источника
Метод для создания нового источника:
```python
new_source = api.create_source(name="Источник", id="external_id")
```

### Удаление источника
Метод для удаления источника:
```python
deleted_source = api.delete_source(id=123)
```

### Получение всех источников
Метод для получения списка всех источников:
```python
sources = api.get_sources()
```

### Получение ссылок контакта
Метод для получения связей контактов:
```python
contact_links = api.get_contact_links(contacts_id=[1, 2, 3], chats_id=["chat1", "chat2"])
```

### Получение ссылок сделки
Метод для получения связей сделки:
```python
lead_links = api.get_lead_links(lead_id=123)
```

### Получение пользовательских полей
Метод для получения пользовательских полей для сущности:
```python
custom_fields = api.get_cfs(entity_type="leads")
```

### Создание пользовательского поля
Метод для создания нового пользовательского поля:
```python
new_cf = api.create_cf(cf=custom_field, entity_type="leads")
```

Эта документация описывает основные методы для работы с API amoCRM, предоставляемые библиотекой `amoAPI`. Используйте эти методы для взаимодействия с сущностями amoCRM: сделками, контактами, компаниями и пользователями.