Anunţă-mă când se modifică Fişă act Comentarii (0) Trimite unui prieten Tipareste act

ORDIN Nr

ORDIN   Nr. 173 din 19 ianuarie 2011

pentru aprobarea Normelor tehnice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizand cardul bancar

ACT EMIS DE: MINISTERUL COMUNICATIILOR SI SOCIETATII INFORMATIONALE

ACT PUBLICAT IN: MONITORUL OFICIAL  NR. 75 din 28 ianuarie 2011



In temeiul dispozitiilor art. 6 alin. (6) din Hotarârea Guvernului nr. 12/2009 privind organizarea si functionarea Ministerului Comunicatiilor si Societatii Informationale, cu modificarile si completarile ulterioare, si ale art. 5 alin. (2), art. 6 si 11 din Hotarârea Guvernului nr. 1.235/2010 privind aprobarea realizarii Sistemului national electronic de plata online a taxelor si impozitelor utilizând cârdul bancar,

ministrul comunicatiilor si societatii informationale emite prezentul ordin.

Art. 1. - Se aproba Normele tehnice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cârdul bancar, prevazute în anexa care face parte integranta din prezentul ordin.

Art. 2. - Centrul National de Management pentru Societatea Informationala se desemneaza ca operator al Sistemului national electronic de plata online a taxelor si impozitelor utilizând cardul bancar.

Art. 3. - Prezentul ordin se publica în Monitorul Oficial al României, Partea I.

Ministrul comunicatiilor si societatii informationale,

Valerian Vreme

ANEXA

NORME TEHNICE

privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar

CAPITOLUL I

Dispozitii generale

Art. 1. - Prezentele norme stabilesc cadrul tehnic corespunzator implementarii si operarii Sistemului national electronic de plata oniine a taxelor si impozitelor utilizând cardul bancar.

Art. 2. - (1) In sensul prezentului ordin, abrevierile utilizate au urmatoarele semnificatii:

a) HTTPS- protocol de comunicare securizata prin internet;

b) SNEP - Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar.

(2) In sensul prezentului ordin, urmatorii termeni se definesc dupa cum urmeaza:

a) utilizator- institutie publica beneficiara, institutie publica prestatoare, persoana fizica sau persoana fizica autorizata care are obligatii de plata, institutie de credit si institutie de credit acceptatoare, având CNP/NIF sau CIF/CUI valid;

b) pagina web - document electronic, accesibil prin internet;

c) navigator internet - program pentru calculator care permite vizualizarea paginilor web;

d) operator SNEP - Centrul National de Management pentru Societatea Informationala (CNMSI);

e) contribuabil - persoana fizica sau persoana fizica autorizata care efectueaza plata online a taxelor si impozitelor utilizând cardul bancar prin intermediul SNEP;

f) institutii publice beneficiare - institutii publice care desfasoara activitati de încasare oniine a taxelor si impozitelor utilizând cardul bancar prin intermediul SNEP.

Art. 3. - Decuplarea utilizatorului de la SNEP se face automat la închiderea navigatorului internet.

CAPITOLUL II

Proceduri de securitate si asigurarea disponibilitatii

Art. 4. - Operatorul SNEP are obligatia de a defini si a implementa, pâna la darea în productie a sistemului, proceduri si mecanisme necesare pentru asigurarea securitatii si disponibilitatii sistemului, la nivelul tuturor componentelor acestuia, astfel încât SNEP sa functioneze la parametrii stabiliti prin pct. 4.1 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95.

Art. 5. - Operatorul SNEP are obligatia de a implementa proceduri în domeniul cybersecurity care sa asigure protectia SNEP, a utilizatorilor si a datelor acestora. Procedurile vor viza aspecte precum: colectarea si analiza logurilor, protectia împotriva tipurilor de atacuri informatice cunoscute, testarea periodica pentru identificarea posibilelor brese de securitate.

Art. 6. - Operatorul SNEP va implementa proceduri si mecanisme pentru a asigura în implementarea si operarea SNEP respectarea prevederilor Legii nr. 677/2001 pentru protectia persoanelor cu privire la prelucrarea datelor cu caracter personal si libera circulatie a acestor date, cu modificarile si completarile ulterioare.

Art. 7. - Administratorii SNEP, angajati ai operatorului SNEP, se vor autentifica cu certificat electronic pe statiile de administrare a SNEP.

Art. 8. - Operatorul SNEP va monitoriza functionarea componentelor SNEP, inclusiv a liniilor de comunicatii. In cazul functionarii necorespunzatoare a componentelor monitorizate ale SNEP, operatorul SNEP va proceda conform procedurilor interne.

CAPITOLUL III

 Standardul de interfatare si interconectare

Art. 9. - Institutiile publice beneficiare înregistrate vor implementa conectorii corespunzatori pentru realizarea comunicatiei între aplicatia proprie de gestiune a contribuabililor si debitelor acestora si SNEP utilizând protocolul HTTPS, fara a fi însa obligatorie utilizarea unui certificat de server calificat.

Art. 10. - Standardul de interfatare si interconectare pentru comunicarea obligatiilor de plata constituite de institutiile publice beneficiare care detin un sistem de gestiune a obligatiilor bugetare, precum si descrierea acestuia sunt puse la dispozitie de Ministerul Comunicatiilor si Societatii Informationale cu titlu gratuit, conform anexei nr. 1.

Art. 11. - Standardul de interfatare si interconectare pentru actualizarea în SNEP a informatiilor privind contribuabilii, precum si a registrului tipurilor de taxe pentru institutiile publice beneficiare care detin un sistem de gestiune a obligatiilor bugetare, precum si descrierea acestuia sunt puse la dispozitie de Ministerul Comunicatiilor si Societatii Informationale cu titlu gratuit, conform anexei nr. 2.

Art. 12. - Formatul electronic standardizat al fisierelor transmise operatorului SNEP de catre institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare pentru înregistrarea si actualizarea în SNEP a informatiilor privind contribuabilii, precum si descrierea acestuia sunt puse la dispozitie de Ministerul Comunicatiilor si Societatii Informationale cu titlu gratuit, conform anexei nr. 3.

Art. 13. - Standardul de interfatare si interconectare între SNEP si aplicatia informatica dezvoltata de Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala, conform pct. 3.2.2.2 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95, pentru comunicarea obligatiilor de plata constituite de institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare, precum si descrierea acestuia sunt puse la dispozitie de Ministerul Comunicatiilor si Societatii Informationale cu titlu gratuit, conform anexei nr. 4.

Art. 14. - Formatul electronic standardizat al fisierelor transmise Ministerului Finantelor Publice -Agentia Nationala de Administrare Fiscala de catre institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare pentru actualizarea informatiilor privind obligatiile de plata, precum si descrierea acestuia sunt puse la dispozitie de Ministerul Comunicatiilor si Societatii Informationale cu titlu gratuit, conform anexei nr. 5.

Art. 15. - Numele fisierelor transmise prin SNEP vor respecta urmatorul format:

ldemitent_lddestinatar_data_numarordine_tipfisier_nrfisier.extensie, cu urmatoarele clarificari, cu respectarea definitiilor prevazute la pct. 1.4 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95:

a) pentru fisierele prevazute la pct. 3.5.3 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95:

Idemitent: "SNEP"

Iddestinatar: [BIC al institutiei de credit acceptatoare] data: [data calendaristica, în format aaaallzz] numarordine [generat automat de catre SNEP] tipfisier: "TA", unde TA reprezinta tranzactii autorizate nrfisier: [generat automat de catre SNEP, ca numar al fisierului]

extensie: [se stabileste de catre operatorul SNEP în functie de tipul continutului];

b) pentru fisierele prevazute la pct. 3.5.8 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95:

Idemitent: [BIC al institutiei de credit acceptatoare]

Iddestinatar: "SNEP"

data: [data calendaristica, în format aaaallzz]

numarordine [generat de catre institutia de credit acceptatoare]

tipfisier: "TD", unde TD reprezinta tranzactii decontate

nrfisier: [generat de catre institutia de credit acceptatoare, ca numar al fisierului]

extensie: [se stabileste de catre operatorul SNEP în functie de tipul continutului];

c) pentru fisierele prevazute la pct. 3.6.2 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95:

Idemitent: "SNEP"

Iddestinatar: [CIF al institutiei publice beneficiare]

data: [data calendaristica, în format aaaallzz]

numarordine [generat automat de catre SNEP]

tipfisier: "TASP", unde TASP reprezinta tranzactii autorizate de SNEP catre institutia publica beneficiara

nrfisier: [generat automat de catre SNEP, ca numar al fisierului]

extensie: [se stabileste de catre operatorul SNEP în functie de tipul continutului];

d) pentru fisierele prevazute la pct. 3.7.3 din Normele metodologice privind Sistemul national electronic de plata online a taxelor si impozitelor utilizând cardul bancar, aprobate prin Ordinul ministrului comunicatiilor si societatii informationale, al ministrului administratiei si internelor si al ministrului finantelor publice nr. 168/14/95:

Idemitent: [CIF al institutiei publice beneficiare]

Iddestinatar: [BIC al institutiei de credit acceptatoare]

data: [data calendaristica, în format aaaallzz]

numarordine [generat de catre institutia publica beneficiara]

tipfisier: "TR", unde TR reprezinta tranzactii restituite

nrfisier: [generat automat de catre institutia publica beneficiara, ca numar al fisierului]

extensie: [se stabileste de catre institutia publica beneficiara].

Art. 16. - Fisierele transmise prin SNEP privitoare la tranzactii vor contine numai tranzactii aferente unei singure zile.

Art. 17. -Anexele 1-5 fac parte integranta din prezentele norme tehnice.

ANEXA Nr. 1

la normele tehnice

1.1. Standardul de interfata re si interconectare pentru comunicarea obligatiilor de plata constituite de institutiile publice beneficiare care detin un sistem de gestiune a obligatiilor bugetare

<?xml version="1.0"?>

