etld-sdk
v3.2.3
Published
ETL-D SDK: The Agentic Data & Finance Middleware
Readme
ETL-D SDK: The Agentic Data & Finance Middleware
Stop wasting LLM context windows and tokens on basic data parsing and complex financial logic. ETL-D is a stateless, deterministic middleware designed specifically for AI Agents, No-Code automation (n8n, Make), and high-performance integrations. We handle chaotic global data and B2B financial pipelines using algorithmic parsing with an LLM-Routing Fallback to guarantee 100% accuracy and perfect JSON schemas.
🚀 The Arsenal (Available Endpoints) ETL-D goes far beyond basic string manipulation. Your AI agents gain instant access to:
- B2B Parsing: Transform raw Norma 43 (N43) bank statements and complex nested XMLs into flat, queryable JSONs.
- Financial Operations: Generate SEPA Direct Debit (PAIN.008) XMLs, fetch historical Forex rates, and autonomously map messy transactions to GAAP/PGC accounting codes.
- Data Engineering Magic: Generate E-commerce Cartesian product variants, normalize physical measurement units, and intelligently split chaotic contact strings.
- Core Enrichment: E.164 phone validation, ISO 8601 relative date parsing (timezone-aware), and global address structuring with LLM-fallback for complex regions (e.g., UAE, Japan).
🤖 The Agentic Workflow (Autonomous Billing) ETL-D V1.0+ introduces features strictly designed for autonomous systems that handle their own billing lifecycles.
1. Zero-Touch Agent Provisioning
If your AI agent is booting up for the first time and lacks an API key, it can provision one programmatically. No emails, no logins.
import { SystemApi, Configuration } from 'etld-sdk';
const config = new Configuration({
basePath: 'https://api.etl-d.net'
});
const systemApi = new SystemApi(config);
async function bootAgent() {
// Provision a new session
const provision = await systemApi.provisionAgentV1SystemBillingProvisionPost();
console.log(`Pay here: ${provision.checkout_url}`);
// Poll for the key
const status = await systemApi.getProvisionStatusV1SystemBillingProvisionPollIdGet({
pollId: provision.poll_id
});
if (status.status === 'ready') {
console.log(`Your API Key: ${status.api_key}`);
}
}2. Handling 402 Payment Required
When an agent exhausts its credits, the API returns a HTTP 402. The SDK throws an error that you can catch to handle top-ups autonomously.
import { EnrichmentApi } from 'etld-sdk';
const enrichmentApi = new EnrichmentApi(config);
async function processData() {
try {
await enrichmentApi.enrichDateV1EnrichDatePost({
dateInput: { date_string: 'next Tuesday' }
});
} catch (error: any) {
if (error.status === 402) {
const body = await error.json();
console.log(`Credits exhausted. Top up at: ${body.checkout_url}`);
}
}
}⚡ Async Batch Processing Process 10,000+ records without blocking your server. Queue the batch, and the SDK automatically polls the background worker until the job is done.
import { AsyncBatchApi } from 'etld-sdk';
const batchApi = new AsyncBatchApi(config);
async function runBatch() {
const task = await batchApi.createBatchTaskV1EnrichBatchEntityTypePost({
entityType: 'date',
batchInput: { items: ['next Tuesday', '27/10/2023'] }
});
console.log(`Task ID: ${task.task_id}`);
}Installation
npm install etld-sdk