跳到主要内容

发送文件

发送文件进行标准分析​

要开始文件分析,请使用 multipart/form-data 格式向 /document 端点发送 POST 请求。

端点:https://api.caas.qitech.app/document_analysis/document

请求格式

请求必须以 multipart/form-data 格式发送,包含数据字段和文件字段。分析所需的必填字段为 id、document_analysis_type、document_bytes。

请求示例:

curl -X POST "https://api.caas.qitech.app/document_analysis/document" \
-H "Authorization: SUA_CHAVE_API" \
-H "Content-Type: multipart/form-data" \
-F "id=solicitacao-abc-12345" \
-F "document_analysis_type=proof_of_address_default" \
-F "document_bytes=@/caminho/para/seu/comprovante.pdf"

发送属性说明​

属性描述
id(必填)由您提供的请求唯一标识符。此 ID 可在以后用于检索分析结果。
document_analysis_type(必填)一个字符串,指定要对文档执行的分析类型。支持的类型请参见下表。
document_bytes(必填)待分析的文档文件。必须作为 multipart 请求体中的文件发送。注意:请勿将此字段作为 base64 编码字符串发送。
async(可选,默认=false)一个布尔值(true 或 false),定义处理模式。
- false(同步):API 将尝试处理文档并在同一请求中返回结果。
- true(异步):API 将确认接收并在后台处理。结果将通过 webhook 发送到预先配置的 URL(更多信息请参见关于 webhooks 的部分)。
注意

async 字段应用于指示异步请求。同步请求应仅用于小型文档和需要立即响应的快速分析。如果分析未在同步请求的时间限制内完成,返回状态为 202 Accepted,并且必须通过下述的 GET 请求获取结果。在这种情况下不会发送 webhook:webhook 仅用于异步分析。

支持的分析类型​

document_analysis_type 字段确定将应用于您文档的数据提取模型。以下是目前支持的类型。

分析类型文档类型描述
proof_of_address_default居住证明(水电费、燃气费、网络费账单、政府信函、声明)提取并验证姓名、结构化地址、原始地址、签发日期和文档类型。
company_statute_default公司章程或合同基本提取和验证:公司数据、股本、登记机构和股东结构。
company_statute_credit_right_assignment公司章程或合同高级提取,包括验证信贷权转让的签署权限:签署人组、财务限额以及是否需要人工审核。
power_of_attorney_default授权委托书提取授权人、被授权人、授予的权限、范围、有效期、不可撤销性和公证信息。
invoice_default发票和 DANFEs提取开票方、承包方、发票类型和税收、编号、日期、项目和金额。
bankslip_default银行付款单提取受益人、受益人 CNPJ、条形码、金额和到期日。
ccb_default银行信用凭证(CCB)提取合同编号、发行人数据、担保、融资金额、利率、分期和到期日。
portability_retention_evidence_analysis携号转网保留证据验证证据:合同编号、发行人证件和电话、携转编号、是否有签名以及是否为有效确认。

展开下方的每个类型,查看分析在 analysis_result 中返回的字段,以及每个字段的类型和含义。嵌套字段以完整路径显示(address.street),列表以 [] 标记。

