← Назад к списку
Логотип PHP PHP
13.02.2026

Тестовое задание: PHP (Digital Agency Rubikon)

Компания: Digital Agency Rubikon

Вакансия

  • Компания: Digital Agency Rubikon
  • Направление: PHP

Тестовое задание

Тестовое задание на вакансию back-end разработчика.

Общая часть

  1. Создать аккаунт amoCRM, создать сделку, контакт и создать интеграцию.
  2. Написать PHP-скрипт, содержащий в себе 2 функции.

Создание аккаунта: https://drive.google.com/file/d/1Gz_cOcc_nv5CaxBjmEWwxmVV9pd0Mexx/view?usp=sharing

После выполнения тестового задания необходимо прикрепить доступ к аккаунту (логин и пароль), а также архив с кодом интеграции.

Дополнительная информация:

  • Что такое сделка и как ее редактировать (в интерфейсе системы): https://www.amocrm.ru/support/leads/edit_lead
  • Установка интеграции в аккаунт: https://drive.google.com/file/d/1_pUe-HjJzxamvJBCEB3VaLy4dTZuSx4m/view?usp=share_link

Задача

  1. Ознакомиться с видео инструкциями.
  2. Создать аккаунт.
  3. Ознакомиться с сущностями "сделка".
  4. Создать сделку, указать название сделки, заполнить ее поля данными и указать бюджет.
  5. Внутри созданной сделки создать примечание и добавить задачу.
  6. Создать интеграцию в своем аккаунте amoCRM.

После выполнения всех пунктов можно переходить к блоку реализации PHP-скрипта.

Реализация PHP-скрипта

Базовый шаблон: template.rar

  1. Взять за основу шаблон, предоставленный выше, подключить созданную интеграцию, как было показано в видео, и запустить скрипт у себя на сервере.

В результате появится файл TOKEN.txt, который создается автоматически после обмена API-ключей. При дальнейшей работе класс по работе с amoCRM будет автоматически использовать токен, а если срок его жизни истечет, класс автоматически обменяет его на новый с помощью refresh-токена.

2.1 Реализовать эндпоинт, который будет обращаться в amoCRM к сделкам на этапе "Заявка" в воронке "Воронка", перебирать все найденные сделки и проверять: если у сделки бюджет > 5000, то он перетягивает ее на этап "Ожидание клиента".

Видео по запросам и параметрам фильтрации: https://drive.google.com/file/d/19ma4pL9bOg_BbSlZw-Mgt5wbBygI5HCF/view?usp=share_link

2.2 Реализовать эндпоинт, который будет копировать сделки на этапе "Клиент подтвердил" при условии, что бюджет сделки равен 4999.

Необходимые действия:

a) Обратиться к сделкам на этапе "Клиент подтвердил" и выбрать только те, у которых бюджет равен 4999.
b) Обратиться к примечаниям сделок, которые были найдены после перебора.
c) Обратиться к задачам сделок, которые были найдены после перебора.
d) Создать копию сделки с переносом всех значений в полях. Новую сделку нужно создавать на этапе "Ожидание клиента".
e) Создать копии примечаний из сделки-донора и прикрепить новые примечания к новой сделке.
f) Создать копии задач из сделки-донора с сохранением всех данных и прикрепить новые задачи к сделке.

  1. Проверить работоспособность каждого эндпоинта отдельно, прокомментировать код, после чего загрузить файлы в архив и сохранить в Google Drive, Яндекс Диск, Mail.ru Облако или любое другое облако. Ссылку на архив прикрепить в анкету вместе с логином и паролем от аккаунта, в котором выполнялось тестовое.

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

  • Создание аккаунта: https://drive.google.com/file/d/1Gz_cOcc_nv5CaxBjmEWwxmVV9pd0Mexx/view?usp=sharing
  • Создание интеграции: https://drive.google.com/file/d/1_pUe-HjJzxamvJBCEB3VaLy4dTZuSx4m/view?usp=share_link
  • Видео по запросам и параметрам фильтрации: https://drive.google.com/file/d/19ma4pL9bOg_BbSlZw-Mgt5wbBygI5HCF/view?usp=share_link
  • Общее описание системы: https://docs.google.com/document/d/1ISrXlpkXnRO03aIpkT4kHCMxMcJ2FgydXRAoC_Y6VHw/edit
  • Что такое сделка и как ее редактировать: https://www.amocrm.ru/support/leads/edit_lead
  • API документация: https://www.amocrm.ru/developers/content/crm_platform/platform-abilities
  • Базовый шаблон скрипта (класс по работе с amoCRM): https://drive.google.com/file/d/11J3syF2IgYbnxKbCyQQvy9xfdt0e96xh/view?usp=sharing

Источник: https://docs.google.com/document/d/1iBH0pso9IPIs5-Wk34vA3dHWOYv-vLC8a9Wgzkhvd5U/edit?tab=t.0