Wealth Reader (8.1.12)

Download OpenAPI specification:

Οι κανονιστικές API που βασίζονται στο PSD2 παρέχουν πρόσβαση σε ορισμένες χρηματοοικονομικές πληροφορίες όπως υπόλοιπα τραπεζικών λογαριασμών και συναλλαγές. Ωστόσο, υπάρχουν άλλες πηγές πληροφοριών πλούτου που δεν είναι προσβάσιμες μέσω αυτών των API. Το API Wealth Reader επεκτείνει τις πληροφορίες που προσφέρονται από τις κανονιστικές API παρέχοντας πρόσβαση σε πραγματικό χρόνο σε πρόσθετες πηγές πλούτου σε οποιαδήποτε οντότητα παγκοσμίως. Υπάρχουν δύο άλλα σχετικά έγγραφα που θα σας βοηθήσουν να ενσωματώσετε το API Wealth Reader. Το ένα είναι ο οδηγός ενσωμάτωσης του widget Javascript: https://docs-en.wealthreader.com/ και το άλλο είναι μια συλλογή Postman βασισμένη σε αυτή την τεκμηρίωση. Πολύ σημαντικό: Αυτός ο ορισμός API είναι προσαρμοσμένος για πελάτες που ενσωματώνουν μέσω Widget, επομένως έχουν παραλειφθεί ορισμένες παράμετροι που δεν είναι απαραίτητες για αυτόν τον τύπο ενσωμάτωσης, όπως οι παράμετροι ελέγχου ταυτότητας τράπεζας, καθώς θα χρησιμοποιηθεί ένα token.

Core

Κύριο API που απαιτείται για τυπικές ενσωματώσεις

Ανάκτηση χρηματοοικονομικών περιουσιακών στοιχείων και λεπτομερών στοιχείων της σύνθεσής τους

Ανάκτηση χρηματοοικονομικών περιουσιακών στοιχείων και λεπτομερών στοιχείων της σύνθεσής τους συμπεριλαμβανομένων χαρτοφυλακίων επενδύσεων αποτελούμενων από μετοχές ή αμοιβαία κεφάλαια, πιστωτικές κάρτες, ασφάλειες και δάνεια. Περιλαμβάνει πληροφορίες ιδιοκτησίας για κάθε περιουσιακό στοιχείο καθώς και μοναδικούς αναγνωριστικούς κωδικούς που διευκολύνουν την επεξεργασία δεδομένων. Είναι δυνατή η λήψη δεδομένων Mock. Ελέγξτε με την τεχνική ομάδα πώς να το κάνετε.

Request Body schema: application/x-www-form-urlencoded
api_key
string

Αναγνωρίζει τον πελάτη στην υπηρεσία

code
string

Όνομα της οντότητας. Η πλήρης λίστα είναι διαθέσιμη με GET

Παράδειγμα: caixabank

token
string

Αναγνωρίζει τα φυλασσόμενα διαπιστευτήρια. Η ροή μέσω της οποίας αποκτήθηκε το token περιγράφεται στο έγγραφο 'Οδηγός ενσωμάτωσης Widget'. Οι ακόλουθοι χρήστες Mock είναι διαθέσιμοι: MOCKDATA, απόκριση OK; MOCKOTP, απόκριση με πρόκληση OTP; MOCKLOGINKO, απόκριση με σφάλμα σύνδεσης

Παράδειγμα: MOCKDATA

product_types
string
Enum: "accounts" "portfolios" "cards" "receipts" "loans" "factoring" "confirming" "properties" "invoices" "files" "deposits" "leases" "insurances"

Λίστα τύπων προϊόντων από τους οποίους θα ανακτηθούν πληροφορίες. Δέχεται πολλαπλές τιμές διαχωρισμένες με κόμματα.

Παράδειγμα: accounts,portfolios

only_balances
boolean
Default: false

Υποδεικνύει εάν θα ληφθούν μόνο τα υπόλοιπα των προϊόντων αντί όλων των διαθέσιμων πληροφοριών. Προεπιλεγμένη τιμή: false.

Παράδειγμα: false

fetch_transaction_details
boolean
Default: false

Υποδεικνύει εάν θα πρέπει να ληφθούν εκτεταμένες λεπτομέρειες των συναλλαγών όταν το υποστηρίζει ο σύνδεσμος της οντότητας. ΣΗΜΑΝΤΙΚΟ: Η ενεργοποίησή του συνεπάγεται την εκτέλεση μίας ή περισσότερων πρόσθετων πλοηγήσεων ανά συναλλαγή για τον εμπλουτισμό των επιστρεφόμενων πληροφοριών. Αυτό θα αυξήσει αναπόφευκτα και σημαντικά τον χρόνο εκτέλεσης. Ο αριθμός των πρόσθετων πλοηγήσεων αυξάνεται με τον όγκο των συναλλαγών. Συνιστάται να το ενεργοποιείτε μόνο όταν είστε βέβαιοι ότι απαιτείται επίπεδο λεπτομέρειας πέραν αυτού που επιστρέφεται από προεπιλογή. Οι λεπτομέρειες που λαμβάνονται εισάγονται στο κλειδί additional_info σε επίπεδο κάθε συναλλαγής. Η χρήση αυτής της παραμέτρου απαιτεί αποκλειστικό περιβάλλον.

Παράδειγμα: false

date_from
string <date>

Ημερομηνία από την οποία ζητούνται οι συναλλαγές, σε μορφή ΕΕΕΕ-ΜΜ-ΗΗ. Πρέπει να είναι ημερομηνία πριν από σήμερα.

Παράδειγμα: 2024-01-01

date_to
string <date>

Αυτό ισχύει μόνο για περιορισμό κατά μελλοντικές ημερομηνίες για προϊόντα loan και confirming, σε μορφή ΕΕΕΕ-ΜΜ-ΗΗ. Η ημερομηνία πρέπει να είναι μεταγενέστερη του σήμερα

Παράδειγμα: 2025-12-31

required_products_schema
string

Σχήμα απαιτούμενων προϊόντων. Υποδεικνύει τους λογαριασμούς ή τις κάρτες από τις οποίες επιθυμούνται δεδομένα, με πρόσθετες ρυθμίσεις.

Παράδειγμα:

{
  "ACCOUNTS": {
    "0ae4d722b1c82feeafb4b36b2893230444071335": {
      "only_balances": false,
      "add_pdf_from_uuids": [
        "90763109952d4f2ebece8dceca8254078c5384a0"
      ],
      "date_from": "2024-04-03"
    }
  },
  "CARDS": {
    "957e6f63546f3fecacce80192b6f7436496dc057": {}
  }
}
add_pdf_from_uuids
string

