Skip to content

Sessions & Billing

Endereco supports two billing models. Sessions enable the success-based model: you pay only when a user confirms and saves their data.

How Sessions Work

1. User opens form           → Generate UUID v4 session ID
2. User types / autocompletes → Send validation requests with X-Transaction-Id header
3. User saves the form       → Call doAccounting with the session ID → billed
4. User abandons the form    → No doAccounting call → auto-abandoned after 1 hour, not billed

Step 1: Generate a Session ID

Use UUID v4 (random). Each address/contact entry gets its own ID.

js
const sessionId = crypto.randomUUID()
// e.g. "c07968ba-ec38-4cf2-8819-5b9c70b78a72"

Step 2: Include in Every Request Header

X-Transaction-Id: c07968ba-ec38-4cf2-8819-5b9c70b78a72

Step 3: Finalize on Save

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "doAccounting",
  "params": {
    "sessionsId": "c07968ba-ec38-4cf2-8819-5b9c70b78a72"
  }
}

Rules

RuleDetail
UniquenessSession IDs must be unique within one calendar month
UUID versionMust be v4 (random)
AbandonmentSessions without doAccounting are auto-abandoned after 1 hour
Per recordEach address/contact gets its own session ID, not per page load

Client Identification

Always identify your integration:

X-Agent: MyShop v2.1.0

Format: [CLIENT_NAME] [SEMVER_VERSION]

Referrer

Optionally pass the page URL where data was entered:

X-Transaction-Referer: www.example.de/checkout

Readiness Check

Before making API calls you can verify the service is reachable with readinessCheck. It takes no parameters and simply returns "ready" when the service is up.

Request

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "readinessCheck",
  "params": {}
}

Response

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "status": "ready"
  }
}

Use this as a lightweight health-check ping during integration setup or monitoring.

Endereco JSON-RPC API