.. target audience: developer, core developer .. _sandbox-api: Sandbox API ########### .. Current Sandbox endpoints. POST /register GET /jinja-test GET /profile GET /static GET / GET /config POST /admin/payments/camt POST /admin/bank-accounts/$accountLabel GET /admin/bank-accounts/$accountLabel POST /admin/bank-accounts/$accountLabel/simulate-incoming-transaction POST /admin/payments POST /admin/ebics/bank-accounts GET /admin/bank-accounts GET /admin/bank-accounts/$accountLabel/transactions POST /admin/bank-accounts/$accountLabel/generate-transactions POST /admin/ebics/subscribers GET /admin/ebics/subscribers POST /admin/ebics/hosts/$hostID/rotate-keys POST /admin/ebics/hosts GET /admin/ebics/hosts POST /ebicsweb HTTP API ======== .. Payments. .. http:post:: /admin/payments/camt Return the history of one IBAN in Camt.053 format. **Request** .. code-block:: tsref interface CamtParams { // IBAN managed by the running Sandbox, for which // the Camt.053 response is going to be generated. iban: string; // The Camt type to return. Only '53' is allowed // at this moment. type: number; } **Response** The expected Camt.053 document. .. http:post:: /admin/payments Adds a new payment to the book. Mainly used for testing purposes. **Request:** One object of type `SandboxPayment` .. ts:def:: SandboxPayment interface SandboxPayment { // IBAN that will receive the payment. creditorIban: string; // FIXME creditorBic: string; // FIXME creditorName: string; // IBAN that will send the payment. debitorIban: string; // FIXME debitorBic: string; // FIXME debitorName: string; amount: string; currency: string; // subject of the payment. subject: string; // Whether the payment is credit or debit *for* the // account being managed *by* the running sandbox. // Can take the values: "CRDT" or "DBIT". direction: string; } .. Host management. .. http:post:: /admin/ebics/hosts Creates a new Ebics host. **Request:** .. ts:def:: EbicsHostRequest interface EbicsHostRequest { // Ebics version. hostID: string; // Name of the host. ebicsVersion: string; } .. http:get:: /admin/ebics/hosts Shows the list of all the hosts in the system. **Response:** .. ts:def:: EbicsHostResponse interface EbicsHostResponse { // shows the host IDs that are active in the system. // The Ebics version *is* missing, but it's still available // via the HEV message. ebicsHosts: string[]; } .. http:post:: /admin/ebics/hosts/$hostID/rotate-keys Overwrite the bank's Ebics keys with random ones. This is entirely meant for tests (as the Sandbox itself is) and no backup will be produced along this operation. .. Subscriber management. .. http:post:: /admin/ebics/subscribers Creates a new Ebics subscriber. **Request:** .. ts:def:: SubscriberRequest interface SubscriberRequest { // hostID hostID: string; // userID userID: string; // partnerID partnerID: string; // systemID systemID: string; } .. http:get:: /admin/ebics/subscribers Shows the list of all the subscribers in the system. **Response:** .. ts:def:: SubscribersResponse interface SubscribersResponse { subscribers: Subscriber[] } .. ts:def:: Subscriber interface Subscriber { // userID userID: string; // partnerID partnerID: string; // hostID hostID: string; } .. http:post:: /admin/ebics/bank-accounts Associates a new bank account to an existing subscriber. **Request:** .. ts:def:: BankAccountRequest interface BankAccountRequest { // Ebics subscriber subscriber: string; // IBAN iban: string; // BIC bic: string; // human name name: string; // bank account label label: string; } .. Main EBICS service. .. http:post:: /ebicsweb Serves all the Ebics requests.