pachca-bots
npx skills add https://github.com/pachca/openapi --skill pachca-bots
Agent 安装分布
Skill 文档
pachca-bots
Base URL: https://api.pachca.com/api/shared/v1
ÐвÑоÑизаÑиÑ: Authorization: Bearer <ACCESS_TOKEN>
Токен: Ð±Ð¾Ñ (ÐвÑомаÑизаÑии â ÐнÑегÑаÑии â API) или полÑзоваÑÐµÐ»Ñ (ÐвÑомаÑизаÑии â API).
ÐÑли Ñокен неизвеÑÑен â ÑпÑоÑи Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¿ÐµÑед вÑполнением запÑоÑов.
Ðогда иÑполÑзоваÑÑ
- наÑÑÑоиÑÑ Ð±Ð¾Ñа
- Ð²ÐµÐ±Ñ Ñк
- webhook
- обÑабоÑаÑÑ ÑобÑÑие
- подпиÑÑ Ð²ÐµÐ±Ñ Ñка
- нажаÑие кнопки
- callback
- дайджеÑÑ
- алеÑÑ
- polling
- unfurl
- ÑазвеÑнÑÑÑ ÑÑÑлкÑ
- link preview
Ðогда ÐРиÑполÑзоваÑÑ
- полÑÑиÑÑ Ð¿ÑоÑилÑ, мой пÑоÑилÑ, ÑÑÑановиÑÑ ÑÑаÑÑÑ â pachca-profile
- найÑи ÑоÑÑÑдника, ÑоздаÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, ÑпиÑок ÑоÑÑÑдников â pachca-users
- ÑоздаÑÑ ÐºÐ°Ð½Ð°Ð», ÑоздаÑÑ Ð±ÐµÑедÑ, ÑоздаÑÑ ÑÐ°Ñ â pachca-chats
- оÑпÑавиÑÑ ÑообÑение, оÑвеÑиÑÑ Ð² ÑÑед, пÑикÑепиÑÑ Ñайл â pachca-messages
- показаÑÑ ÑоÑмÑ, инÑеÑакÑÐ¸Ð²Ð½Ð°Ñ ÑоÑма, модалÑное окно â pachca-forms
- ÑоздаÑÑ Ð·Ð°Ð´Ð°ÑÑ, ÑпиÑок задаÑ, напоминание â pachca-tasks
- поиÑк ÑообÑений, найÑи ÑообÑение, полноÑекÑÑовÑй поиÑк â pachca-search
- аÑдиÑ, жÑÑнал ÑобÑÑий, безопаÑноÑÑÑ â pachca-security
ÐоÑаговÑе ÑÑенаÑии
ÐаÑÑÑоиÑÑ Ð±Ð¾Ñа Ñ Ð¸ÑÑ Ð¾Ð´ÑÑим Ð²ÐµÐ±Ñ Ñком
- Создай боÑа в инÑеÑÑейÑе ÐаÑки: ÐвÑомаÑизаÑии â ÐнÑегÑаÑии â Webhook
- ÐолÑÑи
access_tokenбоÑа во вкладке «API» наÑÑÑоек боÑа - Укажи Webhook URL Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑобÑÑий
- ÐÑбеÑи ÑÐ¸Ð¿Ñ ÑобÑÑий: новÑе ÑообÑениÑ, ÑеакÑии, кнопки, ÑÑаÑÑники
ÐÐ¾Ñ ÑоздаÑÑÑÑ ÑеÑез UI, не ÑеÑез API. ÐдинÑÑвеннÑй ÑÐ½Ð´Ð¿Ð¾Ð¸Ð½Ñ Ð´Ð»Ñ Ð±Ð¾Ñов â PUT /bots/{id} (обновление webhook URL). API иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑпÑавки ÑообÑений Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ боÑа.
ÐбÑабоÑаÑÑ Ð²Ñ Ð¾Ð´ÑÑий Ð²ÐµÐ±Ñ Ñк-ÑобÑÑие
- ÐолÑÑи POST-запÑÐ¾Ñ Ð½Ð° Ñвой Webhook URL
- ÐÑовеÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑ (Signing secret) Ð´Ð»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи
- ÐÑовеÑÑ
webhook_timestampâ должен бÑÑÑ Ð² пÑÐµÐ´ÐµÐ»Ð°Ñ 1 минÑÑÑ - РазбеÑи JSON: Ñип ÑобÑÑиÑ, даннÑе
- ÐÐ»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ инÑоÑмаÑии Ñделай запÑÐ¾Ñ Ðº API: GET /messages/{id} â оÑобенно важно Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ (
files[]), коÑоÑÑÑ Ð½ÐµÑ Ð² Ð²ÐµÐ±Ñ Ñке
ÐÐµÐ±Ñ Ñк ÑодеÑÐ¶Ð¸Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ñм даннÑÑ â ÑÐ°Ð¹Ð»Ñ (
files) в нÑм оÑÑÑÑÑÑвÑÑÑ. ÐÑли ÑообÑение Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ, вÑегда запÑаÑивай GET /messages/{id}.
РазвоÑаÑивание ÑÑÑлок (unfurling)
- Создай ÑпеÑиалÑного Unfurl-боÑа и Ñкажи оÑÑлеживаемÑе Ð´Ð¾Ð¼ÐµÐ½Ñ Ð² его наÑÑÑойкаÑ
- ÐÑи поÑвлении ÑÑÑлки Ð±Ð¾Ñ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð²ÐµÐ±Ñ
Ñк
"event": "link_shared"Ñ Ð¼Ð°ÑÑивомlinks(url+domain) иmessage_id - Ðзвлеки даннÑе из Ñвоей ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾ URL из
links - ÐÑпÑÐ°Ð²Ñ POST /messages/{id}/link_previews Ñ Ð¿ÑевÑÑ-даннÑми
curl "https://api.pachca.com/api/shared/v1/messages/56431/link_previews" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"link_previews":{"https://example.com/article":{"title":"Ðаголовок ÑÑаÑÑи","description":"ÐÑаÑкое опиÑание","image_url":"https://example.com/img.png"}}}'
ÐÐ½Ð´Ð¿Ð¾Ð¸Ð½Ñ Ð¿ÑивÑзан к конкÑеÑÐ½Ð¾Ð¼Ñ ÑообÑениÑ. ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ ÑпеÑиалÑнÑй Unfurl-Ð±Ð¾Ñ Ñ ÑказаннÑми доменами.
ÐбÑабоÑаÑÑ Ð½Ð°Ð¶Ð°Ñие кнопки (callback)
- ÐолÑÑи вебÑ
Ñк Ñ
"event": "message_button_clicked"â в payload:data(из кнопки),user_id,message_id - ÐÑполни нÑжное дейÑÑвие (запиÑÑ Ð² ÐÐ, запÑÐ¾Ñ Ðº API и Ñ.д.)
- ÐÑвеÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ: POST /messages Ñ
"entity_type": "user","entity_id": user_idиз Ð²ÐµÐ±Ñ Ñка - ÐпÑионалÑно: обнови иÑÑ
одное ÑообÑение ÑеÑез PUT /messages/{id} â ÑÑÐ¾Ð±Ñ ÑбÑаÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸ пеÑедай
"buttons": [], ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑекÑÑ â пеÑедай"content"
Ðнопка Ñ
dataоÑпÑавлÑÐµÑ ÑобÑÑие на Ð²ÐµÐ±Ñ Ñк. Ðнопка Ñurlâ оÑкÑÑÐ²Ð°ÐµÑ ÑÑÑÐ»ÐºÑ (Ð²ÐµÐ±Ñ Ñка не бÑдеÑ).
ÐеÑиодиÑеÑкий дайджеÑÑ/оÑÑÑÑ
- Ðо ÑаÑпиÑÐ°Ð½Ð¸Ñ (cron/scheduler): ÑобеÑи даннÑе из Ñвоей ÑиÑÑемÑ
- СÑоÑмиÑÑй ÑекÑÑ ÑообÑÐµÐ½Ð¸Ñ Ñ Ð½ÑжнÑми меÑÑиками или Ñводкой
- POST /messages Ñ
"entity_id": chat_idнÑжного канала
ÐÐµÑ Ð²ÑÑÑоенного планиÑовÑика â иÑполÑзÑй cron, celery, sidekiq и Ñ.п. на Ñвоей ÑÑоÑоне.
ÐониÑоÑинг и алеÑÑÑ
- ÐнеÑнÑÑ ÑиÑÑема (CI, мониÑоÑинг, ÑеÑвиÑ) обнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑобÑÑие (оÑибка, деплой, поÑог меÑÑики)
- ÐÐµÐ»Ð°ÐµÑ POST запÑÐ¾Ñ Ðº ÑÐ²Ð¾ÐµÐ¼Ñ Ð±Ð¾ÑÑ Ð¸Ð»Ð¸ напÑÑмÑÑ Ð²ÑзÑÐ²Ð°ÐµÑ Pachca API
- POST /messages в канал алеÑÑов Ñ Ð¾Ð¿Ð¸Ñанием ÑобÑÑÐ¸Ñ Ð¸ кнопками «ÐзÑÑÑ Ð² ÑабоÑÑ» / «ÐгноÑиÑоваÑÑ»
- ÐÑи нажаÑии кнопки â обÑабоÑай callback и обнови ÑÑаÑÑÑ Ð°Ð»ÐµÑÑа
ÐбÑабоÑка ÑобÑÑий ÑеÑез иÑÑоÑÐ¸Ñ (polling)
- РнаÑÑÑÐ¾Ð¹ÐºÐ°Ñ Ð±Ð¾Ñа вклÑÑи Â«Ð¡Ð¾Ñ ÑанÑÑÑ Ð¸ÑÑоÑÐ¸Ñ ÑобÑÑий» (вкладка «ÐÑÑ Ð¾Ð´ÑÑий webhook»). Webhook URL ÑказÑваÑÑ Ð½Ðµ обÑзаÑелÑно.
- Ðо ÑаÑпиÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ по запÑоÑÑ: GET /webhooks/events â полÑÑи накопленнÑе ÑобÑÑÐ¸Ñ Ñ Ð¿Ð°Ð³Ð¸Ð½Ð°Ñией (
limit,cursor) - ÐбÑабоÑай каждое ÑобÑÑие (ÑÐ¾Ñ Ð¶Ðµ ÑоÑÐ¼Ð°Ñ payload, ÑÑо и в real-time Ð²ÐµÐ±Ñ Ñке)
- ÐоÑле обÑабоÑки: DELETE /webhooks/events/{id} â Ñдали ÑобÑÑие, ÑÑÐ¾Ð±Ñ Ð½Ðµ обÑабоÑаÑÑ Ð¿Ð¾Ð²ÑоÑно
curl "https://api.pachca.com/api/shared/v1/webhooks/events?limit=50" \
-H "Authorization: Bearer $TOKEN"
Polling â алÑÑеÑнаÑива real-time Ð²ÐµÐ±Ñ ÑкÑ, еÑли Ñ Ð±Ð¾Ñа Ð½ÐµÑ Ð¿ÑблиÑного URL или нÑжна оÑÐ»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð¾Ð±ÑабоÑка. ÐÐ¾Ð´Ñ Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ batch-ÑÑенаÑиев, ÑкÑипÑов, serverless-ÑÑнкÑий по ÑаÑпиÑаниÑ.
ÐбÑабоÑка оÑибок
| Ðод | ÐÑиÑина | ЧÑо делаÑÑ |
|---|---|---|
| 422 | ÐевеÑнÑе паÑамеÑÑÑ | ÐÑовеÑÑ Ð¾Ð±ÑзаÑелÑнÑе полÑ, ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ , допÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ enum |
| 429 | Rate limit | Ðодожди и повÑоÑи. ÐимиÑ: ~50 req/sec, ÑообÑÐµÐ½Ð¸Ñ ~4 req/sec |
| 403 | ÐÐµÑ Ð´Ð¾ÑÑÑпа | ÐедоÑÑаÑоÑно ÑкоÑпов (insufficient_scope), Ð±Ð¾Ñ Ð½Ðµ в ÑаÑе, или endpoint ÑолÑко Ð´Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¾Ð²/владелÑÑев |
| 404 | Ðе найдено | ÐевеÑнÑй id. ÐÑовеÑÑ ÑÑо ÑÑÑноÑÑÑ ÑÑÑеÑÑвÑÐµÑ |
| 401 | Ðе авÑоÑизован | ÐÑовеÑÑ Ñокен в заголовке Authorization |
ÐоÑÑÑпнÑе опеÑаÑии
РедакÑиÑование боÑа
PUT /bots/{id}
ÑкоÑп:
bots:write
{
"bot": {
"webhook": {
"outgoing_url": "https://www.website.com/tasks/new"
}
}
}
Unfurl (ÑазвоÑаÑивание ÑÑÑлок)
POST /messages/{id}/link_previews
ÑкоÑп:
link_previews:write
{
"link_previews": {}
}
ÐÑÑоÑÐ¸Ñ ÑобÑÑий
GET /webhooks/events
ÑкоÑп:
webhooks:events:read
Удаление ÑобÑÑиÑ
DELETE /webhooks/events/{id}
ÑкоÑп:
webhooks:events:delete
ÐгÑаниÑÐµÐ½Ð¸Ñ Ð¸ gotchas
limit: макÑимÑм 50- ÐагинаÑиÑ: cursor-based (limit + cursor), ÐÐ page-based
ÐодÑобнее
Ñм. references/endpoints.md