连接企业 · 连接机遇 · 连接未来
电子服务 · PDF

IRAS捐赠记录接口:APEX授权、字段规范与提交响应

依据2026年10月1.4版本,详解捐赠接口登记、限制、两类请求对象、捐赠者规则、更正和确认响应,并指出原文示例须核对的不一致。

版本与服务用途

2026年10月1日的1.4版本,说明通过Corppass及APEX平台提交捐赠记录。初版于2024年10月发布;2025年9月加入税务代理选择,12月将响应代码改为字符串;2026年4月修订示例,10月更新recordId及捐赠者身份号码说明、移除示例代码并刷新开户链接。这是接口整合规范,不代表每项捐赠均符合税务扣除资格。

开发者登记与授权

开发者须具备Corppass,由所属机构的管理员或副管理员授予APEX Cloud电子服务权限。随后创建应用、生成API密钥、创建OAuth 2.1客户端,并为应用订阅接口。首次登入时应更新电邮,以接收停机及变更通知。通过OAuth 2.1取得Corppass令牌,授权scope为DonationSub。授权时,tax_agent=y表示为企业客户代理处理,tax_agent=n表示处理本机构税务。

先测试,再申请正式使用

订阅沙盒无须IRAS批准,但须使用IRAS测试实体、OAuth 2.1沙盒客户端及捐赠接口测试指南中的情景。正式环境须在通过沙盒测试后取得IRAS批准,并创建正式OAuth客户端。正式环境只用于规定服务,不得进行测试,否则可因违反条款而暂停或终止账户。IRAS接口及APEX使用条款均适用。

端点、传输及请求头

按环境使用POST https://sandbox.api.gov.sg/iras/donation-records/v1/Submit或https://public.api.gov.sg/iras/donation-records/v1/Submit。接口采用服务器之间连接,通过TLS及IP白名单保护;应用须支持HTTP/2、TLS 1.2或1.3,以及HTTP GET和POST。x-apex-apikey填写已订阅应用的密钥,Authorization使用Bearer加Corppass JWT,Content-Type为application/json。原文请求头示例仍出现旧路径/iras/prod/DonationCP/submit及HTTP/1.1,与现行端点表和传输要求不同,不应作为更新后的接口路径。

记录上限、整批接受及重试

每次请求最多5,000条记录及2 MB,超过任何一项均失败,例如4,000条但超过2 MB,或5,001条记录。8,000条可分为5,000及3,000条两次请求,每次均须符合大小限制。单个请求不会部分接受,全部记录须通过校验。若3,500条请求成功,而另一1,500条请求失败,只须修正及重传失败请求。每个应用每小时最多1,000次请求;收到HTTP 429及Assembly Rate Limit exceeded时,应在下一小时重试。

大小写、字符及字段类型

JSON名称区分大小写,通常采用camelCase。必填属性必须存在,可选例外列于字段表。日期字符串遵循ISO 8601,但dateOfDonation明确规定为八位数字YYYYMMDD。字符串长度为上限,Number(n)表示最多n位整数。允许ASCII 32至127、ü、Ü、İ、换行LF和CR、短长破折号,以及弯双引号和单引号;其他字符可导致校验失败。

机构及提交资料对象

orgAndSubmissionInfo包含公益机构身份、获授权人士及合计资料。basisYear为收取捐赠的年度,可接受前三年、当年及后一年度。organisationIDType可用5、6、U、A、I,对应格式为NNNNNNNNC、YYYYNNNNNC、TYYPQNNNNC或SYYPQNNNNC、ANNNNNNNC,以及NNNNNNNNNC。C为校验位,N为数字,Y为年份部分。提交人士可用S或T开头NRIC、F或G或M开头FIN、ASGD或ITR。validateOnly=true只作校验,不提交;false则校验并提交。下表保留字段长度及必填要求。

字段类型/上限要求
validateOnlyBoolean必填;true仅校验,false提交
basisYearNumber(4)必填;收取年度,前三年/当年/后一年
organisationIDTypeString(1)必填;5/6/U/A/I
organisationIDNoString(12)必填;对应身份格式
organisationNameString(60)必填
batchIndicatorString(1)必填;O/A
authorisedPersonIDNoString(12)必填;NRIC/FIN/ASGD/ITR
authorisedPersonNameString(30)必填
authorisedPersonDesignationString(30)可选
telephoneString(20)必填;最少八位数字
authorisedPersonEmailString(50)必填
numOfRecordsNumber(7)必填;记录数量整数
totalDonationAmountNumber(12)必填;donationAmount合计

