2016 WEBSERVICE SIDDIN 2.1 PROTOKÓŁ NICCI 3.1 PRZYKŁADY ZAPYTAŃ I ODPOWIEDZI ŚCIEŻKA DODANIA INFORMACJI GOSPODARCZEJ MATEUSZ STYRCZULA
Spis treści Plik WSDL oraz adres serwisu... 2 Ścieżka dodania informacji gospodarczej... 2 Logowanie... 2 Przesłanie spraw... 3 Zamykanie pojemnika... 5 Pobieranie listy zleceń... 6 Pobieranie ID pojemnika... 7 Uzyskiwanie informacji o pojemniku... 8 Usunięcie przesłanego pojemnika... 9 Wylogowanie... 10 1
Plik WSDL oraz adres serwisu https://demo.krd.pl/siddin/2.1/import.asmx https://demo.krd.pl/siddin/2.1/import.asmx?wsdl Ścieżka dodania informacji gospodarczej Logowanie Aby uzyskać dostęp do serwisu należy posłużyć się metodą Login. xmlns:ns="http://siddin.servicecontracts/2006/09"> <ns:loginrequest> <ns:username>login</ns:username> <ns:password>hasło</ns:password> </ns:loginrequest> W odpowiedzi uzyskamy Ticket, który będzie wykorzystywany do dalszej komunikacji w celu autoryzacji zapytań. <soap:body> <LoginResult xmlns="http://siddin.servicecontracts/2006/09"> A50A56394699621DC3E4B0E973F359BCB539F88B</LoginResult> </soap:body> 2
Przesłanie spraw Aby przesłać sprawę/sprawy do KRD BIG SA, należy posłużyć się metodą UploadChunk. Zapytanie musimy zautoryzować wcześniej otrzymanym Ticket. Przy zapytaniu dodatkowo możemy (opcjonalnie) określić parametry przesyłanego pojemnika zamykając je w znacznik <ChunkBag>. Obowiązkiem ustawowym jest przesłanie informacji o kwestionowaniu przez dłużnika zobowiązania. Służy do tego element <NoObjections> oraz <Objections>. Jeżeli dłużnik nie kwestionuje zobowiązania element <NoObjections> przyjmuje wartość true. Jeżeli kwestionuje, element <Objections> przyjmuje wartość string (1024 znaki- powód kwestionowania zobowiązania przez dłużnika). xmlns:ns="http://siddin.servicecontracts/2006/09" xmlns:ns1="http://siddin.datatypes/2006/09"> <ns:upladchunkbagrequest> <ns:ticket> A50A56394699621DC3E4B0E973F359BCB539F88B</ns:Ticket> <ns:data><![cdata[ <Input version="3.1"> <InformationManagement> <Order ID="1"> <AddInformation verifyresult="1"> <Case> <Debtor> <Consumer> <FirstName>Test</FirstName> <Surname>testowy</Surname> <IdentityNumber> <Pesel>11111111111</Pesel> </IdentityNumber> </Consumer> </Debtor> <Obligations> <Obligation> <Title> FV</Title> <CallSent>2014-06-20</CallSent> <PaymentDate>2014-05-20</PaymentDate> <Arrears currency="pln">444,25</arrears> <NoObjections>true</NoObjections> </Obligation> </Obligations> </Case> </AddInformation> 3
</Order> </InformationManagement> </Input>]]> </ns:data> <ns:chunkbag> <ns1:id>?</ns1:id> <ns1:count>?</ns1:count> <ns1:size>?</ns1:size> <ns1:nicciversion>?</ns1:nicciversion> </ns:chunkbag> </ns:upladchunkbagrequest> W odpowiedzi uzyskamy ID, którym należy się posługiwać w dalszej komunikacji do określania ID przesłanego pojemnika. Dodatkowo otrzymujemy wartość <Count> oraz <Size> określające cześć oraz wielkość pojemnika. <soap:body> <UploadChunkResult xmlns="http://siddin.datatypes/2006/09"> <ID>376b618e-9656-4edb-8b30-bd0acc11ca66</ID> <Count>1</Count> <Size>833</Size> <NicciVersion>NotSpecified</NicciVersion> </UploadChunkResult> </soap:body> 4
Zamykanie pojemnika Aby zamknąć pojemnik użyć należy metody CloseChunkBag. Przy zamykaniu pojemnika w znaczniku <ID> określić trzeba id pojemnika, które uzyskaliśmy przy poprzednim zapytaniu. Dodatkowo wprowadzenia wymagają znaczniki <Count><Size> oraz <NicciVersion>. Wartości te również zostały uzyskane przy odpowiedzi na wcześniejsze zapytanie. Opcjonalnie możemy określić znacznik <Description> (Opis zlecenia). xmlns:ns="http://siddin.servicecontracts/2006/09" xmlns:ns1="http://siddin.datatypes/2006/09"> <ns:closechunkrequest> <ns:ticket>a50a56394699621dc3e4b0e973f359bcb539f88b</ns:ticket> <ns:chunkbag> <ns1:id>376b618e-9656-4edb-8b30-bd0acc11ca66</ns1:id> <ns1:count>1</ns1:count> <ns1:size>833</ns1:size> <ns1:nicciversion>version_3_1</ns1:nicciversion> <ns:description>opis</ns:description> </ns:chunkbag> </ns:closechunkrequest> W odpowiedzi uzyskamy Job ID, który jest identyfikatorem przesłanego zlecenia <soap:body> <CloseChunkBagResult xmlns="http://siddin.servicecontracts/2006/09"> fc2ba3af-56fd-4934-a994-2ecae816f6ba</closechunkbagresult> </soap:body> 5
Pobieranie listy zleceń Aby pobrać listę zleceń na serwerze należy posłużyć się metodą GetJobs. Autoryzujemy się Tokenem. Podajemy interesujący nas Job ID. xmlns:ns="http://siddin.servicecontracts/2006/09"> <ns:getjobsrequest> <ns:ticket>a50a56394699621dc3e4b0e973f359bcb539f88b</ns:ticket> <ns:jobid>fc2ba3af-56fd-4934-a994-2ecae816f6ba</ns:jobid> </ns:getjobsrequest> W odpowiedzi uzyskamy status zlecenia oraz informacje dodatkowe. <soap:body> <GetJobsResult xmlns="http://siddin.servicecontracts/2006/09"> <Job> <JobNumber xmlns="http://siddin.datatypes/2006/09">128798</jobnumber> <QueueNumber xmlns="http://siddin.datatypes/2006/09">0</queuenumber> <QueueDate xmlns="http://siddin.datatypes/2006/09">2014-11- 26T10:44:22.413</QueueDate> <Status xmlns="http://siddin.datatypes/2006/09">zakończone. Gotowe do pobrania.</status> <StatusCode xmlns="http://siddin.datatypes/2006/09">processed</statuscode> <Progress xmlns="http://siddin.datatypes/2006/09">100</progress> <QueueLogin xmlns="http://siddin.datatypes/2006/09">nasz login</queuelogin> <JobID xmlns="http://siddin.datatypes/2006/09">fc2ba3af-56fd-4934-a994-2ecae816f6ba</jobid> <Description xmlns="http://siddin.datatypes/2006/09"/> </Job> </GetJobsResult> </soap:body> 6
Pobieranie ID pojemnika W celu uzyskania informacji o wyniku przetworzenia transzy, należy wywołać metodę GetChunkBag. Podajemy interesujący nas Job ID. xmlns:ns="http://siddin.servicecontracts/2006/09"> <ns:getchunkbagrequest> <ns:ticket>a50a56394699621dc3e4b0e973f359bcb539f88b</ns:ticket> <ns:jobid>fc2ba3af-56fd-4934-a994-2ecae816f6ba</ns:jobid> <ns:chunksize>1000000</ns:chunksize> </ns:getchunkbagrequest> W odpowiedzi uzyskamy ID Pojemnika. <soap:body> <GetChunkBagResult xmlns="http://siddin.datatypes/2006/09"> <ID>366664dc-3c9f-4f46-a6fc-7070470187f3</ID> <Count>1</Count> <Size>1479</Size> <NicciVersion>Version_3_1</NicciVersion> </GetChunkBagResult> </soap:body> 7
Uzyskiwanie informacji o pojemniku Aby uzyskać informację o danym pojemniku posłużyć się należy metodą DownloadChunkRequest. Przy wywołaniu, w miejscu <ID> należy podać numer uzyskany w wyniku odpytania metodą GetChunkBag. xmlns:ns="http://siddin.servicecontracts/2006/09" xmlns:ns1="http://siddin.datatypes/2006/09"> <ns:downloadchunkrequest> <ns:ticket>a50a56394699621dc3e4b0e973f359bcb539f88b</ns:ticket> <ns:chunkbag> <ns1:id>366664dc-3c9f-4f46-a6fc-7070470187f3</ns1:id> <ns1:count>1</ns1:count> <ns1:size>833</ns1:size> </ns:chunkbag> <ns:number>1</ns:number> </ns:downloadchunkrequest> W odpowiedzi uzyskamy status zlecenia oraz informacje dodatkowe. <soap:body> <DownloadChunkResult xmlns="http://siddin.servicecontracts/2006/09"><![cdata[<?xml version="1.0" encoding="utf-8"?> <Output xmlns:xsd="http://www.w3.org/2001/xmlschema" version="3.1" generator="krd.protocols.processors, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adfd9918e4b04a03" started="2014-11-26t10:45:10.8013889+01:00" processed="0001-01-01t00:00:00" ordercount="1" successcount="0" failcount="1"> <InformationManagement> <Order ID="1" status="fail"> <AddInformation informationtype="case" verifyresult="true"> <Error code="23">invalid Pesel</Error> 8
<Case showprovider="true"> <Debtor> <Consumer> <FirstName>test </FirstName> <Surname>Testowy</Surname> <IdentityNumber> <Pesel>11111111111</Pesel> </Identity]]></DownloadChunkResult> </soap:body> Usunięcie przesłanego pojemnika Aby usunąć przesłany pojemnik wywołać należy metodę RemoveChunkBag. Aby operacja się powiodła należy podać aktywny Ticket oraz Id pojemnika, który chcemy usunąć. xmlns:ns="http://siddin.servicecontracts/2006/09"> <ns:removechunkbagrequest> <!--Optional:--> <ns:ticket>a50a56394699621dc3e4b0e973f359bcb539f88b</ns:ticket> <ns:chunkbagid>366664dc-3c9f-4f46-a6fc-7070470187f3</ns:chunkbagid> </ns:removechunkbagrequest> Poprawne przetworzenie <soap:body/> 9
Wylogowanie W celu wylogowania się z serwisu należy użyć metody Logout. Jedynym parametrem koniecznym do określenia jest Ticket. xmlns:ns="http://siddin.servicecontracts/2006/09"> <ns:logoutrequest> <!--Optional:--> <ns:ticket>a50a56394699621dc3e4b0e973f359bcb539f88b</ns:ticket> </ns:logoutrequest> Poprawne przetworzenie <soap:body/> 10
Dokument został opracowany przez Dział Wsparcia Biznesu Krajowego Rejestru Długów Biura Informacji Gospodarczej SA. Nie jest materiałem szkoleniowym. Nie jest pełną specyfikacją webservice o nazwie kodowej SIDDIN oraz protokołu o nazwie kodowej NICCI. Ma jedynie na celu przybliżenie zasady działania oraz metody odpytania protokołu. Pełne specyfikacje wraz z opisem wszystkich wykorzystywanych przez komponenty metod dostępne są pod adresem http://info.krd.pl/programista.aspx Jeżeli będą mieli Państwo jakieś uwagi bądź pytania zapraszam do kontaktu. 11