Δέχεται uuid συναλλαγών χωρισμένα με κόμματα. Παράμετρος που λαμβάνεται υπόψη μόνο εάν product_types είναι ALL ή περιλαμβάνει accounts. Προσθέτει το έγγραφο PDF που σχετίζεται με καθεμία από τις αιτούμενες τραπεζικές συναλλαγές.

Παράδειγμα:

20966426721d0885ef9d4b95535e1d3198936f16,8772d6c978d37d7af83094abf380b8b703e94105,e59296b79e7f80cec26679d2c65883025fd59295
otp_method
string

Επιλέγει ποιο κανάλι παράδοσης δεύτερου παράγοντα να χρησιμοποιηθεί όταν το API επέστρεψε κωδικό 2017 ή 20171 (πολλαπλές μέθοδοι OTP). Επαναλάβετε την κλήση με το ίδιο αναγνωριστικό συνεδρίας εκείνης της απόκρισης και ορίστε το otp_method στην ακριβή συμβολοσειρά του πεδίου otp_method ενός αντικειμένου στο statistics.otpMethods — όχι το ευρετήριο πίνακα. Παραλείψτε στην πρώτη αίτηση με διαπιστευτήρια· στείλτε μετά την επιλογή του χρήστη. Το παρακάτω παράδειγμα είναι ενδεικτικό· αντιγράψτε πάντα τη συμβολοσειρά από το statistics.otpMethods.

Παράδειγμα: OTP_SMS ****1234

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key=a1b2c3d4e5f6g7h8i9j0&code=caixabank&token=1234Asdf&product_types=accounts%2Cportfolios&only_balances=false&date_from=2024-01-01&date_to=2025-12-31&required_products_schema=%7B%22ACCOUNTS%22%3A%7B%220ae4d722b1c82feeafb4b36b2893230444071335%22%3A%7B%22only_balances%22%3Afalse%2C%22add_pdf_from_uuids%22%3A%5B%2290763109952d4f2ebece8dceca8254078c5384a0%22%5D%2C%22date_from%22%3A%222024-04-03%22%7D%7D%2C%22CARDS%22%3A%7B%22957e6f63546f3fecacce80192b6f7436496dc057%22%3A%7B%7D%7D%7D&add_pdf_from_uuids=20966426721d0885ef9d4b95535e1d3198936f16%2C8772d6c978d37d7af83094abf380b8b703e94105

Response samples

Content type
application/json
[
  • {
    }
]

Λίστα τύπων συναλλαγών

query Parameters
lang
string
Default: "es"
Enum: "es" "en"

Response language

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Ερώτημα για tokens που σχετίζονται με ένα api_key

Χρησιμοποιήστε αυτή τη μέθοδο για να αναζητήσετε τα tokens που συνδέονται με ένα συγκεκριμένο api_key. Τα αποτελέσματα επιστρέφονται σε σελίδες: το limit ορίζει τον αριθμό των tokens ανά σελίδα (έως 500) και το page επιλέγει τη σελίδα που επιστρέφεται. Τα api_key, method και limit είναι υποχρεωτικά· αν κάποιο λείπει ή δεν είναι έγκυρο, το API απαντά με HTTP 400 και κωδικό σφάλματος 2.

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string^[a-z0-9]{8}$

api_key για την αναγνώριση του πελάτη στην υπηρεσία

method
required
string
Value: "get"

Λειτουργία προς εκτέλεση. Η μόνη υποστηριζόμενη τιμή είναι get.

Παράδειγμα: get

limit
required
integer [ 1 .. 500 ]

Αριθμός tokens ανά σελίδα. Ελάχιστο 1, μέγιστο 500.

Παράδειγμα: 100

page
integer >= 1
Default: 1

Προσδιορίστε τον αριθμό σελίδας που θέλετε να ανακτήσετε. Κάθε σελίδα περιέχει έως limit tokens. Αν δεν παρέχεται, η προεπιλεγμένη τιμή είναι 1.

Παράδειγμα: 1

code
string

Κωδικός οντότητας για το φιλτράρισμα των tokens. Αν παραλειφθεί, επιστρέφονται τα tokens όλων των οντοτήτων.

Παράδειγμα: bbva

sort_by
string
Default: "created_at"
Enum: "created_at" "accesed_at"

Πεδίο ταξινόμησης των αποτελεσμάτων: created_at (ημερομηνία δημιουργίας) ή accesed_at (ημερομηνία τελευταίας πρόσβασης). Προεπιλογή created_at.

Παράδειγμα: created_at

sort_order
string
Default: "DESC"
Enum: "ASC" "DESC"

Κατεύθυνση ταξινόμησης: ASC (αύξουσα) ή DESC (φθίνουσα). Προεπιλογή DESC.

Παράδειγμα: DESC

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key=a1b2c3d4&method=get&limit=100&page=1

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    },
  • "pagination": {
    },
  • "statistics": {
    }
}

Ανάκληση ενός token

Αυτή η μέθοδος επιτρέπει την ανάκληση ενός υπάρχοντος token για την απενεργοποίηση μελλοντικών αιτημάτων πρόσβασης στο API.

Request Body schema: application/x-www-form-urlencoded
required
api_key
string

Αναγνωρίζει τον πελάτη στην υπηρεσία

token
string

Token προς ανάκληση.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Token successfully revoked."
}

Επαναντιστοίχιση ενός token σε διαφορετικό api_key

Αυτή η μέθοδος επιτρέπει την επαναντιστοίχιση ενός token από ένα api_key σε άλλο. Και τα δύο api_keys πρέπει να είναι ενεργά και να ανήκουν στην ίδια εταιρεία, και το token πρέπει να ανήκει στο api_key_source.

Request Body schema: application/x-www-form-urlencoded
required
api_key_source
string

api_key από το οποίο θα γίνει επαναντιστοίχιση του token.

api_key_target
string

api_key στο οποίο θα γίνει επαναντιστοίχιση του token.

token
string

Token προς επαναντιστοίχιση.

Παράδειγμα: FRJ0mHlaqZwLzu

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key_source=a1b2c3d4e5f6g7h8i9j0&api_key_target=b2c3d4e5f6g7h8i9j0k1&token=FRJ0mHlaqZwLzu

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Token successfully reassigned."
}

Προσθήκη νέου domain

Προσθέτει τη συσχέτιση μεταξύ του domain που θα φιλοξενήσει το widget και του webhook προορισμού. Για επεξεργασία ή δοκιμή των domains σας, χρησιμοποιήστε https://www.wealthreader.com/clients/

