Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Типы примечаний #133

Closed
SiteMD opened this issue Sep 8, 2020 · 7 comments
Closed

Типы примечаний #133

SiteMD opened this issue Sep 8, 2020 · 7 comments

Comments

@SiteMD
Copy link

SiteMD commented Sep 8, 2020

Вопрос про доп. полями, почему нету класса CommonNote(); для простое текстовое примечание так как тут он есть https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-types

Пример для системное сообщение:

$notesCollection = new NotesCollection();
$serviceMessageNote = new ServiceMessageNote();
$serviceMessageNote->setEntityId(1)
    ->setText('Текст примечания')
$notesCollection->add($serviceMessageNote);
try {
    $leadNotesService = $apiClient->notes(EntityTypesInterface::LEADS);
    $notesCollection = $leadNotesService->add($notesCollection);
} catch (AmoCRMApiException $e) {
    printError($e);
    die;
}

Соотвествено должен быть и CommonNote() для текстовое примечание:

$notesCollection = new NotesCollection();
$commonNote = new CommonNote();
$commonNote->setEntityId(1)
    ->setText('Текст примечания')
@nomelodic
Copy link

Такой класс есть, вот здесь посмотрите src/AmoCRM/Models/NoteType/CommonNote.php.
Возможно в начале кода не хватает use AmoCRM\Models\NoteType\CommonNote;, поэтому скрипт не видит его.

@SiteMD
Copy link
Author

SiteMD commented Sep 8, 2020

как получить id прошлого lead когда уже была выполнено

try {
   $leadModel = $apiClient->leads()->addOne($lead);
} catch (AmoCRMApiException $e) {
   printError($e);
   die;
}

что бы добавить его тут
$serviceMessageNote->setEntityId(1)

@nomelodic
Copy link

как получить id прошлого lead когда уже была выполнено

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

$id = $leadModel->first()->getId();
$serviceMessageNote->setEntityId($id);

После добавления сделки в переменную $leadModel возвращается коллекция, которая содержит только одну сделку (которую вы добавили), поэтому её можно получить с помощью метода first(). Этот метод вернёт сделку, и следом методом getId() получаем её идентификатор. В принципе, такая логика применима и к другим сущностям (контакты, компании и т.д.)

@SiteMD
Copy link
Author

SiteMD commented Sep 8, 2020

с пакетным добавлением

Uncaught Error: Call to undefined method AmoCRM\Models\LeadModel::first()

искал метод first() и не нашел

@nomelodic
Copy link

Прошу прощения, не обратил внимания, что у вас ->addOne($lead);, а не ->add($lead);. Здесь возвращается модель, а не коллекция, а значит здесь применим метод getId().
Тогда всё ещё проще:

$id = $leadModel->getId();
$serviceMessageNote->setEntityId($id);

А в чём вы работаете с кодом, если не секрет?

@SiteMD
Copy link
Author

SiteMD commented Sep 8, 2020

Прошу прощения, не обратил внимания, что у вас ->addOne($lead);, а не ->add($lead);. Здесь возвращается модель, а не коллекция, а значит здесь применим метод getId().
Тогда всё ещё проще:

$id = $leadModel->getId();
$serviceMessageNote->setEntityId($id);

А в чём вы работаете с кодом, если не секрет?

не очень понял ваш вопрос
какой редактор? VSCode
что подключаю? заявки с сайта

@nomelodic
Copy link

какой редактор? VSCode

Спрашивал про редактор. Просто при использовании IDE (а VSCode, насколько я понимаю, ею является) обращайте внимание на то, в каком виде возвращаются данные и уже на это опирайтесь. Плюс зачастую подсказки при вводе строки многое дают, т.е. если начать вводить $leadModel->get, то в подсказке появится список всех возможных методов, начинающиеся с get, а отсюда уже и часть вопросов можно решить.

x3419 ru – AmoCRM1 php
x3419 ru – AmoCRM php

@SiteMD SiteMD closed this as completed Sep 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants