amocrm api создать сделку

Amocrm api создать сделку

amoCRM API Library

amocrm api library

В данном пакете представлен API клиент с поддержкой основных сущностей и авторизацией по протоколу OAuth 2.0 в amoCRM. Для работы библиотеки требуется PHP версии не ниже 7.1.

Установить библиотеку можно с помощью composer:

Начало работы и авторизация

Для начала использования вам необходимо создать объект бибилиотеки:

Затем необходимо создать объект ( \League\OAuth2\Client\Token\AccessToken ) Access токена из вашего хранилища токенов и установить его в API клиент.

Также необходимо установить домен аккаунта amoCRM в виде СУБДОМЕН.amocrm.(ru/com).

Вы можете установить функцию-callback на событие обновления Access токена, если хотите дополнительно обрабатывать новый токен (например сохранять его в хранилище токенов):

Отправить пользователя на страницу авторизации можно 2мя способами:

Для получения Access Token можно использовать следующий код в обработчике, который будет находится по адресу, указаному в redirect_uri

Пример авторизации можно посмотреть в файле examples/get_token.php

Подход к работе с библиотекой

В библиотеке используется сервисный подход. Для каждой сущности имеется сервис. Для каждого метода имеется свой объект коллекции и модели. Работа с данными происходит через коллекции и методы библиотеки.

Также для работы с коллекциями имеют следующие методы:

При работе с библиотекой необходимо не забывать о лимитах API amoCRM. Для оптимальной работы с данными лучше всего создавать/изменять за раз не более 50 сущностей в методах, где есть пакетная обработка.

Нужно не забывать про обработку ошибок, а также не забывать о безопасности хранилища токенов. Утечка токена грозит потерей досутпа к аккаунту.

Поддерживаемые методы и сервисы

Библиотека поддерживает большое количество методов API. Методы сгруппированы и объекты-сервисы. Получить объект сервиса можно вызвав необходимый метод у библиотеки, например:

В данный момент доступны следующие сервисы:

Сервис Цель сервиса
notes Примечание сущности
tags Теги сущностей
tasks Задачи
leads Сделки
contacts Контакты
companies Компании
catalogs Каталоги
catalogElements Элементы каталогов
customFields Пользовательские поля
customFieldGroups Группы пользовательских полей
account Информация об аккаунте
roles Роли пользователей
users Роли юзеров
customersSegments Сегменты покупателей
events Список событий
webhooks Вебхуки
unsorted Неразобранное
pipelines Воронки сделок
statuses Статусы сделок
widgets Виджеты
lossReason Причины отказа
transactions Покупки покупателей
customers Покупатели
customersStatuses Сегменты покупателя
customersBonusPoints Бонусные баллы покупателя
calls Звонки
products Товары
links Массовая привязка сущностей
shortLinks Короткие ссылки
talks Беседы
entitySubscriptions Подписчики сущности
getOAuthClient oAuth сервис
getRequest Голый запросы

Для большинства сервисов есть базовый набор методов:

get Получить несколько сущностей:

addOne Создать одну сущность:

add Создать сущности пакетно:

updateOne Обновить одну сущность:

update Обновить сущности пакетно:

syncOne Синхронизировать одну модель с сервером:

Не все методы доступны во всех сервисах. В случае их вызова будет выброшены Exception.

Некоторые сервисы имеют специфичные методы, ниже рассмотрим сервисы, которые имеют специфичные методы.

Методы доступные в сервисе leads :

Подробней про использование метода комплексного создания смотрите в примере

Методы доступные в сервисе getOAuthClient :

getAuthorizeUrl получение ссылки на авторизация

getAccessTokenByCode получение аксес токена по коду авторизации

getAccessTokenByRefreshToken получение аксес токена по рефреш токену

setBaseDomain установка базового домена, куда будут отправляться запросы необходимые для работы с токенами

setAccessTokenRefreshCallback установка callback, который будет вызван при обновлении аксес токена

getOAuthButton установка callback, который будет вызван при обновлении аксес токена

