Deze pagina is automatisch vertaald en kan fouten bevatten. Lees het Engelse origineel
Push API-overzicht
Stuur versleutelde transacties naar Budgero vanuit elk systeem met de Push API of de Python SDK.
In deze gids
- Genereer een Push API-token en exporteer de versleutelsleutel van je werkruimte via Instellingen → Integraties → Push API.
- Versleutel een transactions.add-payload met AES-GCM, codeer deze als Base64 en doe een POST naar /api/v1/push met een bearer-token; gebruik message_id om herhalingen te dedupliceren.
- Gebruik de Python SDK voor het afhandelen van versleuteling, message-id's en de zichtbaarheid van de wachtrij (in behandeling/verwerkt/mislukt).
Met de Push API kun je transacties vanuit andere systemen naar Budgero sturen terwijl alles end-to-end versleuteld blijft. Je genereert een token, versleutelt de payload met jouw werkruimtesleutel, en stuurt deze via een POST naar het push-endpoint over HTTPS.
Snelle installatie
- Ga naar Instellingen → Integraties → Push API en genereer een Push API-token.
- Exporteer jouw werkruimte-versleutelingssleutel (Budgero slaat deze nooit op de server op).
- Maak een JSON-payload aan (zie formaat hieronder), versleutel deze met AES-256-GCM, codeer deze als Base64, en stuur deze via een POST naar het push-endpoint met jouw bearer-token.
- Voeg optioneel een message_id toe zodat nieuwe pogingen worden ontdubbeld.
- Volg de wachtrijstatistieken in de app of via de API om de verwerking te bevestigen.
Endpoint- en payloadspecificatie
- Endpoint:
POST /api/v1/push(gebruik jouw basis-URL; standaard ishttps://my.budgero.app) - Authenticatie:
Authorization: Bearer <push-api-token> - Body-velden:
encrypted_payload(string, Base64): met AES-GCM versleutelde JSON-payload (IV + ciphertext + auth-tag).message_id(string, optioneel): door de client gegenereerd id om nieuwe pogingen te ontdubbelen.
Vorm van de ontsleutelde payload (vóór versleuteling)
{ "v": 2, "op": "transactions.add", "args": { "accountId": 1, "categoryId": 5, "budgetId": 1, "date": "2024-11-27", "inflow": 0, "outflow": 42500, "memo": "API push", "payee": "Vendor", "transferId": "" }, "message_id": "optional-unique-id"}Geldwaarden zijn gehele milli-eenheden (1/1000 van een valuta-eenheid), dus 42,50 wordt verzonden als 42500. Voeg altijd "v": 2 toe; oudere payloads zonder dit worden behandeld als formaat 1 (decimale bedragen) en bijgewerkt bij import, maar nieuwe integraties moeten formaat 2 verzenden. De Python SDK regelt zowel de formaatvlag als de conversie voor je.
Vandaag ondersteunde bewerking
transactions.add— stuur inkomsten of uitgaven. Gebruikinflowvoor inkomsten enoutflowvoor uitgaven (slechts één mag niet-nul zijn). Geef je bestaande budget-, rekening- en categorie-ID's op.
Versleutelingsvereisten
- Algoritme: AES-256-GCM
- IV: 12 bytes (voeg toe vóór ciphertext)
- Auth tag: 16 bytes (voeg toe na ciphertext)
- Codering: Base64 van IV + ciphertext + tag
- Sleutel: Je werkruimte-versleutelingssleutel (geëxporteerd uit Instellingen).
Python SDK-snelstart
from budgero import BudgeroClientclient = BudgeroClient( api_key="your-push-token", encryption_key="your-space-key", base_url="https://my.budgero.app",)result = client.add_transaction( account_id=1, category_id=5, budget_id=1, date="2024-11-27", outflow=42.50, memo="Example push", payee="API Demo",)print("Queued id:", result.queue_id)SDK-helpers:
-
get_queue()— items in afwachting weergeven -
get_queue_stats()— aantal in afwachting/verwerkt/mislukt -
clear_queue()— items in afwachting wissen (of alle met een vlag) -
Deduplicatie: Geef een stabiele
message_idop bij het opnieuw proberen om dubbele invoer te voorkomen. -
Wachtrij-inzicht: Controleer wachtrijstatistieken in de app of via
/push/queueen/push/statsom levering te verifiëren. -
Tokenhygiëne: Roteer/regenereer bij blootstelling. Schakel uit of trek in vanuit Instellingen indien nodig.
-
Sleutelhygiëne: Houd de token/sleutel buiten versiebeheer.

Houd het geheim, houd het veilig. Gebruik omgevingsvariabelen (bijv.
BUDGERO_PUSH_TOKEN,BUDGERO_SPACE_KEY) of de geheime beheerder van je besturingssysteem, beperk bestandsrechten en vermijd ze te loggen. -
Transport: Gebruik altijd HTTPS zodat de bearer-token en metadata beschermd blijven.
-
Toegangsbeheer: Beperk wie de token/sleutel kan lezen. Behandel ze als inloggegevens met scope tot je budget.
-
Foutafhandeling: Bij 409 met message_id, behandel het als een gedupliceerde poging. Bij 401/403, regenereer/schakel de token in. Monitor wachtrijfouten en wis of plaats opnieuw in de wachtrij indien nodig.