API ΠΛΑΤΦΟΡΜΑ ΔΗΛΩΣΗΣ ΕΠΙ ΤΩΝ ΑΚΑΘΑΡΙΣΤΩΝ ΕΣΟΔΩΝ ΚΑΙ ΠΑΡΕΠΙΔΗΜΟΥΝΤΩΝ -- dae.govapp.gr

Η πλατφόρμα Δήλωσης επί των ακαθαρίστων εσόδων και παρεπιδημούντων ή αλλιώς ΔΑΕ, παρέχει api για σύνδεση με τρίτες εφαρμογές.

1 Πληροφορίες για το API

2 Οδηγίες Δημιουργίας Εφαρμογής στον auth.govhub.gr

Για να κάνουμε δημιουργία εφαρμογής στο GovHub, θα κάνουμε τα παρακάτω βήματα.

  1. Εισαγωγή στην ιστοσελίδα http://auth.govhub.gr με τους κωδικούς του διαχειριστή του φορέα.
  2. Δημιουργία εφαρμογής με δικαίωμα GovApp.AkatharistaEsoda.Basic.

3. Οδηγίες για την κλήση του API

Για να καλέσουμε τα 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).

4. Σύστημα Δηλώσεων

4.1 Helpers

Στην κλήση “/api/Helper/Periodoi” παίρνετε την λίστα των περιόδων, των οποίων το ID χρησιμοποιείται παρακάτω στα φίλτρα.

4.2 Καταστάσεις

4.2.1 Κατάσταση Ελέγχου Δήλωσης
  • Προς Έλεγχο = 1
  • Ασυμφωνία = 2
  • Ολοκληρωμένη = 3
3.2.2 Αιτίες Ασυμφωνίας
  • Ασυμφωνία Ποσών = 1
  • Ελλιπή Δικαιολογητικά = 2
  • Άλλο = 3
4.2.3 Κατάσταση Πληρωμής
  • Πληρωμένη = 2
  • Αρνητικό Ποσό = 3

4.3 Δηλώσεις Επιχειρήσεων

Στην κλήση “api/StatementsAdmin/GetStatementsPaged” το json πρέπει να είναι της μορφής

{
    "Start" : 0,
    "Length" : 10,
    "SearchColumns" : [
        //SearchColumnT
        {
            "ColumnName" : "EpixirisiTin",
            "Value" : "123456789"
        }
    ],
    "orders" : [
        {
            "columnName" : "EpixirisiTin", //column name
            "dir" : "asc"  // asc ή desc
        }
    ]
}

Φίλτρα υποστηρίζουμε στα παρακάτω πεδία

  • EpixirisiTin
  • EpixirisiDiakritikosTitlos
  • PeriodosId (το ID της περιόδου που αναφέρεται στο 4.1)
  • PaymentStatementState (δείτε 4.2.3)
  • EtosPeriodou (π.χ. 2020)
  • PeriodikiDilosiApo
  • PeriodikiDilosiEos
  • ElegxosState
  • ThirdPartyIdUpdated (value : “0” επιστρέφει όσες δηλώσεις δεν έχουν δηλωμένο ThirdPartyId, “1” όσες έχουν)

Στην κλήση “api/StatementsAdmin/GetStatementByPeriodosData” το json πρέπει να είναι της μορφής

{
  "epixeirisiAfm": "123456789",
  "etosPeriodou": 2021,
  "minasPeriodou": 1,
  "diakreiaPeriodou": 3
}

Το φίλτρο θα κάνει αντιστοίχιση με τις περιόδους που αναφέρονται στο 4.1

Στην κλήση “api​/StatementsAdmin​/GetStatement​/{statementId}” το statementId αντιπροσωπεύει το Id της δήλωσης.

Στην κλήση “api/StatementsAdmin/GetStatementByThirdPartyId/{thirdPartyId}” το thirdPartyId αντιπροσωπεύει το ThirdPartyId της δήλωσης.

Στην κλήση “api/StatementsAdmin/EditStatement” το json πρέπει να είναι της μορφής

{
  "id": 1,
  "elegxosState": 3,
  "aitiesAsimfonias": 1,
  "commentsAdmin": "Σχόλια υπαλλήλου ΟΤΑ"
}

Οι αιτίες ασυμφωνίας (aitiesAsimfonias 4.2.2) λαμβάνονται υπόψιν μόνο στην περίπτωση που η κατάσταση ελέγχου (elegxosState 4.2.1) είναι “Σε ασυμφωνία”.

Στην κλήση “api/StatementsAdmin/UpdateThirdPartyIdList” το json πρέπει να είναι της μορφής

[
  {
    "id": 4,
    "thirdPartyId": "101011"
  },
  {
    "id": 7,
    "thirdPartyId": "753912c1-5016-488b-b672-c83818ee729d"
  }
]

Η κλήση επιστρέφει όλα τα Ids τα οποία αντιστοιχήθηκαν με ThirdPartyIds επιτυχώς.

Στην κλήση “api/StatementsAdmin/DownloadDocument/{statementDocumentId}” το statementDocumentId αντιπροσωπεύει το Id της δήλωσης.

5. Σύστημα Αιτήσεων

5.1 Helpers

Στην κλήση “/api/AitiseisAadeAdmin/GetKatigoriesEpixeirisisGiaDimo” παίρνετε την λίστα των κατηγοριών των επιχειρήσεων, των οποίων το ID χρησιμοποιείται στον χαρακτηρισμό της κάθε επιχείρησης, στην απάντηση της αίτησης.