exchangeApiKey метод для обмена API ключа на код авторизации

link Привязать сущность

getLinks Получить связи сущности

unlink Отвязать сущность

Методы доступные в сервисе customers :

Методы доступные в сервисе customersBonusPoints :

earnPoints Начисляет бонусные баллы покупателю

redeemPoints Списывает бонусные баллы покупателя

Методы доступные в сервисе account

Методы доступные в сервисе unsorted

addOne Создать одну сущность:

add Создать сущности пакетно:

Методы доступные в сервисе webhooks

Методы доступные в сервисе widgets

Методы доступные в сервисе products

Методы, доступные в сервисе talks

Тип Условия
AmoCRM\Exceptions\AmoCRMApiConnectExceptionException Подключение к серверу не было выполнено
AmoCRM\Exceptions\AmoCRMApiErrorResponseException Сервер вернул ошибку на выполняемый запрос
AmoCRM\Exceptions\AmoCRMApiHttpClientException Произошла ошибка http клиента
AmoCRM\Exceptions\AmoCRMApiNoContentException Сервер вернул код 204 без результата, ничего страшного не произошло, просто нет данных на ваш запрос
AmoCRM\Exceptions\AmoCRMApiTooManyRedirectsException Слишком много редиректов (в нормальном режиме не выкидывается)
AmoCRM\Exceptions\AmoCRMoAuthApiException Ошибка в oAuth клиенте
AmoCRM\Exceptions\BadTypeException Передан не верный тип данных
AmoCRM\Exceptions\InvalidArgumentException Передан не верный аргумент
AmoCRM\Exceptions\NotAvailableForActionException Метод не доступен для вызова
AmoCRM\Exceptions\AmoCRMApiPageNotAvailableException Выбрасывается в случае запроса следующей или предыдущей страницы коллекции, когда страница отстутвует
AmoCRM\Exceptions\AmoCRMMissedTokenException Не установлен Access Token для выполнения запроса

У выброшенных Exception есть следующие методы:

В данный момент библиотека поддерживает фильтры для следующих сервисов:

Работа с дополнительными полями сущностей

Дополнительные поля доступны у сущностей следующих сервисов:

У моделей, наследующих BaseCustomFieldValuesModel доступны следующие методы:

Схема отношений объектов:

CustomFieldsValuesCollection 1 n BaseCustomFieldValuesModel BaseCustomFieldValuesModel::getValues() 1 1 BaseCustomFieldValueCollection BaseCustomFieldValueCollection 1 n BaseCustomFieldValueModel

Для разных типов полей мы уже подготовили разные модели и коллекции:

Тип поля Модель значения Коллекция моделей значений Модель доп поля Контакт Сделка Компания Покупатель Каталог Сегмент
Текст TextCustomFieldValueModel TextCustomFieldValueCollection TextCustomFieldValuesModel
Число NumericCustomFieldValueModel NumericCustomFieldValueCollection NumericCustomFieldValuesModel
Флаг CheckboxCustomFieldValueModel CheckboxCustomFieldValueCollection CheckboxCustomFieldValuesModel
Список SelectCustomFieldValueModel SelectCustomFieldValueCollection SelectCustomFieldValuesModel
Мультисписок MultiselectCustomFieldValueModel MultiselectCustomFieldValueCollection MultiSelectCustomFieldValuesModel
Мультитекст MultitextCustomFieldValueModel MultitextCustomFieldValueCollection MultitextCustomFieldValuesModel
Дата DateCustomFieldValueModel DateCustomFieldValueCollection DateCustomFieldValuesModel
Ссылка UrlCustomFieldValueModel UrlCustomFieldValueCollection UrlCustomFieldValuesModel
Дата и время DateTimeCustomFieldValueModel DateTimeCustomFieldValueCollection DateTimeCustomFieldValuesModel
Текстовая область TextareaCustomFieldValueModel TextareaCustomFieldValueCollection TextareaCustomFieldValuesModel
Переключатель RadiobuttonCustomFieldValueModel RadiobuttonCustomFieldValueCollection RadiobuttonCustomFieldValuesModel
Короткий адрес StreetAddressCustomFieldValueModel StreetAddressCustomFieldValueCollection StreetAddressCustomFieldValuesModel
Адрес SmartAddressCustomFieldValueModel SmartAddressCustomFieldValueCollection SmartAddressCustomFieldValuesModel
День рождения BirthdayCustomFieldValueModel BirthdayCustomFieldValueCollection BirthdayCustomFieldValuesModel
Юр. лицо LegalEntityCustomFieldValueModel LegalEntityCustomFieldValueCollection LegalEntityCustomFieldValuesModel
Цена PriceCustomFieldValueModel PriceCustomFieldValueCollection PriceCustomFieldValuesModel
Категория CategoryCustomFieldValueModel CategoryCustomFieldValueCollection CategoryCustomFieldValuesModel
Предметы ItemsCustomFieldValueModel ItemsCustomFieldValueCollection ItemsCustomFieldValuesModel
Метка TrackingDataCustomFieldValueModel TrackingDataCustomFieldValueCollection TrackingDataCustomFieldValuesModel
Связанная сущность LinkedEntityCustomFieldValueModel LinkedEntityCustomFieldValueCollection LinkedEntityCustomFieldValuesModel

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

Передав этот объект, вы зануляете значение поля.

Работа с тегами сущностей

Для работы с тегами конкретной сущности, нужно взаимодействовать с конкретной моделью сущности. С помощью методов getTags и setTags вы можете получить коллекцию тегов сущности или установить её.

Для изменения тегов вам необходимо передавать всю коллекцию тегов, иначе теги могут быть потеряны.

Пример добавления/изменения тегов у сущности:

Пример удаления тегов у сущности:

Также доступны константы в следующих классах/интерфейсах:

Работа в случае смены субдомена аккаунта

Одноразовые токены интеграций, расшифровка

Также вы можете распарсить и модель одноразового токена для Salesbot/Marketingbot. Для этого необходимо сделать вызов метода parseBotDisposableToken:

В рамках данного репозитория имеется папка examples с различными примерами.

После авторизации вы можете проверить работу примеров, обращаясь к ним из браузера. Стоит отметить, что для корректной работы примеров необходимо проверить ID сущностей в них.

Если вы столкнулись с проблемой при работе с библиотекой, вы можете составить Issue, который будет рассмотрен при первой возможности.

При составлении, детально опишите проблему, приложите примеры кода, а также ответы на запросы из getLastRequestInfo.

Не забывайте удалять из примеров значимые данные, которые не должны быть достоянием общественности.

Также могут быть рассмотрены пожелания по улучшению библиотеки.

Вы можете предложить свои исправления/изменения исходного кода библиотеки, посредством создания Issue с описанием, а также Pull request с упоминанием Issue в комментарии к нему. Они будут рассмотрены и будут приняты или отклонены. Некоторые Pull Request могут остаться без ответа и действия, в случае, если правки потенциально жизнеспособны, но в данный момент не являются ключевыми для проекта.

Источник

Amocrm api создать сделку

Вы можете использовать данный тип события даже со сделками, созданными через API из Ваших форм. Для того, чтобы связать сделку с конкретным посетителем сайта, Вам нужно получить идентификатор этого посетителя и передать его через API вместе с данными создаваемой сделки.

Получение идентификатора посетителя

Для получения идентификатора посетителя нужно разместить на Вашем сайте следующий код:

Данный код создаст глобальный объект AMOPIXEL_IDENTIFIER. С помощью метода “getVisitorUid” данного объекта можно получить уникальный идентификатор посетителя:

Объект AMOPIXEL_IDENTIFIER доступен только после полной его загрузки и инициализации.
Вы можете указать callback-функцию, которая будет вызвана после полной инициализации объекта AMOPIXEL_IDENTIFIER.
Для указания callback-функции нужно создать глобальный объект AMOPIXEL_IDENTIFIER_PARAMS, где в поле “onload” будет указана callback-функция.
Первым аргументом в эту функцию будет передан сам объект AMOPIXEL_IDENTIFIER, но Вы можете обратиться к нему и через глобальный объект window, т.е. window.AMOPIXEL_IDENTIFIER.

