Krukov / amocrm_api

Python amocrm API wrapper
MIT License
103 stars 55 forks source link

Получение информации о кастомных полях для каждой сделки #93

Closed sinevivan closed 1 year ago

sinevivan commented 1 year ago

Подскажите пожалуйста, как я могу получить значения кастомных полей в сделке?

Получил все сделки следующим образом

leads = list(Lead.objects.filter(filters=[filters.DateRangeFilter("created_at")\
                                  (now-timedelta(days=5), now)]))

далее через dir перебрал все методы, нигде информации этой нет

нашел следующий класс(?) _get_embedded_fields, но что с ним делать, не понятно

если пременить к сделке, то получается следующее

leads[1]._get_embedded_fields

out:
<bound method Model._get_embedded_fields of <class 'amocrm.v2.entity.lead.Lead'>>

Прочитал ответы, на счет создания и записи полей Но про получение не нашел информации Уровня питона не хватает, чтобы разобраться в документации

Надеюсь поможете!(

Krukov commented 1 year ago

Вам нужно создать маппинг для полей (в амосрм полюбому у них есть какие-то названия ) Вы создаете свой класс сделки где их описываете ( название и тип) ( это не про создание полей - сама либа их не создает )

from amocrm.v2 import Lead as _Lead, custom_field

class Lead(_Lead):
    utm = custom_field.UrlCustomField("UTM метка")
    delivery_type = custom_field.SelectCustomField("Способ доставки")
    my_field = custom_field.TextCustomField("Мое поле")

и тогда вы сможете получить его/их значение

leads[1].my_field 
...

https://github.com/Krukov/amocrm_api/tree/master#%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8F