<definitions xmlns="http://schemas.xmlsoap. org/wsdl/"xmlns: tns="Aici va aparea namespace-ul aplicatiei dezvoltate de institutia care furnizeaza web service-ul, de ex.:

https://www.domeniu_institutie_publica.ro/ghiseu_institutie_publica/ghiseu/server.php"

xmlns: soap="http://schemas.xmlsoap. org/wsdl/soap/"

xmlns:xsd="http://www. w3.org/2001/XMLSchema" xmlns: soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns: wsdl="http://schemas.xmlsoap.org/wsdl/"

name="lnformatiiPlataZF" targetNamespace="Aici va aparea namespace-ul aplicatiei dezvoltate de institutia care furnizeaza web service-ul, de ex.:

https://www.domeniu_institutie_publica.ro/ghiseu_institutie_publica/ghiseu/server.php">

<types>

<xsd:schema targetNamespace="Aici va aparea namespace-ul aplicatiei dezvoltate de institutia care furnizeaza web service-ul, de ex.:

https://www.domeniu_institutie_publica.ro/ghiseu_institutie_publica/ghiseu/server.php">

<xsd:element name="getSumeDePlataPePersoana">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="cui" type="xsd:string"/>

<xsd:element name="timestamp" type="xsd:string"/>

<xsd:element name="check" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfString">

<xsd:sequence>

<xsd:element name="item" type="xsd:string" minOccurs="O" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="LinieDetaliiSume">

<xsd:all>

<xsd:element name="linie" type="tns: ArrayOfString"/>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfLiniedetaliisume">

<xsd:sequence>

<xsd:element name="item" type="tns: LinieDetaliiSume" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TipSuma">

<xsd:all>

<xsd:element name="idTipSuma" type="xsd:int"/>

<xsd:element name="valoare" type="xsd:float"/>

<xsd:element name="prioritate" type="xsd:int"/>

<xsd:element name="detaliiHeader" type="tns: ArrayOfString"/>

<xsd:element name="detaliiBody" type="tns: ArrayOfLiniedetaliisume"/>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfTipsuma">

<xsd:sequence>

<xsd:element name="item" type="tns: TipSuma" minOccurs= "0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="ListaTipuriSume">

<xsd:all>

<xsd:element name="sume" type="tns: ArrayOfTipsuma"/>

<xsd:element name="dataCalcul" type="xsd:string"/>

<xsd:element name="timestamp" type="xsd:string"/>

<xsd:element name="check" type="xsd:string"/>

</xsd:all>

</xsd:complexType>

<xsd:element name="getSumeDePlataPePersoanaResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getSumeDePlataPePersoanaResult" type="tns: ListaTipuriSume"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="Sumalncasata">

<xsd:all>

<xsd:element name="idTipSuma" type="xsd:int"/>

<xsd:element name="valoare" type="xsd:float"/>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfSumaincasata">

<xsd:sequence>

<xsd:element name="item" type="tns:Sumalncasata" minOccurs="0" maxOccurs="unbounded”>

</xsd:sequence>

</xsd:complexType>

<xsd:element name="inregistrarelncasari">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="order" type="xsd:int"/>

<xsd:element name ="cui" type="xsd:string"/>

<xsd:element name="sume" type="tns:ArrayOfSumaincasata"/>

<xsd:element name="data" type="xsd:string"/>

<xsd:element name="timestamp" type="xsd:string"/>

<xsd:element name="check" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="inregistrarelncasariResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="inregistrarelncasariResult" type="xsd:boolean"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

</types>

<portType name="InformatiiPlataZFPort">

<operation name="getSumeDePlataPePersoana">

<documentation>Metoda care returneaza sumele de plata cu detaliile acestora pentru un CUI dat</documentation>

<input message="tns:getSumeDePlataPePersoanaln”>

<output message="tns:getSumeDePlataPePersoanaOut”>

</operation>

<operation name="inregistrarelncasari">

<documentation>Metoda care primeste sumele si tipurile pentru care s-a facut plata pe un CUI</documentation>

<input message="tns:inregistrarelncasariln"/>

<output message="tns:inregistrarelncasariOut" />

</operation>

</portType>

<binding name="InformatiiPlataZFBinding" type="tns:InformatiiPlataZFPort">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http”>

<operation name="getSumeDePlataPePersoana">

<soap:operation soapAction="Aici va aparea url-ul metodei getSumeDePlataPePersoana, de ex.:

https://www.domeniu_institutie_publica.ro/ghiseu_institutie_publica/ghiseu/server.php

#getSumeDePlataPePersoana"/>

<input>

<soap:body use="literal”>

</input>

<output>

<soap:body use="literal”>

</output>

</operation>

<operation name="inregistrarelncasari">

<soap:operation soapAction="Aici va aparea url-ul metodei inregistrarelncasari, de ex.:

https://www.domeniu_institutie_publica.rO/ghiseu_institutie_publica/ghiseu/server.php#inregistrarelncasari"/>

<input>

<soap:body use="literal”>

</input>

<output>

<soap:body use="literal”>

</output>

</operation>

</binding>

<service name="InformatiiPlataZFService">

<port name="InformatiiPlataZFPort" binding="tns:lnformatiiPlataZFBinding">

<soap:address location="Aici va aparea url-ul aplicatiei dezvoltate de institutia care furnizeaza web service-ul, de ex.:

https://www.domeniu_institutie_publica.ro/ghiseu_institutie_publica/ghiseu/server.php"/>

</port>

</service>

<message name="getSumeDePlataPePersoanaln">

<part name="parameters" element="tns:getSumeDePlataPePersoana”>

</message>

<message name="getSumeDePlataPePersoanaOut">

<part name="parameters" element="tns:getSumeDePlataPePersoanaResponse”>

</message>

<message name="inregistrarelncasariln">

<part name="parameters" element="tns:inregistrarelncasari">

</message>

<message name="inregistrarelncasariOut">

<part name="parameters" element="tns:inregistrarelncasariResponse”>

</message>

</definitions>

1.2. Descrierea standardului de interfatare si interconectare pentru comunicarea obligatiilor de plata constituite de institutiile publice beneficiare care detin un sistem de gestiune a obligatiilor bugetare

Servicii web client

Reguli generale

Datele string se vor trimite codate în format UTF8.

Checksumul (suma de control) din fiecare mesaj se va compune pe valorile codate UTF8.

Requesturile SOAP trebuie sa fie valide din punct de vedere XML.

Web-service - debite/sume cu detalii

Cerere:

Denumire: getSumeDePlataPePersoana

Descriere: Cererea este trimisa de ghiseul.ro catre web-service-ul institutiei, care va raspunde cu date despre persoana corespunzatoare CUI-ului trimis.

Parametri:

<xsd:element name="getSumeDePlataPePersoana"> <xsd:complexType> <xsd:sequence>

<xsd:element name="cui" type="xsd:string”>

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="check" type="xsd:string"/>

</xsd:sequence> </xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

CUI - CNP/NIF sau CIF/CUI (pentru persoane fizice autorizate)

timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083837), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 38)

check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare; - se aplica algoritmul pe valoarea CUI-ului.

Raspuns:

Denumire: getSumeDePlataPePersoanaResponse

Descriere: Este raspunsul web-service-ului server al institutiei la cererea adresata de web-service-ul client de pe ghiseul.ro. Raspunsul contine o lista cu sume de platit de catre persoana al carei CUI este trimis prin mesajul getSumeDePlataPePersoana. Sumele sunt grupate pe tipuri de sume; tipurile de sume pot fi prioritizate.

Parametri:

<xsd:element name="getSumeDePlataPePersoanaResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getSumeDePlataPePersoanaResult" type="tns:ListaTipuriSume"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ListaTipuriSume">

<xsd:all>

<xsd:element name="sume" type="tns:Array0fTipsuma"/>

<xsd:element name="dataCalcul" type="xsd:string"/>

<xsd:element name="timestamp" type="xsd:string"/>

<xsd:element name="check" type="xsd:string"/>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfTipsuma">

<xsd:sequence>

<xsd:element name="item" type="tns:TipSuma" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TipSuma">

<xsd:all>

<xsd:element name="idTipSuma" type="xsd:int"/>

<xsd:element name="valoare" type="xsd:float"/>

<xsd:element name="prioritate" type="xsd:int"/>

<xsd:element name="detaliiHeader" type="tns:ArrayOfString"/>

<xsd:element name="detaliiBody" type="tns:ArrayOfLiniedetaliisume"/>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfLiniedetaliisume">

<xsd:sequence>

<xsd:element name="item" type="tns:LinieDetaliiSume" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="LinieDetaliiSume">

<xsd:all>

<xsd:element name="linie" type="tns:Array0fString”>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfString">

<xsd:sequence>

<xsd:element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

Explicatiile parametrilor:

sume - un array cu sumele de platit grupate pe tipuri de sume

idTipSuma - codul tipului de suma

valoare - suma datorata pentru tipul de suma idTipSuma de forma întreg.douazecimale (ex.: 57.32)

prioritate - prioritatea în care trebuie sa se plateasca suma; tipurile de suma pot sa fie prioritizate sau nu; fiecare tip de suma care se doreste a fi prioritizata va avea un numar de prioritizare unic obligatoriu pozitiv;

prioritate = 1 este cel mai prioritar tip de suma, apoi cel cu prioritate = 2 etc;

restul tipurilor de suma care nu se doresc a fi prioritizate vor avea prioritate = 0 si vor putea sa fie platite numai dupa ce sunt platite sumele pe tipurile de suma cu prioritate.

detaliiHeader - un array de stringuri (ex.: Proprietate Debit Ramasita Majorari Penalitati)

detaliiBody - un array de obiecte LinieDetaliiSume; contine detaliile de plata corespunzator tipului de suma idTipSuma

LinieDetaliiSume - un array de stringuri (ex.: denumire, suma debit, suma ramasita, suma majorare, suma penalitate); acestea vor aparea utilizatorilor în format tabelar.

