Krukov / amocrm_api

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

Использование фильтров #50

Closed AlexFrundin closed 3 years ago

AlexFrundin commented 3 years ago

Добрый день! Подскажите как использовать правильно запрос фильтр. data = {"created_at":yyyy-mm-dd} Lead.objects.filter(**data) Ошибка отсутствует именнованный параметр "created_at"

Krukov commented 3 years ago

Простите за долгое ожидание ) Если еще актуально то могу посоветовать попробовать через фильтр, вот так

from amocrm.v2.filters import RangeFilter

Lead.objects.filter(filters=[RangeFilter("created_at")(value_from, value_to)])

value_from, value_to - unix_timestamp

rolldeep commented 2 years ago

Привет @Krukov , использую объект фильтр и получаю ошибку

line 71, in _list
    params.update(_filter._as_params())
AttributeError: 'NoneType' object has no attribute '_as_params'

Вот полный код:

value_from = int(time.mktime(datetime.date(2021, 11, 1).timetuple()))
value_to = int(time.mktime(datetime.date(2021, 12, 6).timetuple()))

last_leads = Lead.objects.filter(
    filters=[RangeFilter("created_at")(value_from, value_to)])

print(len(list(lead)))

PS. Когда смотрю в дебаггере на шаге исполнение кода, вижу что передаваемый праметр None image

Krukov commented 2 years ago

Привет, да дейтвительно бага - фильтры слабо тестировались да и юнитов на них нет В ближайший час пофикшу

Krukov commented 2 years ago

https://github.com/Krukov/amocrm_api/pull/58

Krukov commented 2 years ago

Вообщем фикс в pipy https://pypi.org/project/amocrm-api/2.3.2/

Попробуйте - будут проблемы сделайте отдельний Issue ну или напишите здесь.

rolldeep commented 2 years ago

@Krukov , спасибо большое за быстрый ответ. Теперь работает.

SelfMadeDev commented 9 months ago

Подскажите, пожалуйста, как работать с фильтрами по значению до/после для событий?

filters = [
    filters.SingleFilter("value_after")({
            "lead_status": {
              "id": 54616594,
              "pipeline_id": 3807,
            }
          }),
]

Пытался таким образом получить все события изменения статусов сделок на статус 54616594 в воронке 3807, но без результата.

SelfMadeDev commented 9 months ago

Подскажите, пожалуйста, как работать с фильтрами по значению до/после для событий?

filters = [
    filters.SingleFilter("value_after")({
            "lead_status": {
              "id": 54616594,
              "pipeline_id": 3807,
            }
          }),
]

Пытался таким образом получить все события изменения статусов сделок на статус 54616594 в воронке 3807, но без результата.

Возможно, кому-нибудь пригодиться: filters.EventsFiltersByPipelineAndStatus("value_after")(pipline_id=3807, status_id=54616594)