名称: fundraiseup
描述: 通过 FundraiseUp REST API 管理捐赠、定期计划、支持者、活动以及捐赠者门户访问。处理线上和线下捐赠,获取筹款分析数据,并与非营利组织 CRM 系统集成。
compatibility:
- bash_tool
- web_search
- web_fetch
元数据:
author: Amish
version: 1.0.0
api_version: v1
tags:
- fundraising
- donations
- nonprofit
- payments
- crm-integration
- stripe
此技能使 Claude 能够与 FundraiseUp REST API 交互,用于处理捐赠、管理定期计划、获取支持者数据以及访问筹款分析。FundraiseUp 是一个数字筹款平台,允许非营利组织处理来自各种渠道的捐赠。
所需环境变量:
FUNDRAISEUP_API_KEY- API 密钥 (例如:ABEDDDD_XSSSHwzZc98KR53CWQeWeclA)
https://api.fundraiseup.com/v1
test_ 为前缀)所有 API 请求必须在 Authorization 请求头中包含 Bearer 令牌:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json
Authorization: Bearer YOUR_API_KEY
端点: GET /donations
描述: 使用基于游标的分页检索所有捐赠。
查询参数:
- limit (可选):每页记录数 (1-100,默认:10)
- starting_after (可选):用于分页的游标(捐赠 ID)
- ending_before (可选):用于向后分页的游标(捐赠 ID)
- 注意:starting_after 和 ending_before 互斥
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/donations?limit=50' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
响应字段:
- id:捐赠标识符
- created_at:ISO 8601 时间戳
- livemode:布尔值(true 表示实时,false 表示测试)
- amount:所选货币的捐赠金额
- amount_in_default_currency:组织默认货币的金额
- currency:三字母 ISO 代码(小写)
- status:捐赠状态(例如:succeeded, pending, failed)
- campaign:活动详情(id, code, name)
- supporter:支持者信息
- recurring_plan:定期计划详情(如适用)
- designation:资金/项目指定
- tribute:纪念信息(如提供)
- custom_fields:自定义字段值数组
- processing_fee:处理费详情
- platform_fee:平台费详情
- fees_covered:捐赠者承担的费用金额
端点: GET /donations/{id}
描述: 检索特定捐赠的详细信息。
路径参数:
- id (必需):捐赠 ID
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/donations/DFQLCFEP' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
端点: POST /donations
描述: 创建一次性或定期捐赠。通过 API 创建的捐赠,其来源将标记为“API”。
前提条件:
- Stripe 账户已连接至 FundraiseUp 并已激活
- 拥有基于货币支付方式的活跃活动
- 拥有“创建新捐赠”权限的 API 密钥
- Stripe 支付方式 ID(通过 Stripe API 创建)
- 满足 PCI 合规要求
请求体:
{
"campaign_id": "FUNCPJTZZQR",
"amount": "25.00",
"currency": "usd",
"payment_method_id": "pm_1234567890abcdef",
"supporter": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"mailing_address": {
"line1": "123 Main St",
"line2": "Apt 4B",
"city": "New York",
"region": "NY",
"postal_code": "10001",
"country": "us"
}
},
"recurring_plan": {
"frequency": "monthly"
},
"designation": [
{
"id": "EHHJ9R36"
}
],
"tribute": {
"type": "in_honor_of",
"honoree": "Jane Smith"
},
"comment": "Monthly donation for general fund",
"anonymous": false,
"custom_fields": [
{
"name": "referral_source",
"value": "Email Campaign"
}
]
}
必需字段:
- campaign_id:必须属于该账户且处于活跃状态
- amount:十进制字符串(例如,USD 为 "9.99",JPY 为 "200"),最低 $1 或等值金额
- currency:三字母 ISO 代码(小写)
- payment_method_id:Stripe 支付方式 ID
- supporter.first_name:最多 256 个字符
- supporter.last_name:最多 256 个字符
- supporter.email:有效的电子邮件地址(API 不验证)
- supporter.phone:最多 20 个字符(如果活动要求则为必需)
- supporter.mailing_address:如果活动要求则为必需
可选字段:
- recurring_plan.frequency:创建定期计划("monthly", "weekly", "quarterly", "yearly", "daily")
- designation:指定 ID 数组
- tribute.type:"in_honor_of" 或 "in_memory_of"
- tribute.honoree:被纪念者的姓名
- comment:捐赠备注
- anonymous:布尔值(默认:false)
- custom_fields:自定义字段对象数组
示例请求:
curl --request POST \
--url 'https://api.fundraiseup.com/v1/donations' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"campaign_id": "FUNCPJTZZQR",
"amount": "50.00",
"currency": "usd",
"payment_method_id": "pm_1234567890",
"supporter": {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com"
}
}'
重要说明:
- 所有字符串参数会被修剪;空字符串转换为 null
- 地址和电子邮件不会被格式化或验证
- 目前仅支持信用卡支付
- 费用在 Stripe 最终确认前可能显示为 0(使用 Events 端点获取最终费用)
端点: PATCH /donations/{id}
描述: 更新捐赠。仅允许在创建后 24 小时内更新,且仅适用于通过 API 创建的捐赠。
路径参数:
- id (必需):捐赠 ID
限制:
- 仅能更新通过 API 创建的捐赠
- 必须在创建后 24 小时内更新
- 不支持批量更新
端点: GET /recurring_plans
描述: 检索所有定期捐赠计划。
查询参数:
- limit (可选):每页记录数 (1-100)
- starting_after (可选):用于分页的游标
- ending_before (可选):用于向后分页的游标
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/recurring_plans?limit=50' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
响应字段:
- id:定期计划标识符
- created_at:ISO 8601 时间戳
- frequency:"monthly", "weekly", "quarterly", "yearly" 或 "daily"
- amount:定期捐赠金额
- currency:三字母 ISO 代码
- status:计划状态(active, paused, canceled)
- next_installment_at:下次计划捐赠日期
- ended_at:结束日期(如设置)
- campaign:关联的活动详情
- supporter:支持者信息
端点: GET /recurring_plans/{id}
描述: 检索特定定期计划的详细信息。
路径参数:
- id (必需):定期计划 ID
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/recurring_plans/RVSHJNPJ' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
端点: PATCH /recurring_plans/{id}
描述: 更新定期计划。仅允许在创建后 24 小时内更新,且仅适用于通过 API 创建的计划。
端点: GET /supporters
描述: 检索所有支持者/捐赠者。
查询参数:
- limit (可选):每页记录数 (1-100)
- starting_after (可选):用于分页的游标
- ending_before (可选):用于向后分页的游标
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/supporters?limit=50' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
响应字段:
- id:支持者标识符
- created_at:ISO 8601 时间戳
- email:电子邮件地址
- first_name:名
- last_name:姓
- phone:电话号码
- mailing_address:地址详情
- mailing_list_subscribed:布尔值
- anonymous:布尔值
- employer:雇主名称(如提供)
端点: GET /supporters/{id}
描述: 检索特定支持者的详细信息。
路径参数:
- id (必需):支持者 ID
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/supporters/SXXXXXXX' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
端点: GET /events
描述: 检索捐赠、定期计划和支持者的审计日志事件。
查询参数:
- limit (可选):每页记录数 (1-100)
- starting_after (可选):用于分页的游标
- ending_before (可选):用于向后分页的游标
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/events?limit=50' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
使用场景:
- 跟踪费用何时最终确定(查找 donation.success 事件)
- 监控状态变更
- 合规性审计追踪
- 集成调试
端点: GET /campaigns
描述: 检索所有活动。
查询参数:
- limit (可选):每页记录数 (1-100)
- starting_after (可选):用于分页的游标
- ending_before (可选):用于向后分页的游标
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/campaigns' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
响应字段:
- id:活动标识符
- code:活动代码
- name:活动名称
- status:活动状态
端点: GET /campaigns/{id}
路径参数:
- id (必需):活动 ID
端点: GET /designations
描述: 检索所有资金/项目指定用途。
示例请求:
curl --request GET \
--url 'https://api.fundraiseup.com/v1/designations' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
端点: POST /donor_portal/access_links/supporters/{id}
描述: 为支持者生成一个安全链接,使其无需登录即可访问其捐赠者门户。
路径参数:
- id (必需):支持者 ID
前提条件:
- API 密钥已启用“生成捐赠者门户访问链接”权限
示例请求:
curl --request POST \
--url 'https://api.fundraiseup.com/v1/donor_portal/access_links/supporters/64b0ba9d9a19ea001fa3516a' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
响应:
{
"url": "https://yourorg.org/login/?auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
重要安全说明:
- 链接仅 1 分钟内有效
- 应仅在捐赠者门户上下文中使用
- 切勿通过电子邮件、短信或公共渠道分享
- 提供对敏感数据的访问权限(支付方式、捐赠历史、收据)
- 生成链接前验证支持者所有权
- 实现自动重定向(无需手动操作)
端点: POST /donor_portal/access_links/recurring_plans/{id}
描述: 为支持者生成一个链接,使其能在捐赠者门户中访问特定的定期计划。
路径参数:
- id (必需):定期计划 ID
可选查询参数:
- return_url (可选):管理定期计划后返回的 URL
示例请求:
curl --request POST \
--url 'https://api.fundraiseup.com/v1/donor_portal/access_links/recurring_plans/RVSHJNPJ' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'
响应:
{
"url": "https://yourorg.org/login/?auth=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
所有列表端点均使用基于游标的分页:
limit 参数 (1-100)id 作为 starting_after 的值id 作为 ending_before 的值分页流程示例:
```bash
GET /donations?limit=50