Request Body schema: application/x-www-form-urlencoded
required
method
required
string

Method to execute.

Παράδειγμα: add

api_key
required
string

User's API key.

domain
required
string

Domain to add.

Παράδειγμα: http://desarrollo.cliente.es

url_callback
required
string

URL for callback.

Παράδειγμα: https://desarrollo.cliente.es/hooks/wealthreader

tokenize
required
string
Enum: "1" "0"

Ελέγχει αν το widget ξεκινά ροή tokenization:

  • 1 - Ο χρήστης αυθεντικοποιείται στο χρηματοπιστωτικό ίδρυμα (login, συναίνεση, 2FA αν χρειάζεται) και επιστρέφεται ένα επαναχρησιμοποιήσιμο token
  • 0 - Δεν εκτελείται tokenization. Η τιμή του προηγουμένως αποκτηθέντος token πρέπει να συμπεριληφθεί στο αίτημα

Παράδειγμα: 1

Responses

Request samples

Content type
application/x-www-form-urlencoded
method=add&api_key=a1b2c3d4e5f6g7h8i9j0&domain=https%3A%2F%2Fwww.cliente.com&url_callback=https%3A%2F%2Fwww.cliente.com%2Fwebhooks%2Fwealthreader&tokenize=1

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}

Λίστα κωδικών σφάλματος

Λίστα κωδικών σφάλματος. Δώστε ιδιαίτερη προσοχή στο γεγονός ότι δεν πρέπει όλοι οι κωδικοί σφάλματος να αντιμετωπίζονται με τον ίδιο τρόπο από την εφαρμογή σας. Για ένα σφάλμα λανθασμένου κωδικού πρόσβασης, δεν πρέπει να επαναλάβετε την κλήση με τις ίδιες παραμέτρους, αλλά για ένα σφάλμα που υποδεικνύει ότι η οντότητα είναι υπό συντήρηση, μπορείτε να δοκιμάσετε ξανά. Ζητήστε μια τεχνική συνεδρία με την ομάδα μας για να επιλύσετε τυχόν απορίες σχετικά με τη διαχείριση σφαλμάτων.

query Parameters
lang
string
Default: "es"
Enum: "es" "en"

Response language

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Λίστα κωδικών προειδοποίησης

Λίστα κωδικών προειδοποίησης.

query Parameters
lang
string
Default: "es"
Enum: "es" "en"

Response language

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Advanced

Προαιρετικά endpoints που δεν απαιτούνται για τυπικές ενσωματώσεις. Χρησιμοποιήστε μόνο εάν ρητά οδηγηθεί από την Wealth Reader.

Ανάκτηση της λίστας υποστηριζόμενων οντοτήτων

Ανάκτηση της λίστας υποστηριζόμενων οντοτήτων και των πληροφοριών που απαιτούνται για τη σχεδίαση της φόρμας σύνδεσης της οντότητας.

query Parameters
show_only_tested
integer
Default: 0
Enum: 0 1

Indicates whether to show only tested entities. Default value is 0. In production environments, always use 1.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Εγγραφή νέου χρήστη

Αυτό το endpoint είναι προαιρετικό και δεν απαιτείται για τυπικές ενσωματώσεις. Χρησιμοποιήστε μόνο εάν ρητά οδηγηθεί από τη Wealth Reader. Αυτό το endpoint επιτρέπει την εγγραφή χρήστη είτε στην πλατφόρμα μεταφοράς χαρτοφυλακίου Easytransfer είτε στο εργαλείο αναφορών Acumulas, βασισμένο σε μοναδικό αναγνωριστικό.

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Authentication key (8 alphanumeric characters)

user_id
required
string

User identification document.

Παράδειγμα: 12345678A

service
required
string
Enum: "integra" "easy-transfer"

Service associated with the user. Determines the data flow.

Παράδειγμα: easy-transfer

email
required
string <email>

User email, used according to service type.

Παράδειγμα: sai_banker@singularbank.com

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "User registered successfully"
}

Έλεγχος κατάστασης εγγραφής χρήστη

Αυτό το endpoint είναι προαιρετικό και δεν απαιτείται για τυπικές ενσωματώσεις. Χρησιμοποιήστε μόνο εάν ρητά οδηγηθεί από τη Wealth Reader. Ελέγχει εάν ένας χρήστης είναι εγγεγραμμένος στο σύστημα Easytransfer ή Acumulas και επιστρέφει τον μοναδικό σύνδεσμο πρόσβασης για τον χρήστη.

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Authentication key

user_id
required
string

User identification document.

Παράδειγμα: 12345678A

Responses

Response samples

Content type
application/json
{}

Ανάκληση προηγουμένως εγγεγραμμένου χρήστη

Αυτό το endpoint είναι προαιρετικό και δεν απαιτείται για τυπικές ενσωματώσεις. Χρησιμοποιήστε μόνο εάν ρητά οδηγηθεί από τη Wealth Reader. Αυτό το endpoint επιτρέπει την απεγγραφή ενός χρήστη από την υπηρεσία της πλατφόρμας Easytransfer ή Acumulas.

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Authentication key (8 alphanumeric characters)

user_id
required
string

User identification document.

Παράδειγμα: 12345678A

service
required
string
Enum: "integra" "easy-transfer" "all"

Service from which to unregister the user. 'all' for all services.

Παράδειγμα: easy-transfer

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "User unregistered successfully"
}

Φόρτωση συνδέσεων batch

Αυτό το endpoint είναι προαιρετικό και δεν απαιτείται για τυπικές ενσωματώσεις. Χρησιμοποιήστε μόνο εάν ρητά οδηγηθεί από τη Wealth Reader. Σημαντικό: Για να χρησιμοποιήσετε τη διαχείριση διεργασιών batch από την πλευρά του Wealthreader, απαιτείται αποκλειστικό περιβάλλον. Αυτό το endpoint δεν είναι διαθέσιμο στο api.wealthreader.com. Τα endpoints που ομαδοποιούνται κάτω από την ετικέτα "batch" επιτρέπουν την ασύγχρονη επεξεργασία πολλαπλών τραπεζικών συνδέσεων, σε αντίθεση με τη σύγχρονη μέθοδο /entities/. Ιδανικό για επεξεργασία μεγάλων όγκων συνδέσεων και αποφυγή timeouts.

Request Body schema: application/json
required
api_key
required
string

Identifies the client in the service

notification_url
required
string <uri>

Webhook URL. A notification is sent to this URL for each individual credential as soon as it completes processing, not only once all connections in the batch are done.

Παράδειγμα: https://example.com/webhook/batch-complete

required
Array of objects (batch-connection) non-empty

List of connections to process

Responses

Callbacks

Request samples

Content type
application/json
{
  • "api_key": "a1b2c3d4e5f6g7h8i9j0",
  • "connections": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "batch_id": "batch_20250120_a1b2c3d4",
  • "total_connections": 5,
  • "estimated_completion_time": "2025-01-20T10:45:00Z"
}

Callback payload samples

Callback
POST: Webhook fired when a credential finishes processing
Content type
application/json
{
  • "batch_id": 10863151,
  • "credential_id": "cred_demo_002",
  • "status": "completed",
  • "timestamp": "2026-05-13T08:02:47+00:00"
}

Λήψη γενικών στατιστικών για συνδέσεις batch

Αυτό το endpoint είναι προαιρετικό. Ανακτά γενικά στατιστικά για το αποτέλεσμα επεξεργασίας όλων των συνδέσεων σε ένα batch.

Request Body schema: application/json
required
api_key
required
string

Identifies the client in the service

batch_id
required
string

Batch ID

Responses

Request samples

Content type
application/json
{
  • "api_key": "string",
  • "batch_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "batch_id": "batch_20250120_a1b2c3d4",
  • "status": "completed",
  • "statistics": {
    }
}

Λήψη μεμονωμένου αποτελέσματος μιας συγκεκριμένης σύνδεσης εντός batch

Αυτό το endpoint είναι προαιρετικό. Ανακτά το αποτέλεσμα μιας συγκεκριμένης σύνδεσης από το batch.

Request Body schema: application/json
required
api_key
required
string

Identifies the client in the service

batch_id
required
string

Batch ID

credential_id
required
string

Filter by specific credential_id

Responses

Request samples

Content type
application/json
{
  • "api_key": "string",
  • "batch_id": "string",
  • "credential_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    },
  • "statistics": {
    }
}

MyBankMatch

Επαλήθευση κατοχής: ελέγξτε αν ένα IBAN ανήκει σε έναν κάτοχο μέσω της Επαλήθευσης Δικαιούχου Πληρωμής (VoP) SEPA της τράπεζας που είναι συνδεδεμένη με την άδεια χρήσης σας. Οδηγός βήμα προς βήμα: MyBankMatch.

Επαληθεύει ότι ένα IBAN ανήκει σε έναν κάτοχο (MyBankMatch)

Ελέγχει αν ένα IBAN ανήκει στον δηλωμένο κάτοχο μέσω της Επαλήθευσης Δικαιούχου Πληρωμής (VoP) SEPA της δικής σας τράπεζας, η οποία είναι συνδεδεμένη με την άδεια χρήσης σας WealthReader. Επιστρέφει την ετυμηγορία της τράπεζας: δεν την αντικαθιστά με τοπικό υπολογισμό ομοιότητας ονομάτων ούτε δημιουργεί, εγκρίνει ή εκτελεί καμία εντολή πληρωμής.

Πριν από την πρώτη κλήση

  1. Διαθέτετε ενεργή άδεια χρήσης με το προϊόν MY_BANK_MATCH και διαθέσιμη ποσόστωση.
  2. Ανοίξτε το Πελάτες · MyBankMatch, πατήστε Σύνδεση τράπεζας και ολοκληρώστε την πιστοποίηση στο φιλοξενούμενο παράθυρο του WealthReader. Η σύνδεση με διακριτικό συσχετίζεται με το api_key σας· το τραπεζικό διακριτικό δεν παραδίδεται στο πρόγραμμα περιήγησης ούτε αποτελεί παράμετρο του ερωτήματος.

Αίτημα: σώμα κωδικοποιημένο ως φόρμα (application/x-www-form-urlencoded) με api_key, iban και name, όπως στο /entities/. Δεν αποστέλλεται JSON ούτε χρησιμοποιείται η κεφαλίδα X-API-Key. Διατηρείτε το api_key στο backend σας.

Απάντηση: το HTTP 200 σημαίνει ότι λήφθηκε αποτέλεσμα από το προϊόν, όχι ότι το όνομα ταιριάζει. Ελέγξτε το success και στη συνέχεια το payload.result:

payload.result Σημασία Πρόσθετα πεδία Χρεώσιμο
MATCH Η τράπεζα θεωρεί ότι το όνομα ταιριάζει με τον κάτοχο. Κανένα. Ναι, 0,10 EUR.
PARTIAL_MATCH Η τράπεζα επιστρέφει μερική αντιστοιχία (CLOSE_MATCH). suggested_name. Ναι, 0,10 EUR.
NO_MATCH Η τράπεζα δηλώνει ότι το όνομα δεν ταιριάζει. Κανένα. Ναι, 0,10 EUR.
NOT_CONFIGURED Η άδεια χρήσης δεν έχει ακόμη συνδεδεμένη τράπεζα. setup_url. Όχι.
REAUTH_REQUIRED Η σύνδεση με την τράπεζα χρειάζεται νέα πιστοποίηση. setup_url, reason_code. Όχι.
NOT_POSSIBLE Δεν ήταν δυνατή η λήψη αξιοποιήσιμης ετυμηγορίας. Δεν ισοδυναμεί με NO_MATCH. reason. Όχι.

Μόνο τα MATCH, PARTIAL_MATCH και NO_MATCH καταναλώνουν ποσόστωση. Τα σφάλματα εισόδου και τα μη οριστικά αποτελέσματα δεν χρεώνονται.

Δεν υπάρχει κλειδί ταυτοδυναμίας ούτε δωρεάν επανάληψη. Αν χάσετε την απάντηση (λήξη χρόνου, δίκτυο ή σώμα που δεν μπορεί να ερμηνευθεί), το αποτέλεσμα και η κατανάλωση ποσόστωσης ενδέχεται να είναι άγνωστα για την εφαρμογή σας. Μην αποστείλετε αυτόματα ξανά το ίδιο ερώτημα: ελέγξτε το ιστορικό στους Πελάτες και επικοινωνήστε με την υποστήριξη αναφέροντας το statistics.SESSION.

Πλήρης οδηγός: MyBankMatch.

Request Body schema: application/x-www-form-urlencoded
required
api_key
required
string

Κλειδί 8 δεκαεξαδικών χαρακτήρων μιας ενεργής άδειας χρήσης με το προϊόν MY_BANK_MATCH και διαθέσιμη ποσόστωση. Διατηρείτε το στο backend σας.

iban
required
string

IBAN χώρας SEPA. Αφαιρούνται τα κενά, μετατρέπεται σε κεφαλαία και επικυρώνονται το μήκος για τη χώρα του και τα ψηφία ελέγχου mod-97.

Παράδειγμα: ES9321005707250200257112

name
required
string <= 140 characters

Όνομα του κατόχου. Μη κενό, έγκυρο UTF-8, χωρίς χαρακτήρες ελέγχου και έως 140 χαρακτήρες. Αφαιρούνται τα κενά στην αρχή και στο τέλος και τα διαδοχικά εσωτερικά κενά συμπτύσσονται.

Παράδειγμα: Wealthreader S.L.

Responses

Request samples

Content type
application/x-www-form-urlencoded
api_key=a1b2c3d4&iban=ES9321005707250200257112&name=Wealthreader%20S.L.

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "payload": {
    },
  • "statistics": {
    }
}

Payments

Πληρωμές SEPA από λογαριασμό σε λογαριασμό, που εκκινούνται από την τράπεζα του πληρωτή. Υπάρχουν δύο τρόποι ενσωμάτωσης:

Κοινοί κανόνες για όλες τις κλήσεις /payments/?action=...

  • Μέθοδος POST με την κεφαλίδα Content-Type: application/json και ένα αντικείμενο JSON ως σώμα (έως 32768 byte).
  • Πιστοποίηση μόνο με την κεφαλίδα X-API-Key (wr_live_ ακολουθούμενο από 72 γράμματα ή ψηφία) μιας ενεργής άδειας χρήσης με το προϊόν PAYMENTS. Δεν αποστέλλεται ποτέ στο σώμα. Κάθε πιστοποιημένη κλήση προσμετράται στο όριο κλήσεων της άδειας χρήσης.
  • Το σώμα είναι λίστα επιτρεπόμενων πεδίων: αν λείπει ένα υποχρεωτικό πεδίο ή υπάρχει ένα μη προβλεπόμενο, η απάντηση είναι 422 invalid_request.
  • Η μόνη θετική οικονομική επιβεβαίωση είναι το payment_status: settled. Ένα συμβάν του widget, μια επιστροφή SCA ή το interaction_status: completed δεν σημαίνουν ποτέ ότι η πληρωμή έχει εκκαθαριστεί.

Μορφή σφάλματος: application/json (όχι problem+json) με σταθερό error.code· το error.message είναι ενημερωτικό και μπορεί να αλλάξει.

{"success": false, "error": {"code": "invalid_request", "message": "The request body has an invalid schema."}}
HTTP error.code Αιτία
400 invalid_json Σώμα κενό, μη έγκυρο ή που δεν είναι αντικείμενο JSON.
401 invalid_api_key X-API-Key απούσα, κακοσχηματισμένη, άγνωστη ή ανενεργή.
403 payments_not_allowed Η άδεια χρήσης δεν διαθέτει το προϊόν PAYMENTS.
404 action_not_found Άγνωστο action.
405 method_not_allowed Μέθοδος διαφορετική από POST.
413 request_too_large Σώμα μεγαλύτερο από 32768 byte.
415 json_required Content-Type διαφορετικό από application/json.
422 invalid_request Πεδία που λείπουν ή δεν προβλέπονται.
429 api_limit_reached Έχει συμπληρωθεί το όριο κλήσεων της άδειας χρήσης.
500 internal_error Απρόσμενο σφάλμα.
503 payments_disabled, payments_accept_new_disabled, payment_storage_unavailable, payment_state_unavailable Η υπηρεσία δεν είναι προσωρινά διαθέσιμη ή οι νέες πληρωμές έχουν ανασταλεί.

Ειδοποίηση OK ή KO μιας πληρωμής Fast Track Webhook

Η Wealth Reader αποστέλλει αυτό το POST στο notification_url μιας πληρωμής Fast Track όταν ελέγχει την κατάσταση της πληρωμής και τη βρίσκει σε τελική κατάσταση. Το reconciliation_required δεν είναι τελικό και δεν αποστέλλεται ειδοποίηση: επιβεβαιώστε το με το status.

  • Το outcome είναι ok μόνο αν η τράπεζα έχει εκκαθαρίσει την πληρωμή (settled)· τα rejected, cancelled, expired και failed ειδοποιούν ko.
  • Η κατάσταση ελέγχεται όσο ο πληρωτής παραμένει στη σελίδα πληρωμής (η οποία την ερωτά έως το τελικό αποτέλεσμα ή έως ότου λήξει η συνεδρία πληρωμής) και κάθε φορά που καλείτε το status. Δεν υπάρχει ξεχωριστή προγραμματισμένη αποστολή: αν ο πληρωτής αποχωρήσει πριν ολοκληρώσει η τράπεζα, ή ο διακομιστής σας δεν απαντήσει με 2xx, η ειδοποίηση αποστέλλεται στον επόμενο έλεγχο. Αν δεν έχει φτάσει λίγα λεπτά μετά την ανακατεύθυνση του πληρωτή, καλέστε το status με το payment_intent_id· η κλήση αυτή ενεργοποιεί επίσης την εκκρεμή ειδοποίηση.
  • Απαντήστε με οποιοδήποτε 2xx ώστε να θεωρηθεί παραδοθείσα. Η Wealth Reader δεν ακολουθεί ανακατευθύνσεις και περιμένει έως 3 δευτερόλεπτα.
  • Η ίδια ειδοποίηση μπορεί να φτάσει περισσότερες από μία φορές: χειριστείτε το customer_reference μαζί με το outcome ως ταυτοδύναμα.
  • Το αίτημα δεν είναι υπογεγραμμένο. Πριν παραδώσετε ένα πολύτιμο αγαθό, επιβεβαιώστε το αποτέλεσμα με το status χρησιμοποιώντας το X-API-Key σας και το payment_intent_id της ειδοποίησης.
header Parameters
User-Agent
required
string
Value: "WealthReader-Payments"
Request Body schema: application/json
required
outcome
required
string
Enum: "ok" "ko"

ok μόνο για settled.

payment_status
required
string
Enum: "settled" "rejected" "cancelled" "expired" "failed"

Τελικό οικονομικό αποτέλεσμα.

customer_reference
required
string

Το Idempotency-Key που αποστείλατε κατά τη δημιουργία της πληρωμής.

payment_intent_id
required
string <uuid>

Αναγνωριστικό που επέστρεψε το fast-track. Χρησιμοποιήστε το για να επιβεβαιώσετε το αποτέλεσμα με το status.