捐赠者记录及特殊身份要求

donationDonorDtl包含捐赠者记录;字段表虽标为Object,示例实际使用数组。recordId从1开始,须为唯一流水号。idType可用1(NRIC)、2(FIN)、5(商业UEN)、6(本地公司UEN)、A(ASGD)、I(ITR)或U(其他UEN),并须符合对应身份格式,包括M开头FIN。VCC子基金实体须使用IRAS发出的ASGD号码。individualIndicator通常可选,但A或I类别必须填写IND或NON。邮编若提供,应为数字字符串,并保留开头的零。

字段类型/上限要求
recordIdNumber(4)必填;从1开始的唯一流水号
idTypeString(1)必填;1/2/5/6/A/I/U
idNumberString(12)必填;与类型一致,VCC子基金用ASGD
individualIndicatorString(3)A/I必填,其他可选;IND/NON
nameString(80)必填
addressLine1String(30)可选
addressLine2String(30)可选
postalCodeString(6)可选;数字字符串,保留开头零
donationAmountNumber(9)必填;整数,原始记录不为零
dateOfDonationNumber(8)必填;YYYYMMDD
receiptNumString(20)必填;收据或唯一参考号
typeOfDonationString(1)必填;O/S/A/L/P/H
namingDonationString(1)必填;Z/N/F

捐赠金额、类别及舍入说明不一致

donationAmount须为最多九位的整数,不得留空或含空格,原始记录不得为零。原文写明四舍五入至最接近的一元,却举出101.20变成102的例子,与通常四舍五入不一致;PDF没有解决此矛盾,实施前应根据最新测试指南或向IRAS确认。捐赠类别为O现金、S股票或单位信托、A文物、L土地或建筑、P公共雕塑,以及H海外人道援助税务扣除计划。S类别只接受NRIC、FIN、ASGD或ITR;A或I身份亦须标为IND。namingDonation的Z表示默认非冠名,N表示公益机构以捐赠者或其在世直系家属命名,F表示机构设施以捐赠者命名。

更正记录覆盖原有资料

batchIndicator=O表示原始记录,A表示更正。更正会覆盖有关捐赠者此前提交的捐赠资料。示例保留同一身份号码、捐赠日期及收据参考号,将100新加坡元改为50元,IRAS便以最新50元记录。numOfRecords须与捐赠记录数量一致,totalDonationAmount须等于各donationAmount之和。不要另作原始提交来重复已经成功接受的分批请求。

应看响应代码,不要只看标题或提示

returnCode、acknowledgementCode及messageCode均为字符串。代码"10"表示已处理,"30"表示未处理。真正成功提交带有确认码;只作校验的成功响应则为data空对象,不代表已申报。"10"可以附带早前年度等警告,但仍属成功。警告示例甚至带有850301及Arguments Error,因此应看returnCode和确认码,而不是单独看该提示。PDF亦有多个实际代码"30"的错误例子,却被标题称为成功。应保存已接受确认码,并检查info.fieldInfoList字段错误;相关记录号码可合并为"3,5,7"。

诊断代码与实施前须核对的不一致

六项代码分别为850300空请求、850301参数错误、850302服务异常、850303服务未启用、850304凭证无权限,以及850305沙盒测试用户无效。字段诊断列出字段、说明及有关记录号码。1.4版本把请求名称更新为recordId,但示例仍用recordID,亦将布尔validateOnly写成字符串,并提供与格式表不一致的ASGD示例。其他位置有Info与info、recordId与recordID混用,响应说明亦写donationDtl,而请求对象为donationDonorDtl。由于大小写和类型会影响接口,须按最新规范及沙盒测试解决这些差异,不应直接照抄示例。

官方来源

本文依据官方 PDF 的实质内容独立整理,涵盖相关条件、办理步骤及附录。原文链接用于核对官方措辞;文件日期与后续修订须另行确认。

查看官方 PDF 原文 ↗
预约咨询