dataCalcul - data la care s-a calculat valoarea obligatiilor de plata, în format aaaallzz, unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15)

timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083837), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 38) check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor: idTipSuma, valoare, apoi pe rând valorile din detaliiHeader luate în ordinea din array, apoi valorile din detaliiBody.

observatie: detaliiHeader si detaliiBody trebuie sa contina acelasi numar de câmpuri.

Web-service - înregistrare plati acceptate

Cerere:

Denumire: inregistrarelncasari

Descriere: Web-service-ul client de pe ghiseul.ro trimite un mesaj spre web-service-ul server de la institutie cu detalii despre încasarea acceptata de procesatorul de plati electronice. Mesajul contine numarul platii, data platii si sumele totale pe tipuri de sume platite de persoana respectiva.

Parametri:

<xsd:element name="inregistrarelncasari">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="order" type="xsd:int" />

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="sume" type="tns:ArrayOfSumaincasata" />

<xsd:element name="data" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complextype>

</xsd:element>

<xsd:complexType name="ArrayOfSumaincasata">

<xsd:sequence>

<xsd:element name="item" type="tns:Sumalncasata" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="Sumalncasata">

<xsd:all>

<xsd:element name="idTipSuma" type="xsd:int" />

<xsd:element name="valoare" type="xsd:float" />

</xsd:all> </xsd:complexType>

Explicatiile parametrilor:

order - numarul încasarii

cui - CNP/NIF sau CIF/CUI (pentru persoane fizice autorizate)

data - data platii de forma aaaa-ll-zz oo:mm:ss (ex.: 2010-09-15 08:38:12)

sume - array de obiecte Sumalncasata; lista cu sumele platite pe tipuri de sume Sumalncasata contine câmpurile: idTipSuma - codul tipului de suma

valoare - totalul platit pe tipul de suma idTipSuma de forma întreg.douazecimale (ex.: 1234.50) timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12) check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor: order, cui, data, apoi pe rând valorile din arrayul cu sume.

Raspuns:

Denumire: inregistrarelncasariResponse

Descriere: Web-service-ul server al institutiei raspunde web-service-ului client de la ghiseul.ro. Va raspunde cu 1 daca a reusit sa faca descarcarea platii în sistemul local ai institutiei. Altfel va raspunde cu 0.

Parametri:

<xsd:element name="inregistrarelncasariResponse">

<xsd:complexType> <xsd:sequence>

<xsd:element name="inregistrarelncasariResult" type="xsd:boolean" />

</xsd:sequence>

</xsd:complextype>

</xsd:element>

Explicatiile parametrilor:

inregistfarelncasariResult - este 1 daca s-a înregistrat încasarea cu succes, 0 daca înregistrarea nu s-a putut efectua.

Tratarea erorilor (Soap Fault) pentru ambele servicii

Se va trimite Soap Fault cu <faultcode> 1, 2 sau 3 în urmatoarele cazuri specifice:

1 -în cazul în care nu s-a verificat integritatea mesajului;

2 - în cazul în care CUI-ul nu este valid sau nu exista în baza de date;

3 - s-a produs o eroare si serviciul este indisponibil.

EXEMPLU DE SOAP FAULT:

Response de la:

<?xml version="1.0" encoding="UTF-8"?>

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">

<env:Body>

<env:Fault>

<env:Code>

<env:Value>1</env:Value>

</env:Code>

<env:Reason>

<env:Text>Mesaj invalid</env:Text>

 </env:Reason>

</env:Fault>

</env:Body>

</env:Envelope>

ANEXA Nr. 2

la normele tehnice

2.1. Standardul de interfatare si interconectare pentru actualizarea în SNEP a informatiilor privind contribuabilii, precum si a registrului tipurilor de taxe pentru institutiile publice beneficiare care detin un sistem de gestiune a obligatiilor bugetare

<?xml version="1.0"?>

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:tns="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer"

xmlns:soap="http://schemas.xm lsoap.org/wsdl/soap/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

name="Transfer"

targetNamespace="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer">

<types>

<xsd:schema targetNamespace="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer">

<xsd:element name="connectionTest">

<xsd:complexType />

</xsd:element>

<xsd:element name="connectionTestResponse">

<xsd:complexType> <xsd:sequence> <xsd:element name="connectionTestResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="PersoanaTransfer">

<xsd:all>

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="adresa" type="xsd:string" />

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

</xsd:all> </xsd:complexType>

<xsd:complexType name="ArrayOfPersoanatransfer">

<xsd:sequence> <xsd:element name="item" type="tns:PersoanaTransfer" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:element name="transferPersoane">

<xsd:complexType> <xsd:sequence>

<xsd:element name="idClient" type="xsd:float"/>

<xsd:element name="userClient" type= "xsd:string" />

<xsd:element name="date"type="tns:ArrayOfPersoanatransfer"/>

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string"/>

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd: boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="transferPersoaneResponse">

<xsd:complexType> <xsd:sequence>

<xsd:element name="transferPersoaneResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element> <xsd:complexType name="FirmaTransfer">

<xsd:all>

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="adresa" type="xsd:string" />

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfFirmatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:FirmaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:element name="transferFirme">

<xsd:complexType> <xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfFirmatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="transferFirmeResponse">

<xsd:complexType> <xsd:sequence>

<xsd:element name="transferFirmeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element> <xsd:complexType name="TipSumaTransfer">

<xsd:all>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="idNomUnic" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="iban" type="xsd:string" />

<xsd:element name="debit" type="xsd:string" />

<xsd:element name="vallnitiala" type="xsd:string" />

<xsd:element name="inactiv" type="xsd:string" />

<xsd:element name="data" type=„xsd:string" />

<xsd:element name="platitor" type="xsd:string"

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfTipsumatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:TipSumaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:element name="transferTipuriSume">

<xsd:complexType> <xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfTipsumatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd: boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="transferTipuriSumeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="transferTipuriSumeResiilt" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimaDataPersoane">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimaDataPersoaneResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimaDataPersoaneResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="actualizarePersoane">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfPersoanatransfer" /> <xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string"/>

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type=„xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="actualizarePersoaneResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="actualizarePersoaneResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimaDataFirme">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimaDataFirmeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimaDataFirmeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="actualizareFirme">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfFirmatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd: boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="actualizareFirmeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:eiement name="actualizareFirmeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimaDataTipuriSume">

<xsd:complexType>

<xsd:sequence>

<xsd:eiement name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimaDataTipuriSumeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:eiement name="getUltimaDataTipuriSumeResiilt" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="actualizareTipuriSiime">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfTipsumatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd: boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="actualizareTipuriSiimeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="actualizareTipuriSiimeResiilt" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimCodStergeri">

<xsd:complexType>

<xsd:sequence>

<xsd:eiement name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="getUltimCodStergeriResponse"> <xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimCodStergeriResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="StergereTransfer">

<xsd:all>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="codObiectSters" type="xsd:string" />

<xsd:element name="fizjur" type="xsd:string" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfStergeretransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:StergereTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:element name="stergere">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfStergeretransfer" /> <xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd: boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="stergereResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="stergereResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

</types>

<porttype name="TransferPort">

<operation name="connectionTest">

<documentation>Returneaza o valoare</documentation>

<input message="tns:connectionTestln" />

<output message="tns:connectionTestOut" />

</operation>

<operation name="transferPersoane">

<documentation>Returneaza 0 daca operatia de scriere a datelor s-a efectuat cu succes</documentation>

<input message="tns:transferPersoaneln" />

<output message="tns:transferPersoaneOut" />

</operation> <operation name="transferFirme">

<documentation>Returneaza 0 daca operatia de scriere a datelor s-a efectuat cu succes</documentation>

<input message="tns:transferFirmeln" />

<output message="tns:transferFirmeOut" />

</operation> <operation name="transferTipuriSume">

<documentation>Returneaza 0 daca operatia de scriere a datelor s-a efectuat cu succes</documentation> <input message="tns:transferTipuriSumeln" />

<output message="tns:transferfipuriSumeOut" />

</operation> <operation name="getUltimaDataPersoane">

<documentation>Returneaza cea mai recenta data a unei persoane pentru institutia data sau '0' daca nu exista o ultima data</documentation>

<input message="tns:getUltimaDataPersoaneln" />

<output message="tns:getUltimaDataPersoaneOut" />

</operation>

<operation name="actualizarePersoane">

<documentation>Returneaza 0 daca operatia de actualizare a datelor s-a efectuat cu succes</documentation>

<input message="tns:actualizarePersoaneln" />

<output message="tns:actualizarePersoaneOut" />

</operation> <operation name="getUltimaDataFirme">

<documentation>Returneaza cea mai recenta data a unei persoane fizice autorizate pentru institutia data sau '0' daca nu exista o ultima data</documentation>

<input message="tns:getUltimaDataFirmeln" />

<output message="tns:getUltimaDataFirmeOut" />

</operation> <operation name="actualizareFirme">

<documentation>Returneaza 0 daca operatia de actualizare a datelor s-a efectuat cu succes</documentation>

<input message="tns:actualizareFirmeln" />

<output message="tns:actualizareFirmeOut" />

</operation> <operation name="getUltimaDataTipuriSume">

<documentation>Returneaza cea mai recenta data tipurisume pentru institutia data sau '0' daca nu exista o ultima data</documentation>

<input message="tns:getUltimaDataTipuriSumeln" />

<output message="tns:getUltimaDataTipuriSumeOut" />

</operation> <operation name="actualizareTipuriSume">

<documentation>Returneaza 0 daca operatia de actualizare a datelor s-a efectuat cu succes</documentation>

<input message="tns:actualizareTipuriSumeln" />

<output message="tns:actualizareTipuriSumeOut" />

</operation>

<operation name="getUltimCodStergeri">

<documentation>Returneaza ultimul cod din tabela de stergeri pentru institutia data sau '0' daca nu exista ultimul cod</documentation>

<input message="tns:getUltimCodStergeriln" />

<output message="tns:getUltimCodStergeriOut" />

</operation> <operation name="stergere">

<documentation>Returneaza 0 daca operatia de stergere a datelor s-a efectuat cu succes</documentation>

<input message="tns:stergereln" />

<output message="tns:stergereOut" />

</operation> </portType>

<binding name="TransferBinding" type="tns:TransferPort">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

<operation name="connectionTest">

<soap:operation soapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#connectionTest"/>

<input>

<soap:body use="literal" />

</input> <output> <soap:body use="literal" />

</output>

</operation>

<operation name="transferPersoane">

<soap:operation soapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#transferPersoane"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="transferFirme">

<soap:operation soapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#transferFirme"/>

<input> <soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="transferTipuriSume"> <soap:operationsoapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#transferTipuriSume"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="getUltimaDataPersoane">

<soap:operationsoapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#getUltimaDataPersoane"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="actualizarePersoane">

<soap:operationsoapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#actualizarePersoane"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="getUltimaDataFirme">

<soap:operation soapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#getUltimaDataFirme"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="actualizareFirme">

<soap:operation soapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#actualizareFirme"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="getUltimaDataTipuriSume">

<soap:operationsoapAction="https://www.ghiseulTo/ghiseul_admin/public/transfer/transfer#getUltimaDataTipuriSum

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="actualizareTipuriSiime">

<soap:operationsoapAction=”https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#actualizareTipuriSume”/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="getUltimCodStergeri">

<soap:operationsoapAction=”https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#getUltimCodStergeri”/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

<operation name="stergere">

<soap:operation soapAction="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer#stergere"/>

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

</binding>

<service name="TransferService">

<port name="TransferPort" binding="tns:TransferBinding">

<soap:address location="https://www.ghiseul.ro/ghiseul_admin/public/transfer/transfer"/>

</port>

</service> <message name="connectionTestln">

<part name="parameters" element="tns:connectionTest" />

</message> <message name="connectionTestOut"> <part name="parameters" element="tns:connectionTestResponse" />

</message> <message name="transferPersoaneln">

<part name="parameters" element="tns:transferPersoane" />

</message>

<message name="transferPersoaneOut">

<part name="parameters" element="tns:transferPersoaneResponse" />

</message>

<message name="transferFirmeln">

<part name="parameters" element="tns:transferFirme" />

</message>

<message name="transferFirmeOut">

<part name="parameters" element="tns:transferFirmeResponse" />

</message>

<message name="transferTipuriSumeln">

<part name="parameters" element="tns:transferTipuriSume" />

</message>

<message name="transferTipuriSumeOiit">

<part name="parameters" element="tns:transferTipuriSiimeResponse" />

</message>

<message name="getUltimaDataPersoaneln">

<part name="parameters" element="tns:getUltimaDataPersoane" />

</message>

<message name="getUltimaDataPersoaneOut">

<part name="parameters" element="tns:getUltimaDataPersoaneResponse" />

</message>

<message name="actualizarePersoane">

<part name="parameters" element="tns:actualizarePersoane" />

</message>

<message name="actualizarePersoaneOut">

<part name="parameters" element="tns:actualizarePersoaneResponse" />

</message>

<message name="getUltimaDataFirmeln">

<part name="parameters" element="tns:getUltimaDataFirme" />

</message>

<message name="getUltimaDataFirmeOut">

<part name="parameters" element="tns:getUltimaDataFirmeResponse" />

</message>

<message name="actualizareFirmeln">

<part name="parameters" element="tns:actualizareFirme" />

</message>

<message name="actualizareFirmeOut">

<part name="parameters" element="tns:actualizareFirmeResponse" />

</message>

<message name="getUltimaDataTipuriSumeln">

<part name="parameters" element="tns:getUltimaDataTipuriSime" />

</message>

<message naime="getUltimaDataTipuriSumeOut">

<part name="parameters" element="tns:getUltimaDataTipuriSumeResponse" />

</message>

<message name="actualizareTipuriSumeln">

<part name="parameters" eleiment="tns:actualizareTipuriSume" />

</message>

<message name="actualizareTipuriSumeOut">

<part name="parameters" element="tns:actualizareTipuriSumeResponse" />

</message>

<message name="getUltimCodStergeriln">

<part name="parameters" element="tns:getUltimCodStergeri" />

</message>

<message name="getUltimCodStergeriOut">

<part name="parameters" element="tns:getUltimCodStergeriResponse" />

</message>

<message name="stergereln">

<part name="parameters" element="tns:stergere" />

</message>

<message name="stergereOut">

<part name="parameters" element="tns:stergereResponse" />

</message>

</definitions>

2.2. Descrierea standardului de interfatare si interconectare pentru actualizarea în SNEP a informatiilor privind contribuabilii, precum si a registrului tipurilor de taxe pentru institutiile publice beneficiare care detin un sistem de gestiune a obligatiilor bugetare

Servicii web-server actualizare registri

Reguli generale

Datele string se vor trimite codate în format UTF8.

Checksumul (suma de control) din fiecare mesaj se va compune pe valorile codate UTF8.

Requesturile SOAP trebuie sa fie valide din punct de vedere XML.

Web service - transfer persoane

Cerere:

Denumire: transferPersoane

Descriere: Cererea cu datele persoanelor care se transfera este trimisa de web-service-ul client al institutiei catre web-service-ul server de la ghiseul.ro. Se vor transfera toate persoanele care sunt în evidenta institutiei, nedecedate si care au CNP/NIF sau CIF/CUI (pentru persoane fizice autorizate) valid. Transmiterea datelor se va face pe pachete. Intr-un pachet se pot trimite maximum 1.000 de persoane.

Parametri:

<xsd:element name="transferPersoane">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfPersoanatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfPersoanatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:PersoanaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType

<xsd:complexType name="PersoanaTransfer">

<xsd:all>

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="adresa" type="xsd:string"/>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor:

idCIient - codul de client primit de la ghiseul.ro

userClient - numele userului care a înrolat institutia la ghiseul.ro

date - un array de obiecte PersoanaTransfer; lista cu datele persoanelor PersoanaTransfer contine câmpurile:

CUI - CNP/NIF sau CIF/CUI (pentru persoane fizice autorizate) nume - numele si prenumele adresa - adresa persoanei

cod - identificatorul unic al persoanei în baza de date a institutiei

data - data crearii sau data ultimei modificari (daca a fost modificata) a persoanei în baza de date a institutiei; de forma aaaa-ll-zzoo:mm:ss (ex.: 2010-10-22 16:06:12) utilizator - numele utilizatorului care face transferul, de forma idClient.userWindows@numeStatie timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna

(ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12) primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheia de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, CUI, nume,

adresa, data.

Raspuns:

Denumire: transferPersoaneResponse

Descriere: Web-service-ul server de la ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit transferul persoanelor.

Parametri:

<xsd:element name="transferPersoaneResponse">

<xsd:complexType> <xsd:sequence>

<xsd:element name="transferPersoaneResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor: transferPersoaneResult:

0 - transfer reusit

Soap Fault - la transfer nereusit (vezi „Tratarea erorilor")

Web service - transfer persoane fizice autorizate

Cerere:

Denumire: transferFirme

Descriere: Cererea cu datele de transfer este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro . Transmiterea datelor se va face pe pachete. Intr-un pachet se pot trimite maximum 1.000 de persoane. Se vor transfera toate persoanele care sunt în evidenta institutiei si care au CIF/CUI (pentru persoane fizice autorizate) valid.

Parametri:

<xsd:element name="transferFirme">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfFirmatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd: boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfFirmatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:FirmaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="FirmaTransfer">

<xsd:all>

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="adresa" type="xsd:string" />

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro

date - un array de obiecte FirmaTransfer; lista cu datele firmelor

FirmaTransfer contine câmpurile:

CUI - CIF/CUI (pentru persoane fizice autorizate)

nume - denumirea persoanei

adresa - adresa persoanei

cod - identificatorul unic al persoanei în baza de date a institutiei

data - data crearii sau data ultimei modificari a persoanei în baza de date a institutiei, de forma aaaa-ll-zzoo:mm:ss (ex.: 2010-10-22 16:06:12)

utilizator - numele utilizatorului care face transferul, de forma idClient.userWindows@numeStatie timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet

ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, CUI, nume, adresa, data.

Raspuns:

Denumire: transferFirmeResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit transferul persoanelor.

Parametri:

<xsd:element name="transferFirmeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="transferFirmeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor: transferFirmeResult:

0 - transfer reusit

Soap Fault - la transfer nereusit (vezi „Tratarea erorilor")

Web-service - transfer tipuri de sume (tipuri de taxe)

Cerere:

Denumire: transferTipuriSume

Descriere: Cererea cu datele de transfer este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Se vor transfera toate tipurile de sume care sunt în evidenta institutiei ce au codul IBAN valid. Transmiterea datelor se va face pe pachete. Intr-un pachet se pot trimite maximum 1.000 de tipuri de sume.

Parametri:

<xsd:element name="transferTipuriSume">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns: ArrayOfTipsumatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd: boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfTipsumatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns: TipSumaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TipSumaTransfer">

<xsd:all>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="idNomUnic" type="xsd:string" />

<xsd:element name="nume" type="xsd:string"/>

<xsd:element name="iban" type="xsd:string" />

<xsd:element name="debit" type="xsd:string" />

<xsd:element name="vallnitiala" type="xsd:string" />

<xsd:element name="inactiv" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

<xsd:element name="platitor" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro

date - un array de obiecte TipVenitTransfer; lista cu tipurile de sume

TipVenitTransfer contine câmpurile:

cod - identificatorul unic al tipului de suma din baza de date a institutiei

idNomUnic - identificatorul unic al tipului de taxa din Nomenclatorul unic de tipuri de taxe

nume - denumirea tipului de suma

iban - codul IBAN corespunzator tipului de venit (în combinatie cu câmpul platitor) debit = 1 tipul de suma cu debit - reprezinta tipurile de venit pentru care exista solduri în baza de date a institutiei; vor fi afisate în sectiunea Plati cu autentificare (se va afisa suma totala de plata adusa prin web-service de la institutie) si în sectiunea Plati fara autentificare = 0 tipul de venit fara debit - la aceste tipuri de sume utilizatorul poate sa completeze suma pe care doreste sa o plateasca; se vor transfera doar cele care se doreste sa apara în interfata utilizatorului; vor fi afisate numai în sectiunea Plati fara autentificare = 2 tipul de venit amenda - vor aparea în sectiunea Plati fara autentificare; în aceasta sectiune se vor putea plati amenzile în maximum 48 de ore; utilizatorul trebuie sa completeze numarul, seria'procesului-verbal si suma pe care o are de platit vallnitiala - va fi completata pentru tipurile de sume cu debit = 0; va aparea în sectiunea Plati fara autentificare ca suma propusa de plata, cu posibilitate de modificare inactiv = 1 nu mai e folosit de institutie; = 0 folosit data - data crearii sau data ultimei modificari a tipului de suma în baza de date a institutiei, de forma aaaa-ll-zz oo:mm:ss (ex.: 2010-10-22 16:06:12) platitor = 0 persoana fizica si juridica, = 1 persoana fizica, = 2 persoana juridica (în combinatie cu iban) utilizator - numele utilizatorului care face transferul, de forma idClient.userWindows@numeStatie timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12) primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, idNomUnic, nume, iban, debit, vallnitiala, inactiv, platitor, data

Raspuns:

Denumire: transferTipuriSumeResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit transferul tipurilor de sume.

Parametri:

<xsd:element name="transferTipuriSumeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="transferTipuriSumeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor: transferTipuriSumeResult:

0 - transfer reusit

Soap Fault - la transfer nereusit (vezi „Tratarea erorilor")

Web-service - getUltimaDataPersoane

Cerere:

Denumire: getUltimaDataPersoane

Descriere: Cererea este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Se cere cea mai mare data de creare sau data de modificare din persoane de pe ghiseul.ro.

Cererea este utila pentru web-service-ul actualizare persoane care va trimite toate persoanele modificate dupa aceasta data.

Parametri:

<xsd:element name="getUltimaDataPersoane">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro userClient - numele userului care a înrolat institutia pe ghiseul.ro

timestamp- timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

Raspuns:

Denumire: getUltimaDataPersoaneResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Serverul va raspunde cu 0 sau un string în format de data.

In functie de raspunsul dat prin getUltimaDataPersoaneResponse se vor alege înregistrarile care trebuie trimise la actualizare persoane.

Parametri:

<xsd:element name="getUltimaDataPersoaneResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimaDataModificarePersoaneResult" type="xsd:string" />

</xsd:sequence>

</xsd:complextype>

</xsd:element>

Explicatiile parametrilor:

getUltimaDataPersoaneResult:

- 0 daca nu exista înregistrari cu dataModificare diferita de null (la updatePersoane se vor trimite toate înregistrarile ca la transferPersoane)

- un string în formatul aaaa-ll-zz oo:mm:ss (numit „ultimaDataModificarePersoane"), reprezentând cea mai recenta dataModificare din persoane; (la updatePersoane se vor trimite înregistrarile cu dataModificare locala >= ultimaDataModificarePersoane primita ca raspuns la acest serviciu)

Web-service - actualizare persoane

Cerere:

Denumire: actualizarePersoane

Descriere: Cererea cu datele de actualizare este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Vor trimite toate persoanele modificate dupa data returnata de getUltimaDataTipuriSumeResponse

Parametri:

<xsd:element name="actualizarePersoane">

<xsd:complexType> <xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfPersoanatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfPersoanatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:PersoanaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="PersoanaTransfer">

<xsd:all>

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="adresa" type="xsd:string" />

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia la ghiseul.ro

date - un array de obiecte PersoanaTransfer; lista cu datele persoanelor

PersoanaTransfer contine câmpurile:

CUI - CNP/NIF al persoanei fizice

nume - numele si prenumele

adresa - adresa persoanei

cod - identificatorul unic al persoanei în baza de date a institutiei

data - data crearii sau data ultimei modificari a persoanei în baza de date a institutiei, de forma aaaa-ll-zz oo:mm:ss (ex.: 2010-10-22 16:06:12) utilizator - numele utilizatorului care face transferul, de forma idClient.userWindows@numeStatie timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet

ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet

check- suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHAI cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, cui, nume, adresa, data

Raspuns:

Denumire: actualizarePersoaneResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit actualizarea persoanelor.

Parametri:

<xsd:element name="actualizarePersoaneResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="actualizarePersoaneResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

actualizarePersoaneResult:

0 - actualizare reusita

Soap Fault - la actualizare nereusita (vezi „Tratarea erorilor")

Web-service - getUltimaDataFirme

Cerere:

Denumire: getUltimaDataFirme

Descriere: Cererea este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Se cere cea mai mare data creare sau data modificare de pe ghiseul.ro

Cererea este utila pentru web-service-ul actualizare persoane fizice autorizate care va trimite toate datele modificate dupa aceasta data.

Parametri:

<xsd:element name="getUltimaDataFirme">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

idClient - codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro

timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

Raspuns:

Denumire: getUltimaDataFirmeResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Serverul va raspunde cu 0 sau un string în format de data.

In functie de raspunsul dat prin getUltimaDataFirmeResponse se vor alege înregistrarile care trebuie trimise la actualizare.

Parametri:

<xsd:element name="getUltimaDataFirmeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimaDataFirmeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

getUltimaDataFirmeResult:

- 0 daca nu exista înregistrari cu data diferita de null (la actualizareFirme se vor trimite toate înregistrarile ca la transferFirme)

- un string în formatul aaaa-ll-zz oo:mm:ss (numit „ultimaDataModificareFirme"), reprezentând cea mai recenta data (la actualizareFirme se vor trimite înregistrarile cu dataModificare locala >= ultimaDataModificareFirme primita ca raspuns la acest serviciu)

Web-service - actualizare persoane fizice autorizate

Cerere:

Denumire: actualizareFirme

Descriere: Cererea cu datele de actualizare este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Vor trimite toate datele modificate dupa data returnata de getUltimaDataTipuriSumeResponse

Parametri:

<xsd:element name="actualizareFirme">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfFirmatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence> </xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfFirmatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:FirmaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="FirmaTransfer">

<xsd:all>

<xsd:element name="cui" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="adresa" type="xsd:string"/>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro

date - un array de obiecte FirmaTransfer; lista cu datele persoanelor fizice autorizate FirmaTransfer contine câmpurile: cui - CIF/CUI persoanei fizice autorizate nume - denumirea persoanei fizice autorizate adresa - adresa persoanei fizice autorizate

cod - identificatorul unic al persoanei fizice autorizate în baza de date a institutiei

data - data crearii sau data ultimei modificari a persoanei fizice autorizate în baza de date a institutiei, de forma aaaa-ll-zzoo:mm:ss (ex.: 2010-10-22 16:06:12)

utilizator - numele utilizatorului care face transferul de forma idCIient.userWindows@numeStatie timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet

ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet check - suma de control a integritatii mesajului; algoritmul folosit este HMAC-SHAI cu cheia de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, cui, nume, adresa, data

Raspuns:

Denumire: actualizareFirmeResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit actualizarea datelor. Parametri:

<xsd:element name="actualizareFirmeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="actualizareFirmeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor: actualizareFirmeResult:

0 - actualizare reusita

Soap Fault - la actualizare nereusita (vezi Tratarea erorilor)

Web-service - getUltimaDataTipuriSume

Cerere:

Denumire: getUltimaDataTipuriSume

Descriere: Cererea este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Se cere cea mai mare data creare sau data modificare din tipurile de sume de pe ghiseul.ro

Cererea este utila pentru web-service-ul actualizare tipuri sume care va trimite toate tipurile de sume modificate dupa aceasta data.

Parametri:

<xsd:element name="getUltimaDataTipuriSume">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro

timestamp - timestamp în formatul aaaallzzoomniss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

Raspuns:

Denumire: getUltimaDataTipuriSumeResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Serverul va raspunde cu 0 sau un string în format de data.

In functie de raspunsul dat prin getUltimaDataTipuriSumeResponse se vor alege înregistrarile care trebuie trimise la actualizare tipuri sume.

Parametri:

<xsd:element name="getUltimaDataTipuriSumeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimaDataTipuriSumeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

getUltimaDataTipuriSumeResult:

- 0 daca nu exista înregistrari cu data diferita de null (la actualizareTipuriSume se vor trimite toate înregistrarile ca la transferTipuriSume)

- un string în formatul aaaa-ll-zz oo:mm:ss (numit „ultimaDataModificareTipuriSume"), reprezentând cea mai recenta data din tipuri sume (la actualizareTipuriSume se vor trimite înregistrarile cu dataModificare locala >= ultimaDataModificareTipuriSume primita ca raspuns la acest serviciu)

Web-service - actualizare tipuri sume

Cerere:

Denumire: actualizareTipuriSume

Descriere: Cererea cu datele de actualizare este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Vor trimite toate tipurile de sume modificate dupa data returnata de getUltimaDataTipuriSumeResponse

Parametri:

<xsd:element name="actualizareTipuriSume">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns: ArrayOfTipsumatransfer" />

<xsd:element name="utilizator" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfTipsumatransfer">

<xsd:sequence>

<xsd:element name="item" type="tns: TipSumaTransfer" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TipSumaTransfer"> <xsd:all>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="idNomUnic" type="xsd:string" />

<xsd:element name="nume" type="xsd:string" />

<xsd:element name="iban" type="xsd:string" />

<xsd:element name="debit" type="xsd:string" />

<xsd:element name="vallnitiala" type="xsd:string" />

<xsd:element name="inactiv" type="xsd:string" />

<xsd:element name="data" type="xsd:string" />

<xsd:element name="platitor" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro userClient - numele userului care a înrolat institutia pe ghiseul.ro date - un array de obiecte TipSumaTransfer; lista cu tipurile de sume TipSumaTransfer contine câmpurile:

cod - identificatorul unic al tipului de suma din baza de date a institutiei idNomUnic - identificatorul unic al tipului de taxa din Nomenclatorul unic de tipuri de taxe nume - denumirea tipului de suma

iban - codul IBAN corespunzator tipului de venit (în combinatie cu câmpul platitor)

debit = 1 tipul de suma cu debit - reprezinta tipurile de venit pentru care exista solduri în baza institutiei; vor fi afisate în sectiunea Plati cu autentificare (se va afisa suma totala de plata adusa prin web-service de la institutie) si în sectiunea Plati fara autentificare

= 0 tipul de venit fara debit - la aceste tipuri de sume utilizatorul poate sa completeze suma pe care doreste sa o plateasca; se vor transfera doar cele care se doreste sa apara în interfata utilizatorului; vor fi afisate numai în sectiunea Plati fara autentificare

= 2 tipul de venit Amenda - vor aparea în sectiunea Plati fara autentificare; în aceasta sectiune se vor putea plati amenzile în maximum 48 de ore; utilizatorul trebuie sa completeze numarul, seria procesului-verbal si suma ce o are de platit vallnitiala - poate fi completata pentru tipurile de sume cu debit = 0; inactiv = 1 nu mai e folosit de institutie; = 0 folosit data - data crearii sau data ultimei modificari a tipului de suma în baza de date a institutiei; de forma aaaa-ll-zz oo:mm:ss (ex.: 2010-10-22 16:06:12) platitor = 0 persoana fizica si juridica, = 1 persoana fizica, = 2 persoana juridica (în combinatie cu iban) utilizator - numele utilizatorului care face transferul; de forma idClient.userWindows@numeStatie timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12) primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHAI cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, idNomUnic, nume, iban, debit, vallnitiala, inactiv, platitor, data

Raspuns:

Denumire: actualizareTipuriSumeResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit actualizarea tipurilor de sume.

Parametri:

<xsd:element name="actualizareTipuriSiimeResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="actualizareTipuriSumeResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

actualizareTipuriSumeResult:

0 - actualizare reusita

Soap Fault - la actualizare nereusita (vezi Tratarea erorilor)

Web-service - getUltimCodStergeri

Cerere:

Denumire: getUltimCodStergeri

Descriere: Cererea este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Se cere cel mai mare cod al stergerilor reusite de institutia respectiva pe ghiseul.ro

Poate fi util pentru web-service-ul Stergere care va trimite toate codurile de sters mai mari decât acest cod.

Parametri:

<xsd:element name="getUltimCodStergeri">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro

timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

Raspuns:

Denumire: getUltimCodStergeriResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Serverul va raspunde cu 0 sau un string cu codul.

In functie de raspunsul dat prin getUltimCodStergeriResponse se vor alege înregistrarile care trebuie trimise la stergere transfer.

Parametri:

<xsd:element name="getUltimCodStergeriResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="getUltimCodStergeriResult" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

getUltimCodStergenResult:

- 0 daca nu exista înregistrari pentru institutia respectiva

- un string reprezentând cel mai recent cod sters de la institutia respectiva (la stergere se vor trimite înregistrarile cu cod local >= cod primit ca raspuns la acest serviciu)

Web-service - stergere

Cerere:

Denumire: stergere

Descriere: Cererea cu datele de sters este trimisa de web-service-ul client al institutiei catre web-service-ul server de pe ghiseul.ro. Se vor trimite un set de date, persoane si persoane fizice autorizate, care se doresc a fi sterse la ghiseul.ro. Acestea se vor alege în functie de raspunsul dat de getUltimCodStergenResult. Aceasta presupune implementarea la institutie a unei cozi de asteptare a operatiilor de stergere.

Parametri:

<xsd:element name="stergere">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="idClient" type="xsd:float" />

<xsd:element name="userClient" type="xsd:string" />

<xsd:element name="date" type="tns:ArrayOfStergeretransfer" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="primulPachet" type="xsd:boolean" />

<xsd:element name="ultimulPachet" type="xsd:boolean" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfStergeretransfer">

<xsd:sequence>

<xsd:element name="item" type="tns:StergereTransfer" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="StergereTransfer">

<xsd:all>

<xsd:element name="cod" type="xsd:string" />

<xsd:element name="codObiectSters" type="xsd:string" />

<xsd:element name="fizjur" type="xsd:string" />

</xsd:all>

</xsd:complexType>

Explicatiile parametrilor:

idClient- codul de client primit de pe ghiseul.ro

userClient - numele userului care a înrolat institutia pe ghiseul.ro date - un array de obiecte StergereTransfer; lista cu codurile de sters Stergere Transfer contine câmpurile:

cod -identificatorul unic al stergerii codObiectSters - identificatorul unic (id) al persoanei sau persoanei fizice autorizate în baza de date a institutiei fizjur =1 persoana, = 2 persoana fizica autorizata

timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083812), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 12)

primulPachet = 1 daca este primul pachet din transfer, 0 daca nu e primul pachet

ultimulPachet = 1 daca este ultimul pachet din transfer, 0 daca nu e ultimul pachet check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor din arrayul date: cod, codObiectSters.fizjur

Raspuns:

Denumire: stergereResponse

Descriere: Web-service-ul server de pe ghiseul.ro raspunde web-service-ului client al institutiei. Va raspunde cu 0 daca a reusit stergerea datelor.

Parametri:

<xsd:element name= "stergereResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name= "stergereResult" type= "xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor: stergereResult:

0 - actualizare reusita

Soap Fault - la actualizare nereusita (vezi Tratarea erorilor)

Tratarea erorilor Soap Fault

Se va trimite Soap Fault cu <faultcode> 1, 2, 3 sau 4 în urmatoarele cazuri specifice:

1 -în cazul în care nu s-a verificat integritatea mesajului (valoarea check incorecta)

2 - în cazul în care codul institutiei nu este corect (valoarea idCIient incorecta)

3 - în cazul în care utilizatorul institutiei nu este corect (valoarea userClient incorecta)

4 - s-a produs o eroare si serviciul este indisponibil

5 - „Introducere TIP SUMA se face manual" - nu se pot face operatii pe tipuri de sume decât manual (daca în profil institutie din modulul Ghiseul administrare este setat „Introducere manuala tipuri de venit")

6 - „Error. Exista mai multe persoane cu acelasi CNP (".$cui.") în pachet" - se parcurge lista de persoane trimise, iar la primul CNP care apare de 2 ori în acelasi pachet se va raspunde cu acest Soap Fault

6 - „Error. Exista mai multe persoane fizice autorizate cu acelasi CUI (".$cui.") în pachet" - se parcurge lista de persoane fizice autorizate trimise, iar la primul CUI care apare de 2 ori în acelasi pachet se va raspunde cu acest Soap Fault

7- „Error. CNP-uri invalide": ".$cui1, $cui2,.... " - se parcurge lista de persoane trimise, se concateneaza CNP-urile invalide si raspunde cu acest Soap Fault daca exista cel putin unul invalid

7 - „Error. CIF-uri invalide": ".$cui1, $cui2,...." - se parcurge lista de persoane fizice autorizate trimise, se concateneaza CF-urile invalide si raspunde cu acest SoapFault daca exista cel putin unul invalid

7 - „Error. Tip suma fara IBAN": ".$nume1, $nume2,..." tip suma cu debit invalid: ".$nume1, $nume2,... " IBAN-uri invalide: ".$iban1, $iban2,... " Tip suma cu IdNomUnic invalid: ".$nume1, $nume2,..." Tip suma cu platitor invalid: ".$nume1, $nume2,..." se parcurge lista de tipuriSume trimise si se concateneaza numele celor care nu au niciun IBAN, separat numele celor care nu au debit valid (0, 1 sau 2), separat IBAN-urile invalide, separat numele celor care nu au IdnomUnic valid (completat dar invalid - daca nu e completat nu se considera invalid), separat numele celor care nu au platitor valid (0, 1 sau 2). Daca cel putin una dintre categorii are ceva completat atunci se raspunde cu acest Soap Fault, (daca la una dintre categorii nu exista niciun item, atunci nu va aparea deloc categoria respectiva.)

Ex.: „7", „Error. Tip suma fara IBAN: Taxa Auto" IBAN-uri invalide: RO88TREZ02121340202XXXXX, RO88TREZ02121340202XXXXX

8 - „Numar prea mare de entitati per pachet (maximum 1000)" - daca numarul de obiecte (persoane, persoane fizice autorizate sau tipuriSume) din array-ul "$data" este mai mare decât 1000, atunci se raspunde cu acest Soap Fault.

„9", „Testare nefinalizata pentru operatia ".$nume_operatie."l Va rugam sa folositi modulul de testare!"

(Ex.: „Testare nefinalizata pentru operatia TRANSFER TIPURI SUME! Va rugam sa folositi modulul de testare!")

„10", „Institutie fara trimitere date prin web-services"

(Daca în tabela institutii, pentru institutia curenta, câmpul B_CU_SERVICES e pus pe 0 sa nu poata transfera nimic. Se returneaza un soap fault prin care se anunta ca este pusa bifa pe „Fara trimitere date prin web-services" în profil institutie.

Verificarea se face la orice apel al unei functii.

ANEXA Nr. 3

la normele tehnice

Formatul electronic standardizat al fisierelor transmise operatorului SNEP de catre institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare pentru înregistrarea si actualizarea în SNEP a informatiilor privind contribuabilii

Fisierul „contribuabili.csv"

Este generat cu o aplicatie de calcul tabelar si va contine pe fiecare linie urmatoarele informatii cu privire la contribuabili: CNP/NIF sau CIF/CUI, Nume, „Adresa"

Nr. crt.

CNP/NIF sau CIF/CUI

Nume

Adresa

unde:

- CUI-CNP/NIF pentru persoane fizice sau CIF/CUI pentru persoanele fizice autorizate;

- Nume-numele si prenumele/denumirea persoanei care are obligatia de plata;

- Adresa-adresa persoanei care are obligatia de plata.

ANEXA Nr. 4

la normele tehnice

4.1. Standardul de interfatare si interconectare între SNEP si aplicatia informatica dezvoltata de Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala pentru comunicarea obligatiilor de plata constituite de institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare

<?xml version="1.0"?>

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="Aici va aparea namespace-ul aplicatiei dezvoltate de Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala care furnizeaza web-service-ul, de ex.:

https://www.domeniu_ANAF.ro/server.php" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:wsdl="http: //schemas.xmlsoap.org/wsdl/" name="InformatiiPlataZF" targetNamespace="Aici va aparea namespace-ul aplicatiei dezvoltate de Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala care furnizeaza web-service-ul, de ex.:

https//www.domeniu_ANAF.ro/server.php">

<types>

<xsd:schema targetNamespace="Aici va aparea namespace-ul aplicatiei dezvoltate de Ministerul Finantelor Publice - Agentia Nationala de Administrare Fiscala care furnizeaza web-service-ul, de ex.: https://www.domeniu_ANAF.ro/server.php">

<xsd:element name="getSumeDePlataPePersoana">

<xsd:complexType>

<xsd:sequence>

<xsd:elementname="cuilnstitutie" type="xsd:string" />

<xsd:elementname="cui" type="xsd:string" />

<xsd:elementname="timestamp" type="xsd:string" />

<xsd:elementname="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ArrayOfString">

<xsd:sequence>

<xsd:elementname="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="LinieDetaliiSume">

<xsd:all>

<xsd:elementname="linie" type="tns:ArrayOfString" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfLiniedetaliisume">

<xsd:sequence>

<xsd:elementname="item" type="tns:LinieDetaliiSume" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TipSuma">

<xsd:all>

<xsd:elementname="idTipSuma" type="xsd:int" />

<xsd:elementname="valoare" type="xsd:float" />

<xsd:elementname="prioritate" type="xsd:int" />

<xsd:elementname="detaliiHeader" type="tns:ArrayOfString" />

<xsd:elementname="detaliiBody" type="tns:ArrayOfl_iniedetaliisume"/>

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfTipsuma">

<xsd:sequence>

<xsd:elementname="item" type="tns:TipSuma" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="ListaTipuriSume">

<xsd:all>

<xsd:elementname="sume" type="tns:ArrayOfTipsuma" />

<xsd:elementname="dataCalcul" type="xsd:string" />

<xsd:elementname="timestamp" type="xsd:string" />

<xsd:elementname="check" type="xsd:string" />

</xsd:all>

</xsd:complexType>

<xsd:element name="getSumeDePlataPePersoanaResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:elementname="getSumeDePlataPePersoanaResult" type="tns:ListaTipuriSume"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

</types>

<portfype name="InformatiiPlataZFPort">

<operation name="getSumeDePlataPePersoana">

<documentation>Metoda care returneaza sumele de plata cu detaliile acestora pentru un cui dat</documentation>

<inputmessage="tns:getSumeDePlataPePersoanaln"/>

<outputmessage="tns:getSumeDePlataPePersoanaOut"/>

</operation>

</portType>

<binding name="InformatiiPlataZFBinding" type="tns:lnformatiiPlataZFPort"> <soap:bindingstyle="document"transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getSumeDePlataPePersoana">

<soap:operationsoapAction="Aici va aparea url-ul metodei getSumeDePlataPePersoana, de ex.: https://www.d0meniu_ANAF.r0/server.php#getSumeDePlataPePers0ana"/> <input> <soap:bodyuse="literal" />

</input> <output>

<soap:bodyuse="literal" />

</output>

</operation>

</binding>

<service name="InformatiiPlataZFService">

<port name="InformatiiPlataZFPort" binding="tns:lnformatiiPlataZFBinding">

<soap:addresslocation="Aici va aparea url-ul aplicatiei dezvoltate de Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala care furnizeaza web-service-ul, de ex.: https://www.domeniu_ANAF.ro/server.php"/>

</port>

</service>

<message name="getSumeDePlataPePersoanaln">

<partname="parameters" element="tns:getSumeDePlataPePersoana"/>

</message>

<message name="getSumeDePlataPePersoanaOut">

<partname="parameters" element="tns:getSumeDePlataPePersoanaResponse"/>

</message>

</definitions>

4.2 Descrierea standardului de interfatare si interconectare între SNEP si aplicatia informatica dezvoltata de Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala pentru comunicarea obligatiilor de plata constituite de institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare: interfatare si interconectare pentru comunicarea obligatiilor de plata

Servicii web client

Reguli generale

Datele string se vor trimite codate în format UTF8.

Checksumul (suma de control) din fiecare mesaj se va compune pe valorile codate UTF8.

Requesturile SOAP trebuie sa fie valide din punct de vedere XML.

Web-service - debite/sume cu detalii

Cerere:

Denumire: getSumeDePlataPePersoana

Descriere: Cererea este trimisa de ghiseul.ro catre web-service-ul institutiei, care va raspunde cu date despre persoana corespunzatoare CUI-ului trimis.

Parametri:

<xsd:element name="getSumeDePlataPePersoana">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="cuilnstitutie" type="xsd:string" />

<xsd:element name="cui" type="xsd:string" />

<xsd:element name=" timestamp" type="xsd:string" />

<xsd:element name="check" type="xsd:string" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Explicatiile parametrilor:

cuilnstitutie - CUI institutie

CUI - CNP/NIF sau CIF/CUI (pentru persoane fizice autorizate)

timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083837), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 38) check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare; - se aplica algoritmul pe valoarea CUI-ului.

Raspuns:

Denumire: getSumeDePlataPePersoanaResponse

Descriere: Este raspunsul web-service-ului server al institutiei la cererea adresata de web-service-ul client de pe ghiseul.ro. Raspunsul contine o lista cu sume de platit de catre persoana al carei CUI este trimis prin mesajul getSumeDePlataPePersoana. Sumele sunt grupate pe tipuri de sume; tipurile de sume pot fi prioritizate.

Parametri:

<xsd:element name="getSumeDePlataPePersoanaResponse">

<xsd:complexType> <xsd:sequence>

<xsd:element name="getSumeDePlataPePersoanaResult" type="tns:l_istaTipuriSume" />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="ListaTipuriSume">

<xsd:all>

<xsd:element name="sume" type="tns:ArrayOfTipsuma" />

<xsd:element name="dataCalcul" type="xsd:string" />

<xsd:element name="timestamp" type="xsd:string" />

<xsd:element name="check" type="xsd:string" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfTipsuma">

<xsd:sequence>

<xsd:element name="item" type="tns:TipSuma" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TipSuma">

<xsd:all>

<xsd:element name="idTipSuma" type="xsd:int" />

<xsd:element name="valoare" type="xsd:float" />

<xsd:element name="prioritate" type="xsd:int" />

<xsd:element name="detaliiHeader" type="tns:ArrayOfString" />

<xsd:element name="detaliiBody" type="tns:ArrayOfLiniedetaliisume" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfLiniedetaliisume">

<xsd:sequence>

<xsd:element name="item" type="tns:LinieDetaliiSume" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="LinieDetaliiSume">

<xsd:all>

<xsd:element name="linie" type="tns:ArrayOfString" />

</xsd:all>

</xsd:complexType>

<xsd:complexType name="ArrayOfString">

<xsd:sequence>

<xsd:element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />

</xsd:sequence>

</xsd:complexType>

Explicatiile parametrilor:

sume - un array cu sumele de platit grupate pe tipuri de sume

dataCalcul - data la care s-a calculat valoarea obligatiilor de plata, în format aaaallzz, unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15) idTipSuma - codul tipului de suma

valoare - suma datorata pentru tipul de suma idTipSuma de forma întreg.douazecimale (ex.:57.32) prioritate - prioritatea în care trebuie sa se plateasca suma; tipurile de suma pot sa fie prioritizate sau nu; fiecare tip de suma care se doreste a fi prioritizata va avea un numar de prioritizare unic obligatoriu pozitiv; prioritate = 1 este cel mai prioritar tip de suma, apoi cel cu prioritate = 2 etc;

restul tipurilor de suma care nu se doresc a fi prioritizate vor avea prioritate = 0 si vor putea sa fie platite numai dupa ce sunt platite sumele pe tipurile de suma cu prioritate.

detaliiHeader - un array de stringuri (ex.: Proprietate Debit Ramasita Majorari Penalitati)

detaliiBody - un array de obiecte LinieDetaliiSume; contine detaliile de plata corespunzator tipului de suma idTipSuma LinieDetaliiSume - un array de stringuri (ex.: denumire, suma debit, suma ramasita, suma majorare, suma penalitate); acestea vor aparea utilizatorilor în format tabelar, timestamp - timestamp în formatul aaaallzzoommss (ex.: 20100915083837), unde aaaa este anul (ex.: 2010), II este luna (ex.: 09), zz este ziua (ex.: 15), oo este ora (ex.: 08), mm sunt minutele (ex.: 38), ss sunt secundele (ex.: 38)

check - suma de control al integritatii mesajului; algoritmul folosit este HMAC-SHA1 cu cheie de criptare;

- algoritmul se aplica pe stringul obtinut prin concatenarea în ordine a valorilor: idTipSuma, valoare, apoi pe rând valorile din detaliiHeader luate în ordinea din array, apoi valorile din detaliiBody.

observatie: detaliiHeader si detaliiBody trebuie sa contina acelasi numar de câmpuri.

Tratarea erorilor (Soap Fault) pentru ambele servicii

Se va trimite Soap Fault cu <faultcode> 1, 2 sau 3 în urmatoarele cazuri specifice:

1 -în cazul în care nu s-a verificat integritatea mesajului;

2 - în cazul în care CUI-ul nu este valid sau nu exista în baza de date;

3 - în cazul în care s-a produs o eroare si serviciul este indisponibil.

EXEMPLU DE SOAP FAULT:

Response de la:

<?xml version="1.0" encoding="UTF-8"?>

<env:Envelope xmlns:env="http://www.w3.orq/2003/05/soap-envelope">

<env:Body>

<env:Fault>

<env:Code>

<env:Value>1</env:Value>

</env:Code>

<env:Reason>

<env:Text>Mesaj invalid</env:Text>

</env:Reason>

</env:Fault>

</env:Body>

</env:Envelope>

ANEXA Nr. 5

la normele tehnice

Formatul electronic standardizat al fisierelor transmise Ministerului Finantelor Publice - Agentia Nationala de Administrare Fiscala de catre institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare pentru actualizarea informatiilor privind obligatiile de plata

Fisierul "AdminCreante.xml"

Este generat cu o aplicatie pusa la dispozitia institutiile publice beneficiare care nu detin un sistem de gestiune a obligatiilor bugetare, în mod gratuit, de catre Ministerul Finantelor Publice -Agentia Nationala de Administrare Fiscala, având urmatoarea structura:

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns="mfp:anaf:dgti:administrare_creante:declaratie:v1"targetNamespace="mfp:anaf:dgti:administrare_creante:declaratie: v1 "elementFormDefault="qualified" attributeFormDefault=" unqualified" version="1.02" xml:lang="ro">

<!--

Explicatii Taguri/Atribute:

1. "cui"'- Codul de identificare fiscala al institutiei publice beneficiare

2. "cnp" - CNP/NIF sau CUI/CIF contribuabil

3. "nrDocT" - numar document creanta (optional)

4. "dataT" - data document creanta (optional)

5. "datal" - data înstiintarii de plata (data calcul obligatie)

6. "codCIsBug" - cod clasificatie bugetara (anexa nr. 8)

7. "codDb" - cod intern al naturii obligatiei

8. "catS" - cod categorie de suma (R - ramasita, C - curent, A - accesorii)

9. "sumal"- suma initiala stabilita prin titlu de creanta

10. "sumaR" - suma'ramasa prin plati partiale efectuate

-->

<xs:element name="administratorCreanta">

<xs:complexType>

<xs:sequence>

<xs:element name="contribuabil" minOccurs="1" maxOccurs="unbounded" type="ContribuabilCType"/>

</xs:sequence>

<xs:attribute name="cui" type="CuiSType" use="required"/> </xs:complexType>

</xs:element>

<xs:complexType name="ContribuabilCType">

<xs:complexContent>

<xs:restriction base="xs:anyType">

<xs:attribute name="cnp" type="CnpSType" use="required"/>

<xs:attribute name="idRefOp" use="required">

<xs:simpleType>

<xs:restriction base="xs:token">

<!--

<xs:length value="10"/>-->

<xs:minLength value="1"/>

<xs:maxLength value="10"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="nrDocT">

<xs:simpleType>

<xs:restriction base="xs:token">

<!--

<xs:length value="10"/>-->

<xs:minLength value="1"/>

<xs:maxLength value="10"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="dataT" type="DateSType"/>

<xs:attribute name="datal" type="DateSType"/>

<xs:attribute name="codClsBug" use="required">

<xs:simpleType>

<xs:restriction base="xs:token">

<xs:pattern value="\d{1,10}"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="codDb" use="required">

<xs:simpleType>

<xs:restriction base="xs:token">

<xs:length value="37>

<!-

<xs:minLength value="1"/>

<xs:maxLength value="3"/>-->

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="catS" use="required">

<xs:simpleType>

<xs:restriction base="xs:token">

<xs:length value="27>

<!--

<xs:minLength value="1"/>

<xs:maxLength value="2"/>-->

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="sumal" type="SumaSType" use="required”/>

<xs:attribute name="sumaR" type="SumaSType" use="required”/>

</xs:restriction>

</xs:complexContent>

</xs:complexType>

<xs:simpleType name="SumaSType">

<xs:restriction base="xs:integer">

<xs:minlnclusive value="07>

<xs:maxlnclusivevalue="9999999999"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="CuiSType">

<xs:restriction base="xs:string">

<xs:pattern value="[1-9]\d{1,9}"/>

</xs:restriction> </xs:simpleType>

<xs:simpleType name="CnpSType">

<xs:restriction base="xs:string">

<xs:patternvalue="[1-9]\d{12}|[1-9]\d{1,9}"/>

</xs:restriction>

</xs:simpleType> <xs:simpleType name="DateSType">

<xs:restriction base="xs:string">

<xs:pattern value="([1-9]|0[1-9]|[12][0-9]|3[01])/([1-9]|0[1-9]|1[012])Ad{4}"/>

<!-<xs:patternvalue="([1-9]|0[1-9]|[12][0-9]|3[01])\.([1-9]|0[1-9]|1[012])\.\d{4}"/>->

<!-<xs:patternvalue=".{0}|([1-9]|0[1-9]|[12][0-9]|3[01])\.([1-9]|0[1-9]|1[012])\.\d{4}"/>->

</xs:restriction>

</xs:simpleType>

</xs:schema>


SmartCity5

COMENTARII la Ordinul 173/2011

Momentan nu exista niciun comentariu la Ordinul 173 din 2011
Comentarii la alte acte
ANONIM a comentat Decretul 139 2005
    HIRE A GENUINE HACKER TO RECOVER YOUR LOST FUNDS Hello everyone, The Cryptocurrency world is very volatile and a lot of individuals have lost their crypto assets to online scams . I was also a victim. Last October I was contacted by a broker who convinced me to invest in Crypto. I made an initial investment of € 875,000. I followed their instructions. For TWO months now I have been trying to contact them all day, but I got no response. God is so kind. I followed a broadcast that teaches on how these recovery experts called THE HACK ANGELS RECOVERY EXPERT. Help individuals recover their lost funds back. I contacted the email provided for consultation, to help me recover my funds. I contacted them. These cryptocurrency recovery experts saved my life by helping me recover all my losses in just nine hours. I provided necessary requirements and relative information to complete the successful recovery of my crypto funds. I was filled with joy asI got my everything back. I really can't tell how happy I am. I said I will not hold this to myself but share it to the public so that all scammed victims can get their funds back, you can contact them today through their hotline at: WhatsApp +1(520)200-2320) (support@thehackangels.com). (www.thehackangels.com) If you're in London, you can even visit them in person at their office located at 45-46 Red Lion Street, London WC1R 4PF, UK. They’re super helpful and really know their stuff! Don’t hesitate to reach out if you need help.
ANONIM a comentat Decretul 139 2005
    HIRE A GENUINE HACKER TO RECOVER YOUR LOST FUNDS Hello everyone, The Cryptocurrency world is very volatile and a lot of individuals have lost their crypto assets to online scams . I was also a victim. Last October I was contacted by a broker who convinced me to invest in Crypto. I made an initial investment of € 875,000. I followed their instructions. For TWO months now I have been trying to contact them all day, but I got no response. God is so kind. I followed a broadcast that teaches on how these recovery experts called THE HACK ANGELS RECOVERY EXPERT. Help individuals recover their lost funds back. I contacted the email provided for consultation, to help me recover my funds. I contacted them. These cryptocurrency recovery experts saved my life by helping me recover all my losses in just nine hours. I provided necessary requirements and relative information to complete the successful recovery of my crypto funds. I was filled with joy asI got my everything back. I really can't tell how happy I am. I said I will not hold this to myself but share it to the public so that all scammed victims can get their funds back, you can contact them today through their hotline at: WhatsApp +1(520)200-2320) (support@thehackangels.com). (www.thehackangels.com) If you're in London, you can even visit them in person at their office located at 45-46 Red Lion Street, London WC1R 4PF, UK. They’re super helpful and really know their stuff! Don’t hesitate to reach out if you need help.
ANONIM a comentat Decretul 139 2005
    HIRE A GENUINE HACKER TO RECOVER YOUR LOST FUNDS Hello everyone, The Cryptocurrency world is very volatile and a lot of individuals have lost their crypto assets to online scams . I was also a victim. Last October I was contacted by a broker who convinced me to invest in Crypto. I made an initial investment of € 875,000. I followed their instructions. For TWO months now I have been trying to contact them all day, but I got no response. God is so kind. I followed a broadcast that teaches on how these recovery experts called THE HACK ANGELS RECOVERY EXPERT. Help individuals recover their lost funds back. I contacted the email provided for consultation, to help me recover my funds. I contacted them. These cryptocurrency recovery experts saved my life by helping me recover all my losses in just nine hours. I provided necessary requirements and relative information to complete the successful recovery of my crypto funds. I was filled with joy asI got my everything back. I really can't tell how happy I am. I said I will not hold this to myself but share it to the public so that all scammed victims can get their funds back, you can contact them today through their hotline at: WhatsApp +1(520)200-2320) (support@thehackangels.com). (www.thehackangels.com) If you're in London, you can even visit them in person at their office located at 45-46 Red Lion Street, London WC1R 4PF, UK. They’re super helpful and really know their stuff! Don’t hesitate to reach out if you need help.
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
ANONIM a comentat Raport 1937 2021
    Obțineți creditul în 24 de ore În calitate de client al LOPEZ GROUP FINANZAS, vă recomand pentru toate nevoile dumneavoastră de finanțare la cota de 2%. Pentru cei dintre voi care au nevoie de un împrumut, nu ezitați să o contactați ca mine și veți fi mulțumiți: lopezfinanzas95@gmail.com
Alte acte pe aceeaşi temă cu Ordin 173/2011
Coduri postale Prefixe si Coduri postale din Romania Magazin si service calculatoare Sibiu