Responses

Request samples

Content type
application/json
Example
{
  • "outcome": "ok",
  • "payment_status": "settled",
  • "customer_reference": "11111111-1111-4111-8111-111111111111",
  • "payment_intent_id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f"
}

Δημιουργεί μια πληρωμή και λαμβάνει το URL της (Fast Track)

Μία μόνο κλήση που επιστρέφει το URL πληρωμής. Ο πληρωτής το ανοίγει και εγκρίνει την πληρωμή στην τράπεζά του· όταν η πληρωμή φτάσει σε τελική κατάσταση, η Wealth Reader ειδοποιεί το notification_url σας με OK ή KO (δείτε το webhook notification_url). Στο παρασκήνιο δημιουργείται η ίδια αμετάβλητη πρόθεση με το create: το ποσό, ο δικαιούχος και η αιτιολογία καθορίζονται πριν φτάσουν στο πρόγραμμα περιήγησης.

Η κεφαλίδα Idempotency-Key είναι επίσης η αναφορά εμπόρου σας (customer_reference στην ειδοποίηση): δεν αποστέλλεται στο σώμα. Αν επαναλάβετε το ίδιο κλειδί με το ίδιο σώμα, λαμβάνετε το ίδιο URL· αν το επαναχρησιμοποιήσετε με άλλα δεδομένα (και με διαφορετικό logo), η απάντηση είναι 409 idempotency_conflict.

Μια άμεση μεταφορά δεν έχει δικό της ανώτατο όριο σε αυτό το API: η τράπεζα απορρίπτει όποια δεν μπορεί να αποδεχθεί, και λόγω ποσού, και η απόρριψη αυτή φτάνει ως KO.

header Parameters
X-API-Key
required
string

Κλειδί API μιας άδειας χρήσης με το προϊόν PAYMENTS. Διατηρείτε το στο backend σας.

Idempotency-Key
required
string [ 16 .. 128 ] characters

Από 16 έως 128 χαρακτήρες· πρέπει να ξεκινά με γράμμα ή ψηφίο και να περιέχει μόνο γράμματα, ψηφία και . _ : -. Ένα UUID v4 είναι έγκυρο. Είναι επίσης η αναφορά εμπόρου που επιστρέφεται στην ειδοποίηση.

Request Body schema: application/json
required
amount
required
string

Ποσό σε κύριες μονάδες, ως συμβολοσειρά JSON. Το "15.50" αντιστοιχεί σε 15,50 EUR· γίνεται επίσης δεκτός ακέραιος χωρίς δεκαδικά ("15"). Έως δύο δεκαδικά ψηφία, επομένως τα "15.5" και "15.50" είναι το ίδιο ποσό. Ελάχιστο 0.01. Το μέγιστο περιορίζεται στο όριο που έχει ορίσει κάθε πελάτης στην τράπεζά του.

Παράδειγμα: 15.50

currency
required
string
Value: "EUR"

Νόμισμα ISO 4217. Σε αυτή την έκδοση, μόνο EUR.

Παράδειγμα: EUR

required
object (payments-beneficiary)

Αποδέκτης της μεταφοράς. Δεν μπορεί να αλλάξει μετά τη δημιουργία της πληρωμής.

reference
required
string [ 1 .. 140 ] characters

Αιτιολογία στο αντίγραφο κίνησης, έως 140 χαρακτήρες.

Παράδειγμα: Pedido 78901

priority
required
string
Enum: "normal" "instant"

normal (μεταφορά SEPA) ή instant (άμεση μεταφορά SEPA).

Παράδειγμα: normal

notification_url
required
string <= 2000 characters

Δημόσιο URL https που λαμβάνει την ειδοποίηση OK ή KO. Χωρίς διαπιστευτήρια, θύρα 443 αν δηλωθεί θύρα, και χωρίς ιδιωτικές, τοπικές διευθύνσεις ή διευθύνσεις μεταδεδομένων.

Παράδειγμα: https://tienda.example.com/pagos/aviso

logo
string <= 2048 characters

Προαιρετικό. Δημόσιο URL https του λογότυπου του καταστήματός σας σε SVG (η διαδρομή πρέπει να τελειώνει σε .svg· επιτρέπονται παράμετροι ερωτήματος), χωρίς διαπιστευτήρια, τμήμα (fragment) ή ιδιωτικές διευθύνσεις, έως 2048 χαρακτήρες ASCII. Η σελίδα πληρωμής το εμφανίζει πάνω από τη σύνοψη· η Wealth Reader δεν το λαμβάνει, το φορτώνει το πρόγραμμα περιήγησης του πληρωτή. Οποιαδήποτε άλλη τιμή επιστρέφει 422 invalid_logo.

Παράδειγμα: https://tienda.example.com/marca/logo.svg

Responses

Request samples

Content type
application/json
{}

Response samples

Δημιουργεί μια πρόθεση πληρωμής (widget)

Δημιουργεί μια αμετάβλητη πρόθεση πληρωμής και επιστρέφει ένα διακριτικό σύντομης διάρκειας για το άνοιγμα του widget στο πρόγραμμα περιήγησης του πληρωτή. Το ποσό, ο δικαιούχος και η αιτιολογία καθορίζονται στο backend και δεν μπορούν να τροποποιηθούν από το πρόγραμμα περιήγησης. Αφού κλείσει το widget, επιβεβαιώστε το αποτέλεσμα από το backend σας με το status.

Υπάρχουν δύο παραλλαγές σώματος:

  • Τυπική: εσείς ορίζετε τα amount_minor, currency, beneficiary, reference, customer_reference και allowed_origin.
  • Διαχειριζόμενο προφίλ (για παράδειγμα cruz_roja_demo): η Wealth Reader ορίζει τον δικαιούχο, την αιτιολογία και τα όρια· εσείς αποστέλλετε τα profile, institution_code, amount_minor, customer_reference και allowed_origin. Λάβετε τις τράπεζες με το profile-institutions.

Αν επαναλάβετε το ίδιο Idempotency-Key με το ίδιο σώμα, λαμβάνετε την ίδια πρόθεση (200, idempotent_replay: true)· αν το επαναχρησιμοποιήσετε με άλλα δεδομένα, η απάντηση είναι 409 idempotency_conflict. Το κλειδί είναι ξεχωριστό για κάθε εταιρεία.

Οδηγός: Προθέσεις και ταυτοδυναμία και Ενσωμάτωση με το widget.

header Parameters
X-API-Key
required
string

Κλειδί API μιας άδειας χρήσης με το προϊόν PAYMENTS. Διατηρείτε το στο backend σας.

