360 Secure SkillHub
360 安全技能中心

TeamApp Admin

用于在 TeamApp 俱乐部管理端 JSON 接口上创建、读取和更新新闻文章与日程活动,并先解析团队与访问组 ID。所有请求须经 bin/api-wrapper.sh 调用 curl,由包装脚本引导会话、提取并缓存 CSRF 令牌、管理 Cookie 并在会话失效时刷新;需设置 TA_AUTH_TOKEN。

thed000d
thed000d
热度 36.77
最近更新 2026-05-18 12:33:50
分类:协作依赖:代码执行 / 读写文件 / 第三方 API应用场景:API 集成 / 日程安排 / 工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add teamapp-admin
Metadata
name
teamapp-admin-api
description
Use when interacting with TeamApp club admin JSON endpoints on teamapp.com to create/read/update News articles and Schedule events, and to resolve Team and Access Group IDs needed for visibility, roster, and targeting fields.

TeamApp Admin API

Use this skill for TeamApp admin operations against JSON endpoints discovered from the web app.

Quick Workflow

  1. Resolve IDs first.
  1. Read form schemas before writing.
  • Open new.json or edit.json endpoint for the target resource.
  • Use the embedded onSubmit controller and URL as source of truth for method and endpoint.
  1. Create or update content.
  • Submit payload fields exactly as named in the schema.
  • For visibility-scoped content, set ...access_level_ids_csv only when visibility is access_groups.
  1. Verify by reloading list endpoints.
  • Re-read list JSON and confirm returned object IDs, titles, and action URLs.

Auth and Session Requirements

MANDATORY: All interactions with the TeamApp API via this skill must use the provided wrapper script bin/api-wrapper.sh.

This wrapper automatically handles:

  • Session bootstrapping (fetching the dashboard to establish a session).
  • CSRF token extraction and caching.
  • Cookie management (ta_auth_token and _teamapp_session).
  • Session refreshing on expiration (401/422 errors).

Required Environment Variables

The wrapper requires the following variables to be set in your shell environment:

  • TA_AUTH_TOKEN: The ta_auth_token cookie value (extracted from a browser session).

Usage

Call the wrapper with the HTTP method, the full URL, and any curl options (like data payloads).

# General Syntax
./bin/api-wrapper.sh [METHOD] [URL] [CURL_OPTIONS...]

Example: Read Articles

./bin/api-wrapper.sh GET "https://examplesite.teamapp.com/clubs/$TA_CLUB_ID/articles.json?_detail=v1"

Example: Create Article

./bin/api-wrapper.sh POST "https://examplesite.teamapp.com/clubs/$TA_CLUB_ID/articles.json?_post_response=v1" \
  --data-urlencode "article[subject]=My Title" \
  --data-urlencode "article[body]=My Body" \
  --data-urlencode "article[visibility]=public" \
  --data-urlencode "article[comments_enabled]=1" \
  --data-urlencode "article[feature]=0" \
  --data-urlencode "article[html_body]=0" \
  --data-urlencode "article[release_pending]=0" \
  --data-urlencode "send_notifications=0"

Scheduling and Notifications

All News and Events support scheduling and configurable notification delivery.

Scheduling (Release Control)

  • ...[release_pending]: Set to 0 for immediate release, or 1 to schedule for later.
  • ...[release_at]: When release_pending is 1, provide an ISO 8601 timestamp (e.g., 2026-03-25 10:00).

Notification Delivery

The send_notifications parameter controls how users are alerted:

  • 0: None (Silent release)
  • 1: Push OR Email (Default: sends push if enabled on device, falls back to email if notifications are disabled)
  • 2: Push AND Email (Sends both regardless of app notification status)

Event Reminders

Events include an additional event[reminder] field for automated alerts:

  • -1: None
  • 0: At starting time
  • 1800: 30 minutes before
  • 3600: 1 hour before
  • 86400: 1 day before (and other standard intervals in seconds)
  • -2: Custom (requires event[reminder_datetime])

Operations

News Articles (create/read/update)

Required baseline fields for create:

  • article[subject]
  • article[body]
  • article[visibility] (public|approved_members|access_groups)
  • article[comments_enabled] (0|1)
  • article[feature] (0|1)
  • article[html_body] (0|1)
  • article[release_pending] (0|1)
  • send_notifications (0|1|2)

Schedule Events (create/read/update)

Key fields:

  • event[team_id], event[title]
  • event[datetime], event[datetime_end] or all-day fields
  • event[details] / html variant fields
  • event[visibility], event[access_level_ids_csv]
  • event[release_pending], event[release_at]
  • send_notifications, event[reminder], event[reminder_datetime]

Teams and Access Groups (ID resolution + targeting)

Use list endpoints to resolve IDs before posting news/events:

Use team/access-group IDs in:

  • event[team_id]
  • article[access_level_ids_csv]
  • event[access_level_ids_csv]
  • team[access_level_ids_csv]
  • roster_access_level_id

References