معرفی شرکت ها


amocrm-api-2.5.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Python API for Amocrm
ویژگی مقدار
سیستم عامل -
نام فایل amocrm-api-2.5.0
نام amocrm-api
نسخه کتابخانه 2.5.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Dmitry Kryukov
ایمیل نویسنده glebov.ru@gmail.com
آدرس صفحه اصلی https://github.com/Krukov/amocrm_api
آدرس اینترنتی https://pypi.org/project/amocrm-api/
مجوز MIT license
=============================== AmoCRM python API. V2 =============================== .. image:: https://travis-ci.org/Krukov/amocrm_api.svg?branch=master :target: https://travis-ci.org/Krukov/amocrm_api .. image:: https://img.shields.io/coveralls/Krukov/amocrm_api.svg :target: https://coveralls.io/r/Krukov/amocrm_api Python AmoCRM API v2 (http://www.amocrm.ru/) (human interface for easy using) Installation ============ :: pip install amocrm_api Usage ===== Авторизация ----------- Авторизация - с Июня 2020 amoCRM форсировала смену авторизации с токена на OAuth И без поддержки server to server взаимодействия, в связи с чем текущая реализация содержит следующие ограничения 1. В личном кабинете необходимо создать интеграцию 2. Рефреш токен одноразовый и обновляется при каждом получении аксесс токена 3. Ecли запросы в amoCRM происходят реже чем время жизни рефреш токена то вам не подойдет такой варант интеграции 4. Токены нужно хранить, для этого есть api и существует 3 типа хранилища (можно реализовать свой): - MemoryTokensStorage - хранит токены в памяти (если вы перезапускаете приложение то придется снова создавать refresh_token) - FileStorage - сохраняет токены в файле - RedisTokensStorage - сохраняет токены в редисе (pip install redis) для new-age приложений которые работают в нескольких экземплярах Example:: from amocrm.v2 import tokens tokens.default_token_manager( client_id="xxx-xxx-xxxx-xxxx-xxxxxxx", client_secret="xxxx", subdomain="subdomain", redirect_url="https://xxxx/xx", storage=tokens.FileTokensStorage(), # by default FileTokensStorage ) tokens.default_token_manager.init(code="..very long code...", skip_error=True) - Контакт - Contact - Компания - Company - Теги - Tags - Сделка - Lead - Задача - Task - Примечание - Note - Событие - Event - Воронки и Статусы - Pipeline, Status Работа с сущностями -------------------- У каждой сущности есть менеджер (аттрибут objects), который имеет следующие методы :: <Entity>.objects.get(object_id=1, query="test") # получение обьекта <Entity>.objects.all() # получение всех сущностей <Entity>.objects.filter(**kwargs) # получение списка сущностей с фильтром <Entity>.objects.create(**kwargs) # создание сущности (нет явной сигнатуры поэтому лучше использовать метод create самой сущности) <Entity>.objects.update(**kwargs) # обносление сущности (нет явной сигнатуры поэтому лучше использовать метод update самой сущности) В свою очередь сама сущность имеет несколько методов для более простого создания и обновления :: <EntityInstance>.create() <EntityInstance>.update() <EntityInstance>.save() # создаст или обновит в зависимости от того как обьект был инициализирован Исключение - создание звонка происходит через упрошенную сущность :: from amocrm.v2 import Call, CallDirection, CallStatus Call().create(CallDirection.OUTBOUNT, phone="....", source="", duration=timedelta(minutes=10), status=CallStatus.CALL_LATER, created_by=manager) Рассмотрим полный процесс работы на примере контакта :: from amocrm.v2 import Contact, Company contact = Contact.objects.get(query="Тест") print(contact.first_name) print(contact.company.name) print(contact.created_at) contact.last_name = "Новое" contact.tags.append("new") contact.notes.objects.create(text="Примечание") contact.save() contact.company = Company(name="Amocrm") # создаст и сразу прилинкует компанию print(contact.company.id) len(list(contact.customers)) # lazy list contact.customers.append(Customer(name="Volta")) Кастомные поля -------------- Одна из удобных возможностей amoCRM - кастомные поля Example:: from amocrm.v2 import Lead as _Lead, custom_field class Lead(_Lead): utm = custom_field.UrlCustomField("UTM метка") delivery_type = custom_field.SelectCustomField("Способ доставки") address = custom_field.TextCustomField("Адрес") Однако мапинг всех кастомных полей дело утоминетльное, поэтому для генерации файла с готовым мапингом есть команда:: export AMOCRM_CLIENT_ID=xxx export AMOCRM_SECRET=xxx export AMOCRM_SUBDOMAIN=xxx export AMOCRM_REDIRECT_URL=xxx export AMOCRM_CODE=xxx # optional pyamogen > models.py Для ее работы необходимо установить пакет python-slugify (https://github.com/un33k/python-slugify)


نیازمندی

مقدار نام
- requests
- pyjwt
- python-slugify


زبان مورد نیاز

مقدار نام
>=3.6 Python


نحوه نصب


نصب پکیج whl amocrm-api-2.5.0:

    pip install amocrm-api-2.5.0.whl


نصب پکیج tar.gz amocrm-api-2.5.0:

    pip install amocrm-api-2.5.0.tar.gz