An Elixir library to easily pull company information from the RgWsPublic2
SOAP web service (new since 2023-04-20) of the Greek General Secretariat of Information Systems for Public Administration (GSIS) using the VAT ID (Αριθμός Φορολογικού Μητρώου, abbreviated as "ΑΦΜ" or "Α.Φ.Μ.").
Note: this project is a volunteer effort and not in any way affiliated with GSIS or the data service providers of the Greek Ministry of Finance.
The package is available in Hex and can be installed
by adding vatchex_greece
to your list of dependencies in mix.exs
.
def deps do
[
{:vatchex_greece, "~> 0.7.0"},
]
end
Use VatchexGreece.new/4
with the target VAT ID plus your GSIS SOAP web service username, password, and source VAT ID associated with your authentication username and password (it's a legal requirement). This defines a clean new %Results{}
struct containing the filled-in %Auth{}
struct and the prepared %GSISdata{}
struct. The %Results{}
struct and its contents will be progressively filled in by the function calls within VatchexGreece.get/1
.
- Now compatible with the
RgWsPublic2
SOAP web service (new since 2023-04-20). - Now possible to make SOAP API calls using different credentials in
%Auth{}
structs, e.g. for multi-tenant setups. - Now needs no application setup in
config.exs
ormix.exs
, thanks to getting rid of the Soap library due to parsing issues, and because it seems abandoned and not particularly robust to begin with. - XML parsing is now handled directly with SweetXml.
- Actual logging of errors in the
%Results{}
struct means you can find out what went wrong. - Actual handling of errors (with
{:ok, ...}
and{:error, ...}
tuples along the pipeline across all modules means that no API call or parsing of the XML response body is made unless no errors have popped up.
The docs can be found at https://hexdocs.pm/vatchex_greece.