# service-de-channel-activate

Активирует уже созданный Enhanced-канал (WhatsApp, Apple, Facebook, SMS, RCS) одним PATCH-запросом к REST-эндпоинту Salesforce.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 648 установок · ★ 1116
- Автор: forcedotcom
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/service-de-channel-activate/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/service-de-channel-activate

## Что делает

Скилл берёт `{CHANNEL_ID}`, читает `MessagingChannelUsage.Id` и отправляет `PATCH /services/data/v{V}/sobjects/MessagingChannelUsage/{MCU_ID}` с телом `{"DeploymentStatus":"Provisioning"}`. Дальше работает серверная цепочка: валидатор проверяет готовность канала к провижинингу, save-hook регистрирует observer, а тот на коммите разводит вызов по `MessageType`. Для `WHATS_APP` это Meta `/register`, для `FACEBOOK` — `subscribeFacebookPage`, для `TEXT` — `registerCsotSms`. Apple и LINE внешних вызовов не делают.

Запрос синхронный: ответ 204 приходит только после того, как вся цепочка отработала. WhatsApp ждёт подтверждения от Meta примерно 15-21 секунду, каналы без внешнего вызова — около секунды. При успехе сервер пишет `DeploymentStatus = 'Active'` и переключает `MessagingChannel.IsActive`, при ошибке — `Error` вместе с `ErrorReason` и `ErrorDetails`.

Канал должен уже существовать, и у него должен быть заполнен `SessionHandlerId` или `FallbackQueueId`. Если оба пустые, PATCH вернёт 400 `FIELD_INTEGRITY_EXCEPTION` — сначала прогоните `service-de-channel-routing-configure`. Повторный запуск на активном канале бессмысленен: переход `Active → Provisioning` валидатор не пропускает, скилл сам вернёт `noop:true`. Нужен полный цикл настройки с нуля — это не сюда, а в `service-de-headless-channel-configure`. Из инструментов требуются `sf` CLI, `node` и `jq`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill service-de-channel-activate -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/service-de-channel-activate/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/service-de-channel-activate/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill service-de-channel-activate -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/service-de-channel-activate/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill service-de-channel-activate -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/service-de-channel-activate/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install forcedotcom/sf-skills service-de-channel-activate
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/service-de-channel-activate/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill service-de-channel-activate -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/service-de-channel-activate
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/service-de-channel-activate/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill service-de-channel-activate -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/service-de-channel-activate/SKILL.md

## Когда брать
- активировать канал WhatsApp после вставки записи, не открывая интерфейс
- включить Apple Business Chat или LINE без внешнего вызова и ожидания сети
- получить терминальный статус `Active` или `Error` в одном HTTP-ответе
- проверить готовность канала к провижинингу до записи изменений
- распознать уже активтивный канал и не слать повторный PATCH

## Примеры запросов агенту
- Активируй канал `0Mj...` через service-de-channel-activate
- Включи Enhanced-канал WhatsApp по `{CHANNEL_ID}` и покажи итоговый `deploymentStatus`
- Проверь, активен ли канал, и если нет — переведи его в `Provisioning`

## Похожие
- [mcp-builder](https://affpapa.org/nevibecode/skills/mcp-builder.md) — скилл · 130949 установок
- [claude-api](https://affpapa.org/nevibecode/skills/claude-api.md) — скилл · 74198 установок
- [lark-im](https://affpapa.org/nevibecode/skills/lark-im.md) — скилл · 472900 установок
- [lark-event](https://affpapa.org/nevibecode/skills/lark-event.md) — скилл · 466800 установок
- [caveman-discover](https://affpapa.org/nevibecode/skills/caveman-discover.md) — скилл · 104400 установок
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок

Из того же набора: [forcedotcom/sf-skills](https://affpapa.org/nevibecode/by/forcedotcom/sf-skills.md) — 186 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
