我受够了官方 EU VAT API 崩溃,于是我用 Webhooks 构建了一个 Serverless 包装器 🚀
Source: Dev.to

介绍
你好,DEV 社区!👋
如果你曾在欧洲构建 B2B SaaS 或电商结账系统,你一定体会过其中的痛点。法律要求你验证客户的增值税号,以便使用逆向计费机制。
官方的做法是通过欧盟委员会的 VIES API 来完成。但它存在几个巨大的问题:
- 在工作时间经常崩溃或对你进行速率限制。
- 响应极其缓慢。
- 最大的问题:它只能告诉你今天的状态。如果你的最大客户在下个月破产或关闭,你要等到未付款的发票堆积起来才会发现。
我想要一个现代、快速且主动的解决方案。于是,我构建了 VatFlow。
🛠 我构建的东西
VatFlow 是一个托管在 RapidAPI 上的 REST API,充当 B2B 公司数据的智能盾牌和监控器。
⚡️ 智能缓存
DynamoDB 缓存层在毫秒级返回最近检查过的增值税号,消除 VIES 停机对你的结账流程的影响。
🔔 实时 Webhook
订阅一个增值税号。每晚一个无服务器的 cron 任务会检查公司的状态;如果公司关闭或更改地址,你的服务器会立即收到 POST 请求。
🇫🇷 深度丰富(法国)
对于法国公司,API 会自动使用本地开放数据将 VIES 数据与财务信息(收入、净利润)以及高管姓名进行丰富。
🏗 技术栈(100% 无服务器)
- API Gateway & AWS Lambda(Node.js)– 提供端点。
- DynamoDB – 闪电般快速的缓存和 webhook 订阅存储。
- DynamoDB Streams & EventBridge – 检测数据变化并自动触发 webhook 分发器。
💻 开发者体验至上
提供了两个官方的、零依赖的包装库,内置自动重试机制。
对于 Node.js(npm)
npm install vatflow
const VatFlowClient = require('vatflow');
const client = new VatFlowClient('YOUR_RAPIDAPI_KEY');
// 一行代码验证增值税号
const result = await client.validate('FR14652014051');
console.log(result.data.name);
对于 PHP(Composer)
composer require quicreatdev/vatflow-php
🎁 试一试!
该 API 已在 RapidAPI 上发布,提供 免费层,你可以在无需信用卡的情况下进行测试。
我很想听到你对架构、开发者体验或 RapidAPI 集成的反馈。你以前是否也为 VIES API 感到头疼?在评论区告诉我吧!👇