Полученный идентификатор можно записать в скрытое поле Вашей формы, передать на Ваш сервер, а затем создать сделку через API amoCRM с указанием “visitor_uid”:

URL метода

На стороне amoCRM произойдет связывание идентификатора посетителя “visitor_uid” с id созданной сделки.

Далее, при заходе клиента на отслеживаемую страницу, сделка, связанная с ним, автоматически перейдет в настроенный этап.

Примечание: в качестве значения поля “visitor_uid” можно использовать только идентификатор, полученный от AMOPIXEL_IDENTIFIER. Формат идентификатора соответствует UUID. Если передать некорректное значение, оно будет проигнорировано.

Источник

Amocrm api создать сделку

amoCRM API Library

amocrm api library

В данном пакете представлен API клиент с поддержкой основных сущностей и авторизацией по протоколу OAuth 2.0 в amoCRM. Для работы библиотеки требуется PHP версии не ниже 7.1.

Установить библиотеку можно с помощью composer:

Начало работы и авторизация

Для начала использования вам необходимо создать объект бибилиотеки:

Затем необходимо создать объект ( \League\OAuth2\Client\Token\AccessToken ) Access токена из вашего хранилища токенов и установить его в API клиент.

Также необходимо установить домен аккаунта amoCRM в виде СУБДОМЕН.amocrm.(ru/com).

Вы можете установить функцию-callback на событие обновления Access токена, если хотите дополнительно обрабатывать новый токен (например сохранять его в хранилище токенов):

Отправить пользователя на страницу авторизации можно 2мя способами:

Для получения Access Token можно использовать следующий код в обработчике, который будет находится по адресу, указаному в redirect_uri

Пример авторизации можно посмотреть в файле examples/get_token.php

Подход к работе с библиотекой

В библиотеке используется сервисный подход. Для каждой сущности имеется сервис. Для каждого метода имеется свой объект коллекции и модели. Работа с данными происходит через коллекции и методы библиотеки.

Также для работы с коллекциями имеют следующие методы:

При работе с библиотекой необходимо не забывать о лимитах API amoCRM. Для оптимальной работы с данными лучше всего создавать/изменять за раз не более 50 сущностей в методах, где есть пакетная обработка.

Нужно не забывать про обработку ошибок, а также не забывать о безопасности хранилища токенов. Утечка токена грозит потерей досутпа к аккаунту.

Поддерживаемые методы и сервисы

Библиотека поддерживает большое количество методов API. Методы сгруппированы и объекты-сервисы. Получить объект сервиса можно вызвав необходимый метод у библиотеки, например:

В данный момент доступны следующие сервисы:

Сервис Цель сервиса
notes Примечание сущности
tags Теги сущностей
tasks Задачи
leads Сделки
contacts Контакты
companies Компании
catalogs Каталоги
catalogElements Элементы каталогов
customFields Пользовательские поля
customFieldGroups Группы пользовательских полей
account Информация об аккаунте
roles Роли пользователей
users Роли юзеров
customersSegments Сегменты покупателей
events Список событий
webhooks Вебхуки
unsorted Неразобранное
pipelines Воронки сделок
statuses Статусы сделок
widgets Виджеты
lossReason Причины отказа
transactions Покупки покупателей
customers Покупатели
customersStatuses Сегменты покупателя
customersBonusPoints Бонусные баллы покупателя
calls Звонки
products Товары
links Массовая привязка сущностей
shortLinks Короткие ссылки
talks Беседы
entitySubscriptions Подписчики сущности
getOAuthClient oAuth сервис
getRequest Голый запросы

Для большинства сервисов есть базовый набор методов:

get Получить несколько сущностей:

addOne Создать одну сущность:

add Создать сущности пакетно:

updateOne Обновить одну сущность:

update Обновить сущности пакетно:

syncOne Синхронизировать одну модель с сервером:

Не все методы доступны во всех сервисах. В случае их вызова будет выброшены Exception.

Некоторые сервисы имеют специфичные методы, ниже рассмотрим сервисы, которые имеют специфичные методы.

Методы доступные в сервисе leads :

Подробней про использование метода комплексного создания смотрите в примере

Методы доступные в сервисе getOAuthClient :

getAuthorizeUrl получение ссылки на авторизация

getAccessTokenByCode получение аксес токена по коду авторизации

getAccessTokenByRefreshToken получение аксес токена по рефреш токену

setBaseDomain установка базового домена, куда будут отправляться запросы необходимые для работы с токенами

setAccessTokenRefreshCallback установка callback, который будет вызван при обновлении аксес токена

getOAuthButton установка callback, который будет вызван при обновлении аксес токена

exchangeApiKey метод для обмена API ключа на код авторизации

link Привязать сущность

getLinks Получить связи сущности

unlink Отвязать сущность

Методы доступные в сервисе customers :

Методы доступные в сервисе customersBonusPoints :

earnPoints Начисляет бонусные баллы покупателю

redeemPoints Списывает бонусные баллы покупателя

Методы доступные в сервисе account

Методы доступные в сервисе unsorted

addOne Создать одну сущность:

add Создать сущности пакетно:

Методы доступные в сервисе webhooks

Методы доступные в сервисе widgets

Методы доступные в сервисе products

Методы, доступные в сервисе talks

Тип Условия
AmoCRM\Exceptions\AmoCRMApiConnectExceptionException Подключение к серверу не было выполнено
AmoCRM\Exceptions\AmoCRMApiErrorResponseException Сервер вернул ошибку на выполняемый запрос
AmoCRM\Exceptions\AmoCRMApiHttpClientException Произошла ошибка http клиента
AmoCRM\Exceptions\AmoCRMApiNoContentException Сервер вернул код 204 без результата, ничего страшного не произошло, просто нет данных на ваш запрос
AmoCRM\Exceptions\AmoCRMApiTooManyRedirectsException Слишком много редиректов (в нормальном режиме не выкидывается)
AmoCRM\Exceptions\AmoCRMoAuthApiException Ошибка в oAuth клиенте
AmoCRM\Exceptions\BadTypeException Передан не верный тип данных
AmoCRM\Exceptions\InvalidArgumentException Передан не верный аргумент
AmoCRM\Exceptions\NotAvailableForActionException Метод не доступен для вызова
AmoCRM\Exceptions\AmoCRMApiPageNotAvailableException Выбрасывается в случае запроса следующей или предыдущей страницы коллекции, когда страница отстутвует
AmoCRM\Exceptions\AmoCRMMissedTokenException Не установлен Access Token для выполнения запроса

У выброшенных Exception есть следующие методы:

В данный момент библиотека поддерживает фильтры для следующих сервисов:

Работа с дополнительными полями сущностей

Дополнительные поля доступны у сущностей следующих сервисов:

У моделей, наследующих BaseCustomFieldValuesModel доступны следующие методы:

Схема отношений объектов:

CustomFieldsValuesCollection 1 n BaseCustomFieldValuesModel BaseCustomFieldValuesModel::getValues() 1 1 BaseCustomFieldValueCollection BaseCustomFieldValueCollection 1 n BaseCustomFieldValueModel

Для разных типов полей мы уже подготовили разные модели и коллекции:

Тип поля Модель значения Коллекция моделей значений Модель доп поля Контакт Сделка Компания Покупатель Каталог Сегмент
Текст TextCustomFieldValueModel TextCustomFieldValueCollection TextCustomFieldValuesModel
Число NumericCustomFieldValueModel NumericCustomFieldValueCollection NumericCustomFieldValuesModel
Флаг CheckboxCustomFieldValueModel CheckboxCustomFieldValueCollection CheckboxCustomFieldValuesModel
Список SelectCustomFieldValueModel SelectCustomFieldValueCollection SelectCustomFieldValuesModel
Мультисписок MultiselectCustomFieldValueModel MultiselectCustomFieldValueCollection MultiSelectCustomFieldValuesModel
Мультитекст MultitextCustomFieldValueModel MultitextCustomFieldValueCollection MultitextCustomFieldValuesModel
Дата DateCustomFieldValueModel DateCustomFieldValueCollection DateCustomFieldValuesModel
Ссылка UrlCustomFieldValueModel UrlCustomFieldValueCollection UrlCustomFieldValuesModel
Дата и время DateTimeCustomFieldValueModel DateTimeCustomFieldValueCollection DateTimeCustomFieldValuesModel
Текстовая область TextareaCustomFieldValueModel TextareaCustomFieldValueCollection TextareaCustomFieldValuesModel
Переключатель RadiobuttonCustomFieldValueModel RadiobuttonCustomFieldValueCollection RadiobuttonCustomFieldValuesModel
Короткий адрес StreetAddressCustomFieldValueModel StreetAddressCustomFieldValueCollection StreetAddressCustomFieldValuesModel
Адрес SmartAddressCustomFieldValueModel SmartAddressCustomFieldValueCollection SmartAddressCustomFieldValuesModel
День рождения BirthdayCustomFieldValueModel BirthdayCustomFieldValueCollection BirthdayCustomFieldValuesModel
Юр. лицо LegalEntityCustomFieldValueModel LegalEntityCustomFieldValueCollection LegalEntityCustomFieldValuesModel
Цена PriceCustomFieldValueModel PriceCustomFieldValueCollection PriceCustomFieldValuesModel
Категория CategoryCustomFieldValueModel CategoryCustomFieldValueCollection CategoryCustomFieldValuesModel
Предметы ItemsCustomFieldValueModel ItemsCustomFieldValueCollection ItemsCustomFieldValuesModel
Метка TrackingDataCustomFieldValueModel TrackingDataCustomFieldValueCollection TrackingDataCustomFieldValuesModel
Связанная сущность LinkedEntityCustomFieldValueModel LinkedEntityCustomFieldValueCollection LinkedEntityCustomFieldValuesModel

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

Передав этот объект, вы зануляете значение поля.

Работа с тегами сущностей

Для работы с тегами конкретной сущности, нужно взаимодействовать с конкретной моделью сущности. С помощью методов getTags и setTags вы можете получить коллекцию тегов сущности или установить её.

Для изменения тегов вам необходимо передавать всю коллекцию тегов, иначе теги могут быть потеряны.

Пример добавления/изменения тегов у сущности:

Пример удаления тегов у сущности:

Также доступны константы в следующих классах/интерфейсах:

Работа в случае смены субдомена аккаунта

Одноразовые токены интеграций, расшифровка

Также вы можете распарсить и модель одноразового токена для Salesbot/Marketingbot. Для этого необходимо сделать вызов метода parseBotDisposableToken:

В рамках данного репозитория имеется папка examples с различными примерами.

После авторизации вы можете проверить работу примеров, обращаясь к ним из браузера. Стоит отметить, что для корректной работы примеров необходимо проверить ID сущностей в них.

Если вы столкнулись с проблемой при работе с библиотекой, вы можете составить Issue, который будет рассмотрен при первой возможности.

При составлении, детально опишите проблему, приложите примеры кода, а также ответы на запросы из getLastRequestInfo.

Не забывайте удалять из примеров значимые данные, которые не должны быть достоянием общественности.

Также могут быть рассмотрены пожелания по улучшению библиотеки.

Вы можете предложить свои исправления/изменения исходного кода библиотеки, посредством создания Issue с описанием, а также Pull request с упоминанием Issue в комментарии к нему. Они будут рассмотрены и будут приняты или отклонены. Некоторые Pull Request могут остаться без ответа и действия, в случае, если правки потенциально жизнеспособны, но в данный момент не являются ключевыми для проекта.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • amocrm api создание сделки
  • amir capital накопительный счет проценты