API проекта

Не надо ничего скачивать и устанавливать. Создайте аккаунт прямо сейчас и
ваша CRM готова к работе

Try amoCRM for free

Используйте API для получения данных amoCRM из других программ

API проекта реализовано на базе стандартного протокола HTTPS с использованием POST запросов и ответов в формате XML. Для работы с API можно использовать CURL (см. http://ru.wikipedia.org/wiki/CURL) или же другие библиотеки, которые могут производить запрос к внешнему сервису. Все запросы необходимо производить не на общий домен http://www.amocrm.ru, а на точный адрес вашего аккаунта, например, https://company.amocrm.ru или https://qsoft.amocrm.ru. Также обратите внимание, что запросы производятся в формате HTTPS

Авторизация

В программе предусмотрено два вида авторизации:

  • Через логин-пароль пользователя
  • Через специальный ключ (Token), который можно получить на странице редактирования профиля пользователя. Однако обратите внимание, что после смены пароля, ключ сбрасывается и устанавливается новый.

Для авторизации сделайте следующий запрос:

  • Страница запроса: /private/api/auth.php
  • POST-параметры для авторизации через логин-пароль: USER_LOGIN=Логин&USER_PASSWORD=пароль
  • POST-параметры для авторизации по ключу: USER_LOGIN=Логин&USER_HASH=ключ

В результате вернется XML-ответ в следующей структуре:

<root>
  <auth>true <!-- (или false в случае ошибки) --></auth>
</root>

Контакты

Список

Для получения списка контактов сделайте запрос к странице /private/api/contacts.php. В ответ будет выдан XML с информацией о контактах, связанных пользователях, информации о тегах.

Кол-во выданных элементов будет соответствовать тому кол-во, которое пользователь указал при отображении списка контактов в обычном интерфейсе (этот параметр сохраняется в настройках пользователей). Если необходимо указать другое значение, то можно использовать параметр ELEMENT_CONT (например, &ELEMENT_CONT=30). Информация по страницам содержится в XML-ответе в тегах <onpage>, <totalpages> и <currpage>

Поиск контакта

Чтобы найти контакт по какому либо ключевому слову (e-mail, ФИО, название компании и пр.), нужно сделать запрос к странице /private/api/contact_search.php и в параметре SEARCH передать искомое слово. В ответ будет выдан XML аналогичный тому, что выводится в списке контактов.

Детальная страница контакта

Чтобы получить полную информацию по определенному контакту, сделайте запрос к странице /private/api/contact_detail.php и передайте параметр ID с уникальным номером контакта (передается, например, при построении списка контактов). В ответ будет возвращен XML с полной информацией по контакту, по связанным примечаниям, по задачам, по пользователям.

Добавление контакта

Для добавления контакта вызовите страницу /private/api/contact_add.php и передайте ей следующие POST-параметры:

ACTION=ADD_PERSON
сontact = Array(
  'person_name'          => 'Фамилия Имя',
  'person_position'      => 'Должность',
  'person_company_name'  => 'Компания',
  'person_company_id'    => 'ID компании, если известно',
  'contact_data'         => Array (
    'phone_numbers' => Array (
      0 => Array ('number'    => '+7 495 123-45-67'),
      1 => Array ('location'  => 'Work'),
      2 => Array ('number'    => '+7 499 891-01-11'),
      3 => Array ('location'  => 'Mobile')
    ),
    'email_addresses' => Array (
      0 => Array('address'   => 'maks@qsoft.ru'),
      1 => Array('location'  => 'Work')
    ),
    'web_addresses' => Array(
      0 => Array('url' => 'http://www.amocrm.ru')
    ),
    'addresses' => Array(
      'street' => 'Адрес'
    ),
    'instant_messengers' => Array(
      0 => Array('address'   => 'imaddr'),
      1 => Array('protocol'  => 'Skype')
    )
  )
)

Редактирование контакта

Для редактирования контакта вызовите /private/api/contact_add.php и передайте следующие параметры:

  • ACTION=EDIT
  • ID=ID контакта
  • contact=Структура данных аналогична той, что используется при добавлении контакта (нужно передавать все данные контакта, не зависимо от того, изменилось поле или нет)

Удаление контакта

Для удаление контакта вызовите страницу /private/api/contact_delete.php со следующими параметрами:

  • ACTION=DELETE
  • ID=ID контакта

Сделки

Список

Для получения списка сделок сделайте запрос к странице /private/api/deals.php. В ответ будет выдан XML с информацией о сделке, связанных со сделкой контактов, пользователей, информации о тегах.

Кол-во выданных элементов будет соответствовать тому кол-во, которое пользователь указал при отображении списка сделок в обычном интерфейсе (этот параметр сохраняется в настройках пользователей). Если необходимо указать другое значение, то можно использовать параметр ELEMENT_CONT (например, &ELEMENT_CONT=30). Информация по страницам содержится в XML-ответе в тегах <onpage>, <totalpages> и <currpage>

Поиск сделок

Чтобы найти сделку по какому либо ключевому слову (e-mail, ФИО, название компании и пр.), нужно сделать запрос к странице /private/api/deal_search.php и в параметре SEARCH передать искомое слово. В ответ будет выдан XML аналогичный тому, что выводится в списке сделок.

Детальная страница сделки

Чтобы получить полную информацию по определенной сделке, сделайте запрос к странице /private/api/deal_detail.php и передайте параметр ID с уникальным номером сделки (передается, например, при построении списка сделок). В ответ будет возвращен XML с полной информацией по сделке, контакту, по связанным примечаниям, по задачам, по пользователям.

Добавление сделки

Для добавления сделки вызовите страницу /private/api/deal_add.php и передайте ей следующие POST-параметры:

ACTION=ADD
deal = Array(
  'name'            => 'Название сделки',
  'status_id'       => 'ID статуса сделки',
  'price'           => 'Цена (число)',
  'main_user_id'    => 'ID ответственного пользователя',
  'tags'            => 'тег, тег2, тег3',
  'linked_contact'  => 'ID связанного контакта'
)

Редактирование сделки

Для редактирования сделки вызовите /private/api/deal_add.php и передайте следующие параметры:

  • ACTION=EDIT
  • ID= ID сделки
  • deal = Структура данных аналогична той, что используется при добавлении сделки (нужно передавать все данные сделки, не зависимо от того, изменилось поле или нет)

Удаление сделки

Для удаление сделки вызовите страницу /private/api/deal_delete.php со следующими параметрами:

  • ACTION= DELETE
  • ID= ID сделки

Примечания

Список примечаний

Для получения списка примечаний, привязанных к какому либо Объекту (сделка или контакт), необходимо просто запросить детальную страницу Объекта, все связанные примечания автоматически будут переданы в XML-ответе.

Добавление примечания

Для добавления примечания необходимо обратится к странице /private/api/note_add.php и передать след. параметры:

  • ACTION = ADD_NOTE
  • BODY = Текст примечания
  • ID = ID связанного Объекта
  • ELEMENT_TYPE = Тип связанного объекта, равен 1 для контакта, 2 для сделки

Редактирование примечания

Для редактирования примечания произведите запрос к странице /private/api/note_add.php со след. параметрами:

  • ACTION = EDIT_NOTE
  • ID = ID редактируемого примечания
  • BODY= Текст примечания

Удаление примечания

Запрос необходимо произвести к странице /private/api/note_add.php. Передаваемые параметры:

  • ACTION = NOTE_DELETE
  • ID = ID удаляемого примечания

Задачи

Список задач

Для получения списка задач, привязанных к какому либо Объекту (сделка или контакт), необходимо просто запросить детальную страницу Объекта, все связанные задачи автоматически будут переданы в XML-ответе.

Добавление задачи

Для добавления задачи необходимо обратится к странице /private/api/task_add.php и передать след. параметры:

  • ACTION = ADD_TASK
  • BODY => Текст задачи
  • END_DATE => Дата выполнения задачи в формате DD.MM.YYYY HH:MI:SS (например, 14.01.2011 02:00:00)
  • MAIN_USER => ID пользователя, которому ставится задача
  • ID => ID связанного объекта (необязательное поле)
  • ELEMENT_TYPE => 1 для контакта, 2 для сделки (обязательное поле, если определен объект задачи)
  • TASK_TYPE => Тип задачи, может быть CALL / LETTER / MEETING

Редактирование задачи

Для редактирования задачи произведите запрос к странице /private/api/task_add.php со след. параметрами:

  • ACTION = EDIT_TASK
  • ID = ID редактируемой задачи
  • BODY => Текст задачи
  • END_DATE => Дата выполнения задачи в формате DD.MM.YYYY HH:MI:SS (например, 14.01.2011 02:00:00)
  • MAIN_USER => ID пользователя, которому ставится задача
  • TASK_OBJECT => ID связанного объекта (необязательное поле)
  • ELEMENT_TYPE => 1 для контакта, 2 для сделки (обязательное поле, если определен объект задачи)
  • TASK_TYPE => Тип задачи, может быть CALL / LETTER / MEETING

Удаление задачи

Запрос необходимо произвести к странице /private/api/task_add.php. Передаваемые параметры:

  • ACTION = TASK_DELETE
  • ID = ID удаляемой задачи

Выполнение задачи

Чтобы отметить, что задача была выполнена, необходимо выполнить запрос к странице /private/api/task_add.php и передать следующие параметры:

  • ACTION = COMPLATE_TASK
  • ID = ID удаляемой задачи