Η πλατφόρμα Δήλωσης επί των ακαθαρίστων εσόδων και παρεπιδημούντων ή αλλιώς ΔΑΕ, παρέχει api για σύνδεση με τρίτες εφαρμογές.
Για να κάνουμε δημιουργία εφαρμογής στο GovHub, θα κάνουμε τα παρακάτω βήματα.
Για να καλέσουμε τα api του ΔΑΕ πρώτα πρέπει έχουμε κάνει authenticate σαν εφαρμογή και να πάρουμε ένα JWT Token.
Για το παραγωγικό περιβάλλον στο πεδίο scope συμπληρώνουμε GovApp.AkatharistaEsoda.Basic για το Δοκιμαστικό περιβάλλον στο πεδίο scope συμπληρώνουμε GovApp.AkatharistaEsoda.Test.
Οδηγίες για λήψη JTW token από τον auth Server
Αφού λάβετε το JWT Token σύμφωνα με το Auth 2.0 πρότυπο θα πρέπει να κάνετε Bearer Authentication.
"Authorization: Bearer <token>"
Αφού ρυθμίσετε τους παραπάνω headers μπορείτε να κάνετε κλήσεις σύμφωνα με τις οδηγίες του OpenApi(παράγραφος 1 docs).
Στην κλήση /api/Helper/Periodoi παίρνετε την λίστα των περιόδων, των οποίων το ID χρησιμοποιείται παρακάτω στα φίλτρα.
Στην κλήση POST api/StatementsThirdParty/GetStatementsPagedByRequest το json πρέπει να είναι της μορφής
{
"startIndex": 0,
"length": 10,
"epixirisiTin": "123456789",
"epixirisiDiakritikosTitlos": null,
"thirdPartyIdUpdated": null,
"kodikosDias": null,
"periodoiIds": "216,217",
"paymentStatementState": "1,2",
"elegxosState": "1,3"
}
Φίλτρα υποστηρίζουμε στα παρακάτω πεδία:
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
epixirisiTin |
string | ΑΦΜ επιχείρησης |
epixirisiDiakritikosTitlos |
string | Διακριτικός τίτλος |
thirdPartyIdUpdated |
string | "0" = δηλώσεις χωρίς ThirdPartyId, "1" = δηλώσεις με ThirdPartyId |
kodikosDias |
string | Κωδικός ΔΙΑΣ |
periodoiIds |
string | IDs περιόδων χωρισμένα με κόμμα (βλ. 4.1) |
paymentStatementState |
string | Καταστάσεις πληρωμής χωρισμένες με κόμμα (βλ. 4.2.3) |
elegxosState |
string | Καταστάσεις ελέγχου χωρισμένες με κόμμα (βλ. 4.2.1) |
Τα φίλτρα είναι προαιρετικά. Αν θέλετε να χρησιμοποιήσετε ένα από όλα μπορείτε απλά να παραλείψετε τα υπόλοιπα.
Στην κλήση GET api/StatementsThirdParty/GetStatement/{statementId} το statementId αντιπροσωπεύει το Id της δήλωσης.
Στην κλήση GET api/StatementsThirdParty/GetStatementByThirdPartyId/{thirdPartyId} το thirdPartyId αντιπροσωπεύει το ThirdPartyId της δήλωσης.
Το ThirdPartyId είναι το Id της οντότητας από την third party εφαρμογή με το οποίο συσχετίζουμε τη δήλωσή μας. Αν αλλάξει η κατάσταση της δήλωσης σε ολοκληρώθηκε, αποστέλλεται προς ενημέρωση το ThirdPartyId.
Στην κλήση PUT api/StatementsThirdParty/EditStatement το json πρέπει να είναι της μορφής
{
"id": 1,
"elegxosState": 3,
"aitiesAsimfonias": 1,
"commentsAdmin": "Σχόλια υπαλλήλου ΟΤΑ"
}
Η δήλωση μπορεί να επεξεργαστεί μόνο όσον αφορά την κατάσταση ελέγχου της (από "Προς Έλεγχο" σε "Ολοκληρώθηκε" ή "Ασυμφωνία"). Οι αιτίες ασυμφωνίας (aitiesAsimfonias 4.2.2) λαμβάνονται υπόψιν μόνο στην περίπτωση που η κατάσταση ελέγχου (elegxosState 4.2.1) είναι "Ασυμφωνία".
Στην κλήση PUT api/StatementsThirdParty/UpdateThirdPartyIdList το json πρέπει να είναι της μορφής
[
{ "id": 4, "thirdPartyId": "101011" },
{ "id": 7, "thirdPartyId": "753912c1-5016-488b-b672-c83818ee729d" }
]
Μέγιστο μέγεθος λίστας = 100. Η κλήση επιστρέφει όλα τα Ids τα οποία αντιστοιχήθηκαν με ThirdPartyIds επιτυχώς.
Στην κλήση GET api/StatementsThirdParty/DownloadDocument/{statementDocumentId} το statementDocumentId αντιπροσωπεύει το Id του αρχείου της δήλωσης. Η κάθε δήλωση περιλαμβάνει μία λίστα από σχετικά αρχεία (documents).
Στην κλήση POST api/AadeEisprakseisThirdParty/GetPagedByRequest το json πρέπει να είναι της μορφής
{
"startIndex": 0,
"length": 10,
"statementIds": "1257, 5789",
"etos": "2024",
"minas": "1",
"imerominiaArxeiouApo": null,
"imerominiaArxeiouEos": null,
"tautotitaOfeilis": null
}
Φίλτρα υποστηρίζουμε στα παρακάτω πεδία:
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
statementIds |
string | IDs δηλώσεων χωρισμένα με κόμμα |
etos |
string | Έτος |
minas |
string | Αύξων αριθμός μήνα (1-12) |
imerominiaArxeiouApo |
string | Ημερομηνία αρχείου ΑΑΔΕ από |
imerominiaArxeiouEos |
string | Ημερομηνία αρχείου ΑΑΔΕ έως |
tautotitaOfeilis |
string | Ταυτότητα οφειλής |
Επιστρέφονται μόνο οι εισπράξεις με thirdPartyId = null. Καλό είναι μετά την άντληση να γίνεται ενημέρωση των ThirdPartyIds (UpdateThirdPartyIdList) για τις εισπράξεις που αντλήθηκαν.
Στην κλήση PUT api/AadeEisprakseisThirdParty/UpdateThirdPartyIdList το json πρέπει να είναι της μορφής
[
{ "id": 10, "thirdPartyEispraksiId": "EIS-001" },
{ "id": 15, "thirdPartyEispraksiId": "EIS-002" }
]
Μέγιστο μέγεθος λίστας = 100. Η κλήση επιστρέφει όλα τα Ids τα οποία αντιστοιχήθηκαν επιτυχώς.
Στην κλήση POST api/ApofaseisThirdParty/GetPagedByRequest το json πρέπει να είναι της μορφής
{
"startIndex": 0,
"length": 10,
"municipalityTin": "123456789",
"perigrafi": null,
"start": "2024-01-01",
"end": "2024-12-31"
}
Τα φίλτρα είναι προαιρετικά.
Στην κλήση GET api/ApofaseisThirdParty/GetApofasi/{id} το id αντιπροσωπεύει το Id της απόφασης.
Στην κλήση GET api/ApofaseisThirdParty/DownloadDocument/{apofasiMunicipalityId}/{filename} κατεβάζετε το αρχείο που αντιστοιχεί στην απόφαση.
Στην κλήση POST api/ApofaseisPosostouThirdParty/GetPagedByRequest το json πρέπει να είναι της μορφής
{
"startIndex": 0,
"length": 10,
"municipalityTin": "123456789",
"perigrafi": null,
"start": "2024-01-01",
"end": "2024-12-31"
}
Τα φίλτρα είναι προαιρετικά.
Στην κλήση GET api/ApofaseisPosostouThirdParty/GetApofasi/{id} το id αντιπροσωπεύει το Id της απόφασης ποσοστού.
Στην κλήση GET api/ApofaseisPosostouThirdParty/DownloadDocument/{apofasiMunicipalityId}/{filename} κατεβάζετε το αρχείο που αντιστοιχεί στην απόφαση ποσοστού.
Στην κλήση /api/Helper/AitisiAadeStates παίρνετε τις καταστάσεις αιτήσεων ΑΑΔΕ.
Στην κλήση POST api/AitiseisAadeThirdParty/CreateWithModel το json πρέπει να είναι της μορφής
{
"dateCreated": "2024-01-15T10:00:00Z",
"etosAnazitisis": 2020,
"arithmosProtokollou": "123/2024",
"imerominiaProtokollou": "2024-01-15T10:00:00Z",
"perigrafi": "Αίτηση για το έτος 2020",
"sxolia": null,
"municipalityTin": "123456789",
"govHubUserName": "user@municipality.gr"
}
| Πεδίο | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
dateCreated |
date-time | Ναι | Ημερομηνία δημιουργίας |
etosAnazitisis |
integer | Ναι | Έτος αναζήτησης (2015-2021) |
arithmosProtokollou |
string | Όχι | Αριθμός πρωτοκόλλου |
imerominiaProtokollou |
date-time | Όχι | Ημερομηνία πρωτοκόλλου |
perigrafi |
string | Όχι | Περιγραφή |
sxolia |
string | Όχι | Σχόλια |
municipalityTin |
string | Όχι | ΑΦΜ Δήμου |
govHubUserName |
string | Όχι | Username στο GovHub (απαραίτητο για ταυτοποίηση) |
Επιτρεπτά έτη: 2015 (δεδομένα για Β' τρίμηνο και μετά) έως και 2021. Απαραίτητο το πεδίο govHubUserName του χρήστη στο GovHub για ταυτοποίηση ότι ανήκει στον οργανισμό που κάνει την αίτηση.
Στην κλήση POST api/AitiseisAadeThirdParty/UpdateWithModel το json πρέπει να είναι της μορφής
{
"id": 5,
"arithmosProtokollou": "456/2024",
"imerominiaProtokollou": "2024-02-01T10:00:00Z",
"etosAnazitisis": 2020,
"perigrafi": "Αίτηση τροποποιημένη",
"sxolia": null
}
| Πεδίο | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
id |
integer | Ναι | ID αίτησης |
arithmosProtokollou |
string | Ναι | Αριθμός πρωτοκόλλου |
imerominiaProtokollou |
date-time | Ναι | Ημερομηνία πρωτοκόλλου |
etosAnazitisis |
integer | Ναι | Έτος αναζήτησης |
perigrafi |
string | Όχι | Περιγραφή |
sxolia |
string | Όχι | Σχόλια |
Στην κλήση GET api/AitiseisAadeThirdParty/GetAitisiById/{id} το id αντιπροσωπεύει το ID της αίτησης.
Στην κλήση POST api/AitiseisAadeThirdParty/GetPagedByRequest το json πρέπει να είναι της μορφής
{
"startIndex": 0,
"length": 10,
"etosAnazitisis": "2020",
"imerominiaProtokollouapo": "2024-01-01",
"imerominiaProtokollouEos": "2024-12-31",
"replyImerominiaProtokollouApo": null,
"replyImerominiaProtokollouEos": null,
"aitisiAadeState": "1,2"
}
Επιστρέφονται μόνο οι αιτήσεις του εκάστοτε Δήμου. Στο πεδίο aitisiAadeState μπαίνουν οι καταστάσεις χωρισμένες με κόμμα (βλ. 5.2.1). Τα φίλτρα είναι προαιρετικά.
Στην κλήση GET api/AitiseisAadeThirdParty/GetYearsForSubmittedAitiseis μπορεί να χρησιμοποιηθεί ως προγενέστερος έλεγχος πριν γίνει μία αίτηση, ώστε να γίνονται αιτήσεις μόνο για τα έτη που υπολοίπονται.
Η κλήση επιστρέφει μια λίστα ετών, π.χ. [2015, 2016, 2017].
Στην κλήση POST api/AitiseisAadeThirdParty/GetApotelesmataAitisisPagedByRequest το json πρέπει να είναι της μορφής
{
"startIndex": 0,
"length": 100,
"aitisiId": 5,
"afm": null,
"eponimia": null,
"diakritikosTitlos": null,
"exeiPeriodikes": null
}
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
aitisiId |
integer | ID αίτησης |
afm |
string | Φίλτρο ΑΦΜ επιχείρησης |
eponimia |
string | Φίλτρο επωνυμίας |
diakritikosTitlos |
string | Φίλτρο διακριτικού τίτλου |
exeiPeriodikes |
string | Φίλτρο ύπαρξης περιοδικών δηλώσεων |
Η ΑΑΔΕ στέλνει για την κάθε αίτηση μία απάντηση με πληροφορίες για τις επιχειρήσεις, τα υποκαταστήματα, τους ΚΑΔ (έδρας και υποκαταστημάτων) και τις περιοδικές δηλώσεις. Μέγιστο πλήθος αποτελεσμάτων = 1000.
Στην κλήση GET api/AitiseisAadeThirdParty/GetAitisiEpixeiriseisDocument/{aitisiId} κατεβάζετε σε αρχείο Excel τις πληροφορίες επιχειρήσεων, υποκαταστημάτων, ΚΑΔ και περιοδικών δηλώσεων που αντιστοιχούν στην αίτηση.
AuthServerUrl = "https://auth.govhub.gr"
ClientId = "demo-client-govhub-dae"
ClientSecret = "επικοινωνήστε με email"