api-ebisync.rst (3116B)
1 .. 2 This file is part of GNU TALER. 3 4 Copyright (C) 2025 Taler Systems SA 5 6 TALER is free software; you can redistribute it and/or modify it under the 7 terms of the GNU Affero General Public License as published by the Free Software 8 Foundation; either version 2.1, or (at your option) any later version. 9 10 TALER is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. 13 14 You should have received a copy of the GNU Affero General Public License along with 15 TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> 16 17 ================= 18 Taler EbiSync API 19 ================= 20 21 .. contents:: Table of Contents 22 :local: 23 24 Version History 25 --------------- 26 27 The current protocol version is ``v0``. 28 29 Introduction 30 ------------ 31 32 LibEuFin EbiSync API. 33 34 35 Config 36 ------ 37 38 .. http:get:: /config 39 40 Return the protocol version and configuration information about the bank. 41 This specification corresponds to ``current`` protocol being version **v11**. 42 43 **Response:** 44 45 :http:statuscode:`200 OK`: 46 Response is a `Config`. 47 48 **Details:** 49 50 .. ts:def:: Config 51 52 interface Config { 53 // Name of the API. 54 name: "taler-ebisync"; 55 56 // libtool-style representation of the Bank protocol version, see 57 // https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning 58 // The format is "current:revision:age". 59 version: string; 60 61 // SPA display version to be used in user interfaces. 62 spa_version: string; 63 } 64 65 Web UI 66 ------ 67 68 The web UI served under ``/``. 69 70 Submit 71 ------ 72 73 .. http:get:: /submit 74 75 Obtains a list of the orders that can be used. 76 77 **Response:** 78 79 :http:statuscode:`200 OK`: 80 The server responds with a `ListSubmitOrders` object. 81 :http:statuscode:`401 Unauthorized`: 82 Invalid or missing credentials. 83 :http:statuscode:`403 Forbidden`: 84 Missing rights. 85 86 **Details:** 87 88 .. ts:def:: ListSubmitOrders 89 90 interface ListSubmitOrders { 91 orders: SubmitOrder[]; 92 } 93 94 .. ts:def:: SubmitOrder 95 96 interface SubmitOrder { 97 // EBICS order id to uniquely identify this order 98 id: string; 99 100 // EBICS order description provided by the EBICS server 101 description: string; 102 } 103 104 .. http:post:: /submit 105 106 Submit an file to the EBICS server using a chosen order. 107 108 **Request:** 109 110 :formparam file: The file to submit. 111 :formparam order: The is of the EBICS order to use. 112 113 **Response:** 114 115 :http:statuscode:`200 OK`: 116 Response is a `SubmitResponse`. 117 :http:statuscode:`400 Bad request`: 118 Input data was invalid. 119 :http:statuscode:`401 Unauthorized`: 120 Invalid or missing credentials. 121 :http:statuscode:`403 Forbidden`: 122 Missing rights. 123 :http:statuscode:`409 Conflict`: 124 EBICS server validation error. 125 :http:statuscode:`502 Bad Gateway`: 126 EBICS server connection error. 127 128 **Details:** 129 130 .. ts:def:: SubmitResponse 131 132 interface SubmitResponse { 133 // EBICS upload order ID 134 order: string; 135 }