Интеграция Trello API с сайтом

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Интеграция Trello API с сайтом
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Интеграция Trello API с сайтом

Trello используется как лёгкий таск-менеджер для небольших команд. Интеграция с сайтом позволяет автоматически создавать карточки из заявок, отображать публичный роадмап из Trello-доски, синхронизировать статусы задач.

Аутентификация

Trello использует API Key + Token:

$apiKey   = config('services.trello.api_key');
$apiToken = config('services.trello.api_token');

// Базовый URL для всех запросов
$base = "https://api.trello.com/1";
$auth = "?key={$apiKey}&token={$apiToken}";

Создание карточки из формы

class TrelloService
{
    public function createCard(string $listId, array $data): array
    {
        $resp = Http::post("https://api.trello.com/1/cards", [
            'idList' => $listId,
            'name'   => $data['subject'],
            'desc'   => "**От:** {$data['email']}\n\n{$data['message']}",
            'pos'    => 'top',
            'key'    => config('services.trello.api_key'),
            'token'  => config('services.trello.api_token'),
        ]);

        $card = $resp->json();

        // Добавляем метку по приоритету
        if ($data['priority'] === 'high') {
            Http::post("https://api.trello.com/1/cards/{$card['id']}/idLabels", [
                'value' => config('services.trello.urgent_label_id'),
                'key'   => config('services.trello.api_key'),
                'token' => config('services.trello.api_token'),
            ]);
        }

        return $card;
    }
}

Публичный роадмап из Trello

async function getRoadmap(boardId: string): Promise<RoadmapColumn[]> {
  const lists = await fetch(
    `https://api.trello.com/1/boards/${boardId}/lists?cards=open&key=${KEY}&token=${TOKEN}`
  ).then(r => r.json());

  return lists
    .filter((list: any) => !list.closed)
    .map((list: any) => ({
      id:    list.id,
      name:  list.name,
      cards: list.cards.map((card: any) => ({
        id:          card.id,
        title:       card.name,
        description: card.desc,
        labels:      card.labels.map((l: any) => l.name),
        url:         card.shortUrl,
      })),
    }));
}

Webhooks

// Создание webhook в Trello (один раз при настройке)
Http::post("https://api.trello.com/1/webhooks", [
    'callbackURL' => route('webhooks.trello'),
    'idModel'     => $boardId,
    'key'         => $apiKey,
    'token'       => $apiToken,
]);

// Обработчик
Route::post('/webhooks/trello', function (Request $request) {
    $action = $request->input('action');
    if ($action['type'] === 'updateCard') {
        $card      = $action['data']['card'];
        $newListId = $action['data']['listAfter']['id'] ?? null;
        if ($newListId) SyncTrelloCardStatus::dispatch($card['id'], $newListId);
    }
    return response('ok');
});

Сроки

Создание карточек из форм + роадмап: 2–3 рабочих дня.