OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  fundraiseup:通过 FundraiseUp API 管理捐赠与定期筹款项目

fundraiseup:通过 FundraiseUp API 管理捐赠与定期筹款项目

 
  software ·  2026-02-21 14:40:26 · 3 次点击  · 0 条评论  

名称: 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


FundraiseUp API 技能

概述

此技能使 Claude 能够与 FundraiseUp REST API 交互,用于处理捐赠、管理定期计划、获取支持者数据以及访问筹款分析。FundraiseUp 是一个数字筹款平台,允许非营利组织处理来自各种渠道的捐赠。

配置

所需环境变量:

FUNDRAISEUP_API_KEY- API 密钥 (例如:ABEDDDD_XSSSHwzZc98KR53CWQeWeclA)

基础 URL

https://api.fundraiseup.com/v1

认证

API 密钥生成

  1. 前往仪表板 > 设置 > API 密钥
  2. 点击“创建 API 密钥”
  3. 输入描述性名称
  4. 选择数据模式:
    - 实时数据:用于生产环境
    - 测试数据:用于测试(密钥以 test_ 为前缀)
  5. 选择权限:
    - 检索捐赠数据
    - 创建新捐赠
    - 生成捐赠者门户访问链接
  6. 安全保存 API 密钥(仅显示一次)

认证请求头

所有 API 请求必须在 Authorization 请求头中包含 Bearer 令牌:

Authorization: Bearer YOUR_API_KEY

重要说明

  • API 密钥限定于特定的账户/子账户
  • 父账户的 API 密钥无法为子账户创建捐赠
  • 只有组织管理员可以创建 API 密钥
  • 切勿公开暴露 API 密钥

速率限制

  • 每秒 8 个请求
  • 每分钟 128 个请求
  • 建议实现指数退避的重试逻辑来处理速率限制

必需请求头

Content-Type: application/json
Accept: application/json
Authorization: Bearer YOUR_API_KEY

API 端点

1. 捐赠

列出捐赠

端点: GET /donations

描述: 使用基于游标的分页检索所有捐赠。

查询参数:
- limit (可选):每页记录数 (1-100,默认:10)
- starting_after (可选):用于分页的游标(捐赠 ID)
- ending_before (可选):用于向后分页的游标(捐赠 ID)
- 注意:starting_afterending_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 小时内更新
- 不支持批量更新


2. 定期计划

列出定期计划

端点: 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 创建的计划。


3. 支持者

列出支持者

端点: 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}}'

4. 事件

列出事件

端点: 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 事件)
- 监控状态变更
- 合规性审计追踪
- 集成调试


5. 活动

列出活动

端点: 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


6. 指定用途

列出指定用途

端点: GET /designations

描述: 检索所有资金/项目指定用途。

示例请求:

curl --request GET \
  --url 'https://api.fundraiseup.com/v1/designations' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{FUNDRAISEUP_API_KEY}}'

7. 捐赠者门户访问

生成支持者门户链接

端点: 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..."
}

分页最佳实践

所有列表端点均使用基于游标的分页:

  1. 初始请求: 设置 limit 参数 (1-100)
  2. 下一页: 使用最后一项的 id 作为 starting_after 的值
  3. 上一页: 使用第一项的 id 作为 ending_before 的值
  4. 排序: 记录按创建日期排序(最新的在前),然后按 ID 排序(Z 到 A)

分页流程示例:
```bash

第 1 页

GET /donations?limit=50

第 2

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor