Documentation ¶
Index ¶
Constants ¶
View Source
const (
// Endpoint is the url for WSDL service
Endpoint = "https://www1.gsis.gr/wsaade/RgWsPublic2/RgWsPublic2"
)
Variables ¶
View Source
var ( ErrCannotReachService = Error("δεν μπορέσαμε να συνδεθούμε με την υπηρεσία") ErrInvalidVAT = Error("λανθασμένη μορφή ΑΦΜ") ErrInvalidCredentials = Error("το username και το password δεν μπορεί να είναι μικρότερα από 6 χαρακτήρες") ErrGeneral = Error("Γενικό σφάλμα") )
View Source
var ServiceErrors = map[string]Error{ "RG_WS_PUBLIC_AFM_CALLED_BY_BLOCKED": Error("Ο χρήστης που καλεί την υπηρεσία έχει προσωρινά αποκλειστεί από τη χρήση της."), "RG_WS_PUBLIC_AFM_CALLED_BY_NOT_FOUND": Error("Ο Α.Φ.Μ. για τον οποίο γίνεται η κλήση δε βρέθηκε στους έγκυρους Α.Φ.Μ του Μητρώου TAXIS."), "RG_WS_PUBLIC_EPIT_NF": Error("O Α.Φ.Μ. για τον οποίο ζητούνται πληροφορίες δεν ανήκει και δεν ανήκε ποτέ σε νομικό πρόσωπο, νομική οντότητα, ή φυσικό πρόσωπο με εισόδημα από επιχειρηματική δραστηριότητα."), "RG_WS_PUBLIC_FAILURES_TOLERATED_EXCEEDED": Error("Υπέρβαση μέγιστου επιτρεπτού ορίου πρόσφατων αποτυχημένων κλήσεων. Προσπαθήστε εκ νέου σε μερικές ώρες."), "RG_WS_PUBLIC_MAX_DAILY_USERNAME_CALLS_EXCEEDED": Error("Υπέρβαση μέγιστου επιτρεπτού ορίου ημερήσιων κλήσεων ανά χρήστη (ανεξαρτήτως εξουσιοδοτήσεων)."), "RG_WS_PUBLIC_MONTHLY_LIMIT_EXCEEDED": Error("Υπέρβαση του Μέγιστου Επιτρεπτού Μηνιαίου Ορίου Κλήσεων."), "RG_WS_PUBLIC_MSG_TO_TAXISNET_ERROR": Error("Δημιουργήθηκε πρόβλημα κατά την ενημέρωση των εισερχόμενων μηνυμάτων στο MyTAXIS net."), "RG_WS_PUBLIC_NO_INPUT_PARAMETERS": Error("Δε δόθηκαν υποχρεωτικές παράμετροι εισόδου για την κλήση της υπηρεσίας."), "RG_WS_PUBLIC_SERVICE_NOT_ACTIVE": Error("Η υπηρεσία δεν είναι ενεργή."), "RG_WS_PUBLIC_TAXPAYER_NF": Error("O Α.Φ.Μ. για τον οποίο ζητούνται πληροφορίες δε βρέθηκε στους έγκυρους Α.Φ.Μ του Μητρώου TAXIS."), "RG_WS_PUBLIC_TOKEN_AFM_BLOCKED": Error("Ο χρήστης (ή ο εξουσιοδοτημένος τρίτος) που καλεί την υπηρεσία έχει προσωρινά αποκλειστεί από τη χρήση της."), "RG_WS_PUBLIC_TOKEN_AFM_NOT_AUTHORIZED": Error("Ο τρέχον χρήστης δεν έχει εξουσιοδοτηθεί από τον Α.Φ.Μ για χρήση της υπηρεσίας."), "RG_WS_PUBLIC_TOKEN_AFM_NOT_FOUND": Error("Ο Α.Φ.Μ. του τρέχοντος χρήστη δε βρέθηκε στους έγκυρους Α.Φ.Μ του Μητρώου TAXIS."), "RG_WS_PUBLIC_TOKEN_AFM_NOT_REGISTERED": Error("Ο τρέχον χρήστης δεν έχει εγγραφεί για χρήση της υπηρεσίας."), "RG_WS_PUBLIC_TOKEN_USERNAME_NOT_ACTIVE": Error("Ο κωδικός χρήστη (username) που χρησιμοποιήθηκε έχει ανακληθεί."), "RG_WS_PUBLIC_TOKEN_USERNAME_NOT_AUTHENTICATED": Error("Ο συνδυασμός χρήστη/κωδικού πρόσβασης που δόθηκε δεν είναι έγκυρος."), "RG_WS_PUBLIC_TOKEN_USERNAME_NOT_DEFINED": Error("Δεν ορίσθηκε ο χρήστης που καλεί την υπηρεσία."), "RG_WS_PUBLIC_TOKEN_USERNAME_TOO_LONG": Error("Διαπιστώθηκε υπέρβαση του μήκους του ονόματος του χρήστη (username) της υπηρεσίας"), "RG_WS_PUBLIC_WRONG_AFM": Error("O Α.Φ.Μ. για τον οποίο ζητούνται πληροφορίες δεν είναι έγκυρος."), }
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) GetVATInfo ¶
GetVATInfo associated with a VAT number accepts a called by VAT and a called for VAT, username and password returns AFMData or an error
type ErrorInfo ¶
type ErrorInfo struct { Code string `xml:"Code>Value" json:"code"` Message string `xml:"Reason>Text" json:"message"` }
ErrorInfo holds error info
type ErrorVATInfo ¶
type ErrorVATInfo struct { Code string `xml:"error_code" json:"code"` Message string `xml:"error_descr" json:"message"` }
ErrorVATInfo holds error info
type FirmActivity ¶
type FirmActivity struct { Code int `xml:"firm_act_code" json:"code"` // ΚΩΔΙΚΟΣ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ Description string `xml:"firm_act_descr" json:"description"` // ΠΕΡΙΓΡΑΦΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ Kind int `xml:"firm_act_kind" json:"kind"` // ΕΙΔΟΣ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ: 1=ΚΥΡΙΑ, 2=ΔΕΥΤΕΡΕΥΟΥΣΑ, 3=ΛΟΙΠΗ, 4=ΒΟΗΘΗΤΙΚΗ KindDescription string `xml:"firm_act_kind_descr" json:"kind_description"` // ΠΕΡΙΓΡΑΦΗ ΕΙΔΟΥΣ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ: ΚΥΡΙΑ, ΔΕΥΤΕΡΕΥΟΥΣΑ, ΛΟΙΠΗ, ΒΟΗΘΗΤΙΚΗ }
type VATCalledBy ¶
type VATCalledBy struct { TokenUsername string `xml:"token_username" json:"username"` TokenAFM string `xml:"token_afm" json:"vat"` TokenAFMFullName string `xml:"token_afm_fullname" json:"vat_fullname"` AFMCalledBy string `xml:"afm_called_by" json:"called_by"` AFMCalledByFullName string `xml:"afm_called_by_fullname" json:"vat_called_by_fullname"` AsOnDate string `xml:"as_on_date" json:"as_on_date"` }
VATCalledBy is the data relative who did the search.
type VATInfo ¶
type VATInfo struct { CallSeqID int `xml:"call_seq_id" json:"call_seq_id"` CalledBy VATCalledBy `xml:"afm_called_by_rec" json:"called_by"` Result VATResult `xml:"basic_rec" json:"result"` Activities []FirmActivity `xml:"firm_act_tab>item" json:"activities"` Error *ErrorVATInfo `xml:"error_rec" json:"error,omitempty"` }
func (*VATInfo) GetInvoiceData ¶
GetInvoiceData returns the data needed for an invoice
func (*VATInfo) GetMainActivity ¶
GetMainActivity returns the main activity of the entity
type VATResult ¶
type VATResult struct { AFM string `xml:"afm" json:"afm"` // ΑΦΜ DOY string `xml:"doy" json:"doy"` // ΚΩΔΙΚΟΣ ΔΟΥ DOYDescription string `xml:"doy_descr" json:"doy_description"` // ΠΕΡΙΓΡΑΦΗ ΔΟΥ InitialFlagDescription string `xml:"i_ni_flag_descr" json:"initial_flag_description"` // ΦΠ /ΜΗ ΦΠ DeactivationFlag string `xml:"deactivation_flag" json:"deactivation_flag"` // ΕΝΔΕΙΞΗ ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟΣ ΑΦΜ:1=ΕΝΕΡΓΟΣ ΑΦΜ 2=ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟΣ ΑΦΜ DeactivationFlagDescription string `xml:"deactivation_flag_desc" json:"deactivation_flag_description"` // ΕΝΔΕΙΞΗ ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟΣ ΑΦΜ(ΠΕΡΙΓΡΑΦΗ): ΕΝΕΡΓΟΣ ΑΦΜ ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟΣ ΑΦΜ FirmFlagDescription string `xml:"firm_flag_descr" json:"firm_flag_description"` // ΤΙΜΕΣ: ΕΠΙΤΗΔΕΥΜΑΤΙΑΣ, ΜΗ ΕΠΙΤΗΔΕΥΜΑΤΙΑΣ, ΠΡΩΗΝ ΕΠΙΤΗΔΕΥΜΑΤΙΑΣ Onomasia string `xml:"onomasia" json:"onomasia"` // ΕΠΩΝΥΜΙΑ CommercialTitle string `xml:"commer_title" json:"commercial_title"` // ΤΙΤΛΟΣ ΕΠΙΧΕΙΡΗΣΗΣ LegalStatusDescription string `xml:"legal_status_descr" json:"legal_status_descr"` // ΠΕΡΙΓΡΑΦΗ ΜΟΡΦΗΣ ΜΗ Φ.Π. PostalAddress string `xml:"postal_address" json:"postal_address"` // ΟΔΟΣ ΕΠΙΧΕΙΡΗΣΗΣ PostalAddressNo string `xml:"postal_address_no" json:"postal_address_no"` // ΑΡΙΘΜΟΣ ΕΠΙΧΕΙΡΗΣΗΣ PostalZipCode string `xml:"postal_zip_code" json:"postal_zip_code"` // ΤΑΧ. ΚΩΔ. ΕΠΙΧΕΙΡΗΣΗΣ PostalAreaDescription string `xml:"postal_area_description" json:"postal_area_description"` // ΠΕΡΙΟΧΗ ΕΠΙΧΕΙΡΗΣΗΣ RegistrationDate string `xml:"regist_date" json:"registration_date"` // ΗΜ/ΝΙΑ ΕΝΑΡΞΗΣ StopDate string `xml:"stop_date" json:"stop_date"` // ΗΜ/ΝΙΑ ΔΙΑΚΟΠΗΣ NormalVATSystemFlag string `xml:"normal_vat_system_flag" json:"normal_vat_system_flag"` }
VATResult is the data relative to an entity's VAT search
type XMLBody ¶
type XMLBody struct { VATInfo VATInfo `xml:"rgWsPublic2AfmMethodResponse>result>rg_ws_public2_result_rtType"` Version *string `xml:"rgWsPublic2VersionInfoResponse>result"` Error *ErrorInfo `xml:"Fault" json:"error,omitempty"` }
XMLBody is the body of a response
type XMLResponse ¶
XMLResponse is where we parse an http response
Click to show internal directories.
Click to hide internal directories.