5.2 Καταστάσεις

5.2.1 Κατάσταση Αίτησης
  • Υποβλήθηκε = 1 [Αρχική κατάσταση όταν ο υπάλληλος ΟΤΑ καταθέτει το αίτημά του]
  • Αναμονή Απάντησης = 2 [Κατάσταση που μεταβαίνει η αίτηση όταν γίνει επιβεβαίωση παραλαβής από την ΚΕΔΕ]
  • Ολοκληρώθηκε = 3 [Όταν έχει επιστραφεί απάντηση στον αντίστοιχο Δήμο]
5.2.1 Είδη Αίτησης
  • Άντληση Στοιχείων = 1

5.3 Δηλώσεις Επιχειρήσεων

Στην κλήση GET “/api/AitiseisAadeAdmin/GetAitisiById/{id}” το ID αντιπροσωπεύει το ID της αίτησης.

Στην κλήση GET “​/api​/AitiseisAadeAdmin​/GetAitiseisList” επιστρέφεται η λίστα όλων των αιτήσεων που βρίσκονται σε κατάσταση 1 (Υποβλήθηκε).

Στην κλήση GET “​/api​/AitiseisAadeAdmin​/ResetAitiseisListForDemo” γίνεται επαναφορά της λίστας των αιτήσεων στην αρχική τους μορφή μηδενίζοντας τα στοιχεία απάντησης (ημερομηνία και πρωτόκολλο) και επαναφέροντας όλες τις αιτήσεις σε κατάσταση 1 (Υποβλήθηκε).

Στην κλήση POST “/api/AitiseisAadeAdmin/GetAitiseisList” το json πρέπει να είναι της μορφής

{
  "municipalityTin": "123456789",
  "start": "2022-01-01T14:38:41.579Z",
  "end": "2022-01-05T13:38:41.579Z"
}

Τα φίλτρα είναι προορατικά. Αν θέλετε να χρησιμοποιήσετε ένα από όλα μπορείτε απλά να παραλείψετε τα υπόλοιπα όπως παρακάτω

{
  "start": "2022-01-01T14:38:41.579Z"
}

Στην κλήση POST “/api/AitiseisAadeAdmin/ConfirmationOfReceipt” το json πρέπει να είναι της μορφής

{
  "listaAitisewn": [
    {
      "id": 3,
      "replyArithmosProtokollou": "25/2021",
      "replyImerominiaProtokollou": "2021-12-17T09:07:48.631Z"
    }
  ]
}

Η κλήση αυτή ενημερώνει το σύστημα ότι έχει γίνει παραλαβή των αιτήσεων που βρίσκονται στην λίστα και τις μεταβάλλει αυτόματα σε κατάσταση 2 (Αναμονή Απάντησης).

Στην κλήση POST “/api/AitiseisAadeAdmin/AitisiResponse” το json πρέπει να είναι της μορφής

{
	"aitisiId": "1",
	"responseSchemaVersion": "1.0",
	"epixiriseis": [
		{
			"afm": "string",
			"doyKodikos": "string",
			"doyPerigrafi": "string",
			"katigoriaEpixeirisisGiaDimo": 1,
			"typosEpitideumatia": "string",
			"imerominiaEnarxis": "2022-01-07T10:26:44.207Z",
			"imerominiaLixis": "2022-01-07T10:26:44.207Z",
			"diakritikosTitlos": "string",
			"nomikiMorfiKodikos": 0,
			"nomikiMorfiPerigrafi": "string",
			"legalPurposePerigrafi": "string",
			"vivliaKodikos": 0,
			"vivliaPerigrafi": "string",
			"address": "string",
			"addressNo": "string",
			"zipCode": "string",
			"perioxi": "string",
			"tilefono": "string",
			"ypokatastimata": [
				{
					"startDate": "2022-01-07T10:26:44.207Z",
					"endDate": "2022-01-07T10:26:44.207Z",
					"aa": "string",
					"address": "string",
					"addressNo": "string",
					"zipCode": "string",
					"perioxi": "string",
					"kad": [
						{
							"kodikos": 0,
							"perigrafi": "string",
							"eidosDrastiriotitas": "string",
							"eidosDrastiriotitasPerigrafi": "string",
							"startDate": "2022-01-07T10:26:44.207Z",
							"endDate": "2022-01-07T10:26:44.207Z"
						}
					]
				}
			],
			"kad": [
				{
					"kodikos": 0,
					"perigrafi": "string",
					"eidosDrastiriotitas": "string",
					"eidosDrastiriotitasPerigrafi": "string",
					"startDate": "2022-01-07T10:26:44.207Z",
					"endDate": "2022-01-07T10:26:44.207Z"
				}
			],
			"periodikesDiloseis": [
					{
					  "poso": 0,
					  "imerominiaYpovolis": "2022-01-10T13:29:55.432Z",
					  "periodikiDilosiApo": "2022-01-10T13:29:55.432Z",
					  "periodikiDilosiEos": "2022-01-10T13:29:55.432Z",
					  "periodikiDilosiEidos": 0
					}
		    ]
		}
	]
}

Στο πεδίο katigoriaEpixeirisisGiaDimo της κάθε επιχείρησης χρησιμοποιήστε την κατηγορία όπως φαίνεται στο παράρτημα 5.1 .

6. Δοκιμαστικά Δεδομένα

AuthServerUrl = "https://auth.govhub.gr"
ClientId = "demo-client-govhub-dae"
ClientSecret = "επικοινωνήστε με email"