proof_of_address_default — 在 analysis_result 中返回的字段
字段类型说明
namestring持有人全名,按文档中提取的内容
addressobject结构化的居住地址。未找到的信息返回为空字符串
address.streetstring街道名称
address.numberstring门牌号
address.complementstring补充信息,如公寓、房间或楼层(如有)
address.neighborhoodstring街区
address.citystring城市
address.statestring州或联邦区
address.cepstring邮政编码(CEP)
raw_addressstring完整的居住地址,纯文本形式
issue_datestring文档签发日期,格式为 YYYY-MM-DD
document_typeenum: utility_bill, bank_statement, address_declaration, rental_agreement, government_letter …所发送的文档类型(例如 'utility_bill'、'address_declaration')
company_statute_default — 在 analysis_result 中返回的字段
字段类型说明
company_name_officialstring公司完整法定名称
company_name_tradestring商号名称
cnpjstringCNPJ,格式为 XX.XXX.XXX/XXXX-XX
nirestringNIRE —— 企业登记识别号
headquarters_address_fullstring总部完整地址
incorporation_datestring公司成立日期
last_consolidated_amendment_datestring最近一次合并修订的日期
corporate_purpose_summarystring主要经营范围
share_capital_valuenumber股本总额
share_capital_currencystring股本币种(例如 'BRL')
registration_office_namestring登记机构名称(例如 JUCESP)
registration_office_numberstring在主管机构的登记号
registration_office_datestring在主管机构登记或备案的日期
requires_power_of_attorney_checkboolean当签署权限不明确或提及授权委托书时为真,表示需要核查另一份文档
partners_data[]object从公司章程中提取的单个股东数据
partners_data[].namestring股东全名
partners_data[].cpfstring股东 CPF,格式为 XXX.XXX.XXX-XX
partners_data[].is_administratorboolean当股东被明确任命为管理人时为真
partners_data[].role_powersstring职位或权限,仅当股东为管理人时填写
partners_data[].share_quantityinteger股东持有的股份或股权数量
partners_data[].share_valuenumber股份或股权的总价值(BRL)
partners_data[].participation_percentagenumber股东在公司中的持股比例
clauses_of_interestobject从文档中提取的相关条款
clauses_of_interest.administration_clause_summarystring定义谁代表并代公司签署的条款摘要
company_statute_credit_right_assignment — 在 analysis_result 中返回的字段
字段类型说明
requires_reviewboolean表示文档是否复杂、是否包含大量关于管理的条款或子条款,或是否需要其他文档配合(如股东会或选举会议记录)。
company_dataobject被分析实体的完整登记与股权数据。
company_data.company_name_officialstring公司完整法定名称
company_data.company_name_tradestring商号名称
company_data.cnpjstringCNPJ(CNPJ/MF),格式为 XX.XXX.XXX/XXXX-XX
company_data.nirestring企业登记识别号(NIRE)
company_data.headquarters_address_fullstring总部完整地址
company_data.incorporation_datestring公司成立日期
company_data.last_consolidated_amendment_datestring本公司章程或修订的日期
company_data.corporate_purpose_summarystring主要经营范围
company_data.share_capital_valuenumber股本总额
company_data.share_capital_currencystring股本币种(例如 'BRL')
company_data.registration_office_namestring登记机构名称(例如 JUCESP)
company_data.partners_data[]object从公司章程中提取的单个股东数据。
company_data.partners_data[].namestring股东全名
company_data.partners_data[].cpfstring股东 CPF,格式为 XXX.XXX.XXX-XX
company_data.partners_data[].cnpjstring股东公司的 CNPJ(当股东为法人时),格式为 XX.XXX.XXX/XXXX-XX
company_data.partners_data[].is_representativeboolean当股东可以代表公司时为真。
company_data.partners_data[].role_powersenum: president, partner, administrator, director, manager …职位或权限。若指公司、组织或类似主体,请使用 'other'。
company_data.partners_data[].share_quantityinteger股东持有的股份或股权数量
company_data.partners_data[].share_valuenumber股份或股权的总价值
company_data.partners_data[].participation_percentagenumber股东在公司中的持股比例
analyzed_operationstring所分析代表权对应的具体法律行为或交易。
source_documents[]string作为分析依据的公司文档清单(例如“公司章程”、“选举会议记录”)。
allows_proxiesboolean表示该实体的章程是否允许通过受托人代表。
signer_groups[]object该实体有效的各签署组及签署规则。
signer_groups[].group_idinteger签署组的唯一数字标识符。
signer_groups[].descriptionstring该组所代表业务规则的清晰摘要。
signer_groups[].source_clausestring确立该规则的条款或条文的完整文本。
signer_groups[].representation_typeenum: Conjunta, Individual, Conforme Mandato说明代表方式为共同还是单独。若两者均允许,请使用单独。
signer_groups[].minimum_signersinteger该组必须签署的最少成员数。若为共同签署,该值必须大于 1
signer_groups[].limitationsobject适用于该签署规则的条件与限制。
signer_groups[].limitations.financial_limitobject以结构化形式表示该规则的财务权限额度。
signer_groups[].limitations.financial_limit.operatorenum: MENOR_IGUAL, MAIOR_QUE, MAIOR, MENOR, IGUAL …财务限额的比较运算符。
signer_groups[].limitations.financial_limit.valuenumber权限额度的金额。
signer_groups[].limitations.financial_limit.currencystring金额的币种代码(例如 BRL、USD)。
signer_groups[].limitations.observationsstring关于该规则解释或适用的补充说明。
signer_groups[].members[]object可组成签署组的职位。
signer_groups[].members[].positionenum: president, partner, administrator, director, manager …职位或权限。若指公司、组织或类似主体,请使用 'other'。
signer_groups[].members[].full_namestring担任该职位者的全名(若已识别)。
signer_groups[].members[].cpfstring该个人的 CPF(若可获得)。
signer_groups[].members[].mandate_end_datestring任期到期日(例如 'YYYY-MM-DD')。
signer_groups[].members[].is_qualifiedboolean表示担任该职位者是否已在文档中识别。
signer_groups[].members[].is_requiredboolean表示该成员是否为必需。
power_of_attorney_default — 在 analysis_result 中返回的字段
字段类型说明
grantors[]object授权人清单 —— 至少需要一位
grantors[].namestring授权人全名
grantors[].cpfstring授权人 CPF,格式为 XXX.XXX.XXX-XX(自然人)
grantors[].cnpjstring授权人 CNPJ,格式为 XX.XXX.XXX/XXXX-XX(法人)
grantees[]object被授权人清单 —— 至少需要一位
grantees[].namestring被授权人全名
grantees[].cpfstring被授权人 CPF,格式为 XXX.XXX.XXX-XX(自然人)
grantees[].cnpjstring被授权人 CNPJ,格式为 XX.XXX.XXX/XXXX-XX(法人)
powers_grantedstring授权委托书所授予权限的说明
power_scopestring所授予权限的范围或限制(若有说明)
expiration_datestring权限到期日;为 null 表示无限期有效
is_irrevocableboolean当授权委托书被明确声明为不可撤销时为真
revocation_clausestring撤销条款的文本(若存在)
notary_namestring文档登记所在公证处的名称
notary_registration_numberstring公证处的登记号或簿册号
notary_datestring公证认证日期
document_datestring授权委托书的签署日期
purposestring授权委托书声明的用途(例如出庭代理、操作银行账户)
invoice_default — 在 analysis_result 中返回的字段
字段类型说明
company_namestring公司法定名称
cnpjstring公司 CNPJ
invoice_typeenum: Documento fiscal eletrônico de serviços, Documento fiscal eletrônico de produto发票类型 —— 商品或服务
taxation_typestring税收类型
invoice_issue_datestring发票开具日期
invoice_numberstring发票编号
contracting_companystring承包方公司
invoice_descriptionstring发票说明
invoice_valuenumber发票金额
items[]object发票项目清单
items[].codestring项目代码(NCM/SH)
items[].descriptionstring项目说明
items[].quantityinteger项目数量
items[].valuenumber项目金额
rps_codestringRPS 代码 —— 服务临时收据
access_keystring访问密钥,用于商品发票
bankslip_default — 在 analysis_result 中返回的字段
字段类型说明
beneficiary_cnpjstring受益人 CNPJ
beneficiary_company_namestring受益人法定名称
boleto_barcodestring付款单条形码
due_datestring到期日
valuenumber付款单金额
ccb_default — 在 analysis_result 中返回的字段
字段类型说明
contract_numberstringCCB 编号
issuer_documentstring出票人的 CPF 或 CNPJ
issuer_cepstring出票人邮政编码(CEP)
guarantee_chassisstring作为担保的车辆车架号(如适用)
invoice_total_valuenumber发票总金额(如适用)
annual_interest_ratenumber固定年利率,以百分比表示
financed_amountnumberCCB 融资总金额
total_installmentsinteger分期总期数
first_due_datestring首期到期日
last_due_datestring末期到期日(参见付款计划)
has_signatureboolean表示文档是否具有有效签名(实体或电子)
is_valid_contractboolean表示所发送的文档是否确为银行信用凭证(CCB)
portability_retention_evidence_analysis — 在 analysis_result 中返回的字段
字段类型说明
contract_numberstring合同编号
issuer_document_numberstring借款人 CPF
issuer_phone_numberstring借款人电话号码
portability_numbernumber携转编号
has_signatureboolean表示文档(尤其是 CCB)是否包含电子签名要素,如哈希值、验证码、二维码或认证页。
is_valid_evidenceboolean表示该文档是否属于可接受的证据类型,如文字对话或银行信用凭证(CCB)。
is_confirmationboolean表示该证据是否确认携转被取消。当客户明确声明取消或不承认携转请求,或证据为已签名的 CCB(has_signature: true)时应为 TRUE。当其不是对话,或对话未表明取消或不承认时应为 FALSE。该值始终为 TRUE 或 FALSE。