Idempotency-Key
required
string [ 16 .. 128 ] characters

Από 16 έως 128 ορατοί χαρακτήρες ASCII. Δημιουργήστε ένα για κάθε πληρωμή (ένα UUID v4 είναι έγκυρο) και επαναχρησιμοποιήστε το αν επαναλάβετε την κλήση.

Request Body schema: application/json
required
One of
amount_minor
required
integer >= 1

Ποσό σε δευτερεύουσες μονάδες (λεπτά) ως ακέραιος JSON. Το 1500 αντιστοιχεί σε 15,00 EUR. Το μέγιστο περιορίζεται στο όριο που έχει ορίσει κάθε πελάτης στην τράπεζά του.

Παράδειγμα: 1500

currency
required
string
Value: "EUR"
required
object (payments-beneficiary)

Αποδέκτης της μεταφοράς. Δεν μπορεί να αλλάξει μετά τη δημιουργία της πληρωμής.

reference
required
string [ 1 .. 140 ] characters

Αιτιολογία στο αντίγραφο κίνησης, έως 140 χαρακτήρες.

Παράδειγμα: Pedido 78901

customer_reference
required
string <= 128 characters

Η εσωτερική σας αναφορά για την πληρωμή. Από 1 έως 128 χαρακτήρες· ξεκινά με γράμμα ή ψηφίο και περιέχει μόνο γράμματα, ψηφία και . _ : -.

Παράδειγμα: order-78901

allowed_origin
required
string

Προέλευση (https://host[:puerto], χωρίς διαδρομή, ερώτημα ή τμήμα) της σελίδας που ανοίγει το widget. Το widget λειτουργεί μόνο από αυτή την προέλευση.

Παράδειγμα: https://tienda.example.com

locale
string
Value: "es"

Προαιρετικό. Γλώσσα του widget· σε αυτή την έκδοση μόνο es.

expected_mode
string
Enum: "mock" "live"

Προαιρετικό. Αν δεν αντιστοιχεί στο περιβάλλον, η κλήση επιστρέφει 409 payment_mode_mismatch αντί να δημιουργήσει την πληρωμή.

allowed_institution_codes
Array of strings <= 2500 items

Προαιρετικό. Μη κενή λίστα μοναδικών κωδικών τραπεζών (δείτε /payments/entities/) από τους οποίους μπορεί να επιλέξει ο πληρωτής.

Παράδειγμα:

[
  "bbva-es",
  "santander-es"
]
logo
string or null

Προαιρετικό. Δημόσιο URL https του λογότυπού σας σε SVG (διαδρομή που τελειώνει σε .svg), χωρίς διαπιστευτήρια, τμήμα ή ιδιωτικές διευθύνσεις, έως 2048 χαρακτήρες.

Responses

Request samples

Content type
application/json
Example
{
  • "amount_minor": 1500,
  • "currency": "EUR",
  • "beneficiary": {
    },
  • "reference": "Pedido 78901",
  • "customer_reference": "order-78901",
  • "allowed_origin": "https://tienda.example.com"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payment": {
    }
}

Ερωτά την κατάσταση μιας πληρωμής

Ερώτημα από διακομιστή σε διακομιστή για την κατάσταση μιας πληρωμής, έως ότου ληφθεί τραπεζικό συμπέρασμα. Ένα callback, μια επιστροφή SCA ή το κλείσιμο του widget δεν αποτελούν οικονομική επιβεβαίωση: μόνο το payment_status: settled αποτελεί.

Η Wealth Reader περιορίζει τα εξωτερικά ερωτήματα ανά πρόθεση· εφαρμόστε backoff και στο backend σας και μη δημιουργείτε άλλη πρόθεση όσο το αποτέλεσμα είναι αμφίσημο.

Αμφίσημο αποτέλεσμα: μια διακοπή δικτύου, λήξη χρόνου ή μη αναγνωρισμένη απάντηση μετά την αποστολή της εκκίνησης αλλάζει την πρόθεση σε reconciliation_required με payment_status: unknown, και η απάντηση περιλαμβάνει το reconciliation. Η εκκίνηση δεν επαναλαμβάνεται ποτέ αυτόματα. Διατηρήστε το αναγνωριστικό και το κλειδί ταυτοδυναμίας, μη δημιουργήσετε άλλη πρόθεση ούτε εγκρίνετε ξανά και, όταν το automatic_recovery είναι false, σταματήστε τον περιοδικό έλεγχο και κλιμακώστε στην υποστήριξη με το reconciliation.reference.

Στις πληρωμές Fast Track, αυτό το ερώτημα αποστέλλει επίσης στο notification_url την εκκρεμή ειδοποίηση OK/KO όταν η πληρωμή έχει φτάσει σε τελική κατάσταση.

Οδηγός: Καταστάσεις, περιοδικός έλεγχος και συμφωνία.

header Parameters
X-API-Key
required
string

Κλειδί API της άδειας χρήσης που δημιούργησε την πληρωμή.

Request Body schema: application/json
required
payment_intent_id
required
string <uuid>

Το payment.id που επέστρεψε το create (στις πληρωμές Fast Track, το payment_intent_id που επιστρέφει το fast-track).

Παράδειγμα: 3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f

refresh
boolean
Default: true

Προαιρετικό. Το true ερωτά την τράπεζα για την τελευταία κατάσταση όταν ενδείκνυται· το false επιστρέφει την αποθηκευμένη κατάσταση.

Responses

Request samples

Content type
application/json
{
  • "payment_intent_id": "3f2b8c1e-5d4a-4b6f-9e21-7c0d4a1b2e3f",
  • "refresh": true
}

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "payment": {
    }
}

Παραθέτει τις τράπεζες και τους όρους ενός διαχειριζόμενου προφίλ

Επιστρέφει τους όρους ενός διαχειριζόμενου προφίλ ενεργοποιημένου για την εταιρεία σας (δικαιούχος, αιτιολογία, όρια ποσού) και τις τράπεζες από τις οποίες μπορεί να επιλέξει ο πληρωτής. Χρησιμοποιήστε τον επιλεγμένο code ως institution_code στο create.

header Parameters
X-API-Key
required
string

Κλειδί API μιας άδειας χρήσης με το προϊόν PAYMENTS.

Request Body schema: application/json
required
profile
required
string

Κωδικός του διαχειριζόμενου προφίλ.

Παράδειγμα: cruz_roja_demo

Responses

Request samples

Content type
application/json
{
  • "profile": "cruz_roja_demo"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "profile": {
    }
}

