Krukov / amocrm_api

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

Возврат нескольких e-mail или телефонов в случае наличия. #56

Open alex-msk opened 3 years ago

alex-msk commented 3 years ago

К Issue #45 .

Если у контакта в CRM несколько E-mail или телефонов одного типа(несколько рабочих e-mail`ов), возвращаться будут несколько.

image
Krukov commented 3 years ago

Да думаю это поможет решить проблему, но проблема в том что это может поломать кому-то интеграцию (есть опасения что кто то использует эту библиотеку). Предлагаю что бы этого избежать сделать 2 новых класса для этих филдов по типу

class ContactPhonesField(TextCustomField):
    ...

class ContactEmailsField(TextCustomField):
    ...

и хотел еще предложит что бы вместе с телефонами возвращались их енумы ( по типу WORK) может возвращать какойто список namedtuple аля namedtuple('Phone', ['value', 'enum'])

alex-msk commented 3 years ago

Да, тоже думал об обратной совместимости. Поправлю. В принципе это решение.

А зачем там ENUM? enum же и без того указан в модели, только он и будет в выдаче.

Krukov commented 3 years ago

А я думал с одним енумом 2 значений не бывает ? Сейчас поищу в документации

Krukov commented 3 years ago

все сори - туплю ( у тебя же на картинке все видно) да конечно не надо тогда namedtuple

alex-msk commented 3 years ago

Хотя, я вот вижу, что у тебя в соседней ветке лежит изменение. Если я правильно понимаю его суть, то возвращаться будут все телефоны если не указывать enum. Я правильно понимаю? Если да, то возврат enum для таких полей, наверное был бы уместен. Как поступисм?

Krukov commented 3 years ago

Вообще кода ты изначально описывал проблему я подумал что енумы разные поэтому и так сделал, но я думаю твое решение правильнее и что если енумы отличаются то должно быть отдельное 'поле' под каждый енум

Вообщем я за твое решение