对于此处未列出的分析类型,请通过 suporte.caas@qitech.com.br 联系我们的支持团队,咨询自定义实现。

文件格式与限制​

document_bytes 字段接受以下格式。文件的真实类型根据内容验证,而非扩展名或声明的 Content-Type —— 将 .jpg 标记为 application/pdf 发送会导致 DOC00202。

格式最大大小说明
PDF30 MB最多 350 页(DOC00203)。受密码保护的 PDF 会被拒绝(DOC00305)。
JPEG30 MB
PNG10 MB

响应​

成功响应(200 OK)​

同步分析成功完成时,API 返回 HTTP 200 OK 及以下响应体。信封字段始终相同;随 document_analysis_type 变化的是 analysis_result 的内容。

{
"id": "request-abc-12345",
"document_analysis_type": "proof_of_address_default",
"validation_status": "valid",
"file_metadata": { "file_type": "pdf" },
"analysis_result": { "...": "提取的字段,随分析类型而变化" },
"feedback_data": null
}
字段说明
id您在请求中发送的相同标识符。
document_analysis_type应用的分析类型。
validation_status验证结果。请参见下方的可能取值。
file_metadata收到文件的元数据,例如检测到的类型。
analysis_result提取的数据。分析未完成时为空({})。
feedback_data您为该文档登记的反馈(如有)。