Παραθέτει τις διαθέσιμες τράπεζες για πληρωμές

Κατάλογος τραπεζών που μπορούν να εκκινήσουν πληρωμές, με το λογότυπό τους και τις μεθόδους πληρωμής που υποστηρίζουν. Το X-API-Key είναι προαιρετικό· αν το αποστείλετε, επικυρώνεται και προσμετράται ως κλήση. Υποστηρίζει επίσης POST με τα ίδια φίλτρα σε σώμα JSON, καθώς και POST /payments/?action=entities με υποχρεωτικό X-API-Key.

Τα άγνωστα φίλτρα αγνοούνται και δεν προκαλούν ποτέ σφάλμα επικύρωσης.

query Parameters
country
string
Example: country=ES

Κωδικός χώρας ISO 3166-1 alpha-2. Το ALL ή η κενή τιμή σημαίνει χωρίς φίλτρο.

Παράδειγμα: ES

search
string

Κείμενο που περιέχεται στο όνομα ή στον κωδικό, χωρίς διάκριση πεζών-κεφαλαίων (ψευδώνυμο q).

code
string
Example: code=santander-es

Ακριβής κωδικός της τράπεζας, χωρίς διάκριση πεζών-κεφαλαίων.

Παράδειγμα: santander-es

payment_method
string
Enum: "sepa_credit_transfer" "instant_sepa_credit_transfer"

Μόνο οι τράπεζες που υποστηρίζουν αυτή τη μέθοδο πληρωμής.

limit
integer [ 1 .. 2000 ]

Μέγεθος σελίδας (από 1 έως 2000).

offset
integer >= 0

Αριθμός αποτελεσμάτων που παραλείπονται.

header Parameters
X-API-Key
string

Προαιρετικό. Αν αποσταλεί, επικυρώνεται και προσμετράται ως κλήση.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "total": 1,
  • "entities": [
    ]
}

Cards (real time)

Real-time card expense synchronization from the Open Sync mobile app: per-customer employee pre-registration, signed webhooks (card_transaction.created / card_enrollment.confirmed), and REST query / backfill.

Register or rotate the real-time cards webhook

Creates or updates the webhook URL of the customer for the card_transaction.created and card_enrollment.confirmed events (see the cards-webhook-delivery schema for the delivery format and signature). On first setup, or when rotate_secret is true, a new webhook_secret (64 hex characters) is generated and returned once; in any other case webhook_secret comes back as null in the response and cannot be retrieved again. webhook_url must always be https:// and must resolve to a publicly routable host: localhost, private, loopback, link-local (including the cloud metadata address), CGNAT, multicast and reserved addresses are rejected, in any notation (hexadecimal, decimal, octal, short dotted or IPv4-mapped IPv6), and so is a hostname that does not resolve at all. The same check runs again right before every delivery, not only at registration: if the host is repointed at an internal address afterwards (DNS rebinding) the delivery is closed as failed with response_excerpt "blocked_host". Sending null in webhook_url disables webhooks for that customer; omitting the field leaves the stored URL untouched, which is how the secret is rotated without changing the URL.

Request Body schema: application/json
required
api_key
required
string

API key of the customer.

webhook_url
string or null

https:// URL that will receive the events, on a publicly routable host that resolves in DNS. null disables webhooks; omitting the field leaves the stored URL unchanged.

Παράδειγμα: https://cliente.example.com/webhooks/wealthreader-cards

rotate_secret
boolean
Default: false

When true, generates and returns a new webhook_secret.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Pre-register the email of an employee

Creates an enrollment request in pending status with a short expiry (ttl_minutes, 20 by default, between 1 and 60) for the employee to confirm by opening the mobile app and entering that email (POST /user-sync-validation/, no contract change for the app). It is idempotent: repeating the call for the same (api_key, email) while it is still pending and not expired returns the same request. If the email is already linked to the calling customer, it returns status "active" directly. If it is already linked to a different customer, it returns 409. Rate limit: at most 60 calls to this endpoint per api_key every 60 seconds, counting every attempt and not only the ones that create a row, checked before anything else so the answers that create nothing (200 already active, 409 linked to another customer, 400) cannot be walked as an enumeration oracle. Exceeding it returns 429 with code rate_limited.

Request Body schema: application/json
required
api_key
required
string

API key of the customer.

email
required
string <email>

Email of the employee to pre-register.

Παράδειγμα: empleado@cliente.com

ttl_minutes
integer [ 1 .. 60 ]
Default: 20

Minutes the request stays valid before expiring.

Responses

Request samples

Content type
application/json
{
  • "api_key": "a1b2c3d4",
  • "email": "empleado@cliente.com",
  • "ttl_minutes": 20
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Check the status of an enrollment

Read-only status of an enrollment request. It has no side effects on card users, unlike POST /user-sync-validation/, which does confirm. The only write allowed is lazily marking a pending enrollment whose expiry date has already passed as expired.

query Parameters
api_key
required
string
Example: api_key=a1b2c3d4

API key of the customer. Note it travels in the query string, so it ends up in access logs and intermediary proxies.

Παράδειγμα: a1b2c3d4

enrollment_id
required
string
Example: enrollment_id=0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c

Identifier returned by POST /cards/enrollments/.

Παράδειγμα: 0f3a9c7b1d2e4f5a6b7c8d9e0f1a2b3c

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Query / backfill real-time card transactions

Returns the real-time card transactions received for the employees linked to this api_key, ordered by ascending id. Meant both for periodic backfill (poll with date_from/date_to and paginate with since_id) and for one-off queries. This is the same transaction object carried by the card_transaction.created webhook.

query Parameters
api_key
required
string
Example: api_key=a1b2c3d4

API key of the customer. Note it travels in the query string, so it ends up in access logs and intermediary proxies.

Παράδειγμα: a1b2c3d4

date_from
string <date>
Example: date_from=2026-07-01

YYYY-MM-DD, on the operation date. Default: today minus 3 days.

Παράδειγμα: 2026-07-01

date_to
string <date>
Example: date_to=2026-07-11

YYYY-MM-DD, on the operation date. Default: today.

Παράδειγμα: 2026-07-11

email
string <email>
Example: email=empleado@cliente.com

Filters by the email of the employee.

Παράδειγμα: empleado@cliente.com

since_id
integer
Example: since_id=216

Exclusive cursor on the transaction id, for pagination.

Παράδειγμα: 216

limit
integer <= 1000
Default: 500
Example: limit=500

Maximum number of transactions to return (500 by default, 1000 max).

Παράδειγμα: 500

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}