validation_status 取值​

取值含义
valid分析成功完成。
pending仍在处理中。
missing_information文档缺少必需信息。
bad_quality文档质量不足以进行分析。
invalid_data文档包含无效或不一致的数据。
incorrect_document_type内容与请求的分析类型不匹配。
parsing_error分析结果无法解析。
analysis_failed模型无法完成分析。

接受响应(202 OK)​

如果文档以异步方式处理,API 将返回 HTTP 202 Accepted 状态,请求将异步处理。稍后可以使用 GET 请求检索文档分析,如下所述。

错误响应(4xx)​

如果请求或文档存在问题,API 将返回 4xx 状态码和描述错误的 JSON 正文。

错误代码参考​

以下表格列出了 API 返回的所有可能的错误代码。您可以使用这些代码在应用程序中实现健壮的错误处理。

类别 1:请求错误(DOC001xx)​

代码标题描述
DOC00100Missing required field请求在 multipart/form-data 正文中不包含必填字段。
DOC00101Invalid field lengthform-data 字段中某个值的长度无效。
DOC00102Invalid content type at request请求的 Content-Type 头不是 multipart/form-data。
DOC00103Invalid field at request请求在 form-data 正文中包含意外或无效字段。

类别 2:文件处理错误(DOC002xx)​

当发送的文件本身存在阻止处理的问题时,会发生这些错误。

代码标题描述
DOC00200Invalid Document Analysis Typedocument_analysis_type 对发送的文档无效。(例如:对水电费账单使用 company_statute_default 分析。)
DOC00201Invalid File Size发送的文档大小超过允许的最大限制。
DOC00202Invalid File Type由于类型或格式不一致,文件无法处理(例如:发送了一个 .jpg 文件,但类型为 application/pdf)。
DOC00203PDF exceeds page limit提供的 PDF 文件包含的页数超过了处理允许的最大限制(当前限制为 350 页)。

类别 3:文档分析错误(DOC003xx)​

这些错误发生在数据提取和分析阶段,即文件成功打开之后。

代码标题描述
DOC00300Missing Information文档不包含完成分析所需的基本信息。
DOC00301Bad Quality文档质量(例如:分辨率、可读性、清晰度)太低,无法准确分析。
DOC00302Invalid Data文档包含不一致或无效的数据(例如:校验和不正确、字段相互矛盾)。
DOC00303Incorrect Document Type文档内容与所选 document_analysis_type 的预期文档类型不符。
DOC00304Invalid PDF File提供的文件不是有效或格式良好的 PDF,无法打开。
DOC00305Password Protected PDF发送的 PDF 已用密码加密,无法处理。
DOC00306Parsing Error无法处理文档分析。

类别 4:服务故障(DOC005xx)​

这些错误表示问题出在我们这一侧,而非您的文档或请求。它们以 HTTP 5xx 状态返回,建议的操作是重试请求。

代码标题HTTP 状态说明
DOC00500Analysis Failed503无法完成分析。请重试;如果问题持续存在,请联系支持团队。

检索文档分析

您可以随时使用其唯一的 id 检索之前提交的文档分析结果。

https://api.caas.qitech.app/document_analysis/document/{document_id}

将 document_id 替换为您发送 POST 请求时使用的相同值。

登记分析反馈

您可以登记关于分析质量的反馈,这有助于我们改进模型。使用原始请求中相同的 id 向以下端点发送 POST 请求。

POST https://api.caas.qitech.app/document_analysis/document/{document_id}/feedback

curl -X POST "https://api.caas.qitech.app/document_analysis/document/request-abc-12345/feedback" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_date": "2026-09-02T14:30:00",
"feedback_data": { "incorrect_field": "issue_date", "correct_value": "2026-07-20" }
}'
属性说明
event_date(必填)反馈的日期和时间。
feedback_data(必填)包含反馈内容的自由格式对象。

登记的反馈随后会在获取分析结果时通过 feedback_data 字段返回。也可以对同一端点发送 GET 请求来读取。