jaką wartość ma obecny klucz testowy API w GUS-REGON
Janusz,
planuję zintegrować GUS-REGON z LMS/LMS+ (http://lms.org.pl / http://github.com/lmsgit/lms) w oparciu o zaprojektowaną przez Ciebie bibliotekę. Próbowałem wykonać testy na podanym przez GUS kluczu testowym API - zwraca błąd "bad user key". Pewnie zmienił się ten klucz - czy wiesz jaka jest obecna, prawidłowa wartość tego klucza?
Pozdrawiam, Tomasz Chiliński
Być może problem wynika, ze źle ustawionych adresów endpoint - używasz adresów produkcyjnych a klucza testowego.
Prawidłowe ustawienia dla klucza testowego:
$key = 'abcde12345abcde12345';
$gus = new GusApi(
$key,
new \GusApi\Adapter\Soap\SoapAdapter(
RegonConstantsInterface::BASE_WSDL_URL_TEST,
RegonConstantsInterface::BASE_WSDL_ADDRESS_TEST
)
);
Dla produkcji odpowiednio:
RegonConstantsInterface::BASE_WSDL_URL,
RegonConstantsInterface::BASE_WSDL_ADDRESS
@johnzuk tak - to było to. Nie zauważyłem w komentarzu podpowiedzi. Wielkie dzięki. Chętnie ze względów patriotycznych wesprę Twój projekt. W jaki sposób mogę to zrobić?
Hej, chyba najlepszą drogą będzie po prostu jakiś symboliczny donate https://www.paypal.me/johnzuk Z góry wielkie dzięki! ;)
Puściłem donation - dzięki za fajny kawałek kodu.
Przy okazji: zauważyłem, że jak szuka się po REGON to odpowiedź nie zawiera NIP (chyba przy każdym zapytaniu tak jest niestety). GUS-REGON jest w stanie odpowiadać zawierając NIP czy nie bardzo?
Niestety api zwraca danie bez NIP-u, trzeba użyć, getFullReport tam w zależności od typu raportu powinien znajdować się NIP
@johnzuk spójrz:
$regonToCheck = '051985520'; //change to valid regon value
$sessionId = $gus->login();
$gusReports = $gus->getByRegon($sessionId, $regonToCheck);
if (count($gusReports) > 1)
die;
$gusReport = $gusReports[0];
$reportType = $mapper->getReportType($gusReport);
$fullReport = $gus->getFullReport(
$sessionId,
$gusReport,
$reportType
);
print_r($fullReport);
Wynik:
SimpleXMLElement Object
(
[dane] => SimpleXMLElement Object
(
[fiz_regon9] => 051985520
[fiz_nazwa] => "CHILAN" TOMASZ XXXXXXXX
[fiz_nazwaSkrocona] => SimpleXMLElement Object
(
)
[fiz_dataPowstania] => 2001-02-22
[fiz_dataRozpoczeciaDzialalnosci] => 2001-02-22
[fiz_dataWpisuDoREGONDzialalnosci] => SimpleXMLElement Object
(
)
[fiz_dataZawieszeniaDzialalnosci] => SimpleXMLElement Object
(
)
[fiz_dataWznowieniaDzialalnosci] => SimpleXMLElement Object
(
)
[fiz_dataZaistnieniaZmianyDzialalnosci] => 2009-09-21
[fiz_dataZakonczeniaDzialalnosci] => SimpleXMLElement Object
(
)
[fiz_dataSkresleniazRegonDzialalnosci] => SimpleXMLElement Object
(
)
[fiz_adSiedzKraj_Symbol] => SimpleXMLElement Object
(
)
[fiz_adSiedzWojewodztwo_Symbol] => 20
[fiz_adSiedzPowiat_Symbol] => 61
[fiz_adSiedzGmina_Symbol] => 011
[fiz_adSiedzKodPocztowy] => 15866
[fiz_adSiedzMiejscowoscPoczty_Symbol] => 0922410
[fiz_adSiedzMiejscowosc_Symbol] => 0922410
[fiz_adSiedzUlica_Symbol] => 10013
[fiz_adSiedzNumerNieruchomosci] => 7
[fiz_adSiedzNumerLokalu] => 13
[fiz_adSiedzNietypoweMiejsceLokalizacji] => SimpleXMLElement Object
(
)
[fiz_numerTelefonu] => SimpleXMLElement Object
(
)
[fiz_numerWewnetrznyTelefonu] => SimpleXMLElement Object
(
)
[fiz_numerFaksu] => SimpleXMLElement Object
(
)
[fiz_adresEmail] => SimpleXMLElement Object
(
)
[fiz_adresStronyinternetowej] => SimpleXMLElement Object
(
)
[fiz_adresEmail2] => SimpleXMLElement Object
(
)
[fiz_adSiedzKraj_Nazwa] => SimpleXMLElement Object
(
)
[fiz_adSiedzWojewodztwo_Nazwa] => PODLASKIE
[fiz_adSiedzPowiat_Nazwa] => m. Białystok
[fiz_adSiedzGmina_Nazwa] => M. Białystok
[fiz_adSiedzMiejscowosc_Nazwa] => Białystok
[fiz_adSiedzMiejscowoscPoczty_Nazwa] => Białystok
[fiz_adSiedzUlica_Nazwa] => ul. Test-Krucza
[fizC_dataWpisuDoRejestruEwidencji] => 2001-02-22
[fizC_numerwRejestrzeEwidencji] => 57823
[fizC_OrganRejestrowy_Symbol] => 012206101
[fizC_OrganRejestrowy_Nazwa] => PREZYDENT MIASTA BIAŁYSTOK
[fizC_RodzajRejestru_Symbol] => 026
[fizC_RodzajRejestru_Nazwa] => EWIDENCJA DZIAŁALNOŚCI GOSPODARCZEJ
[fizC_numerTelefonu] => SimpleXMLElement Object
(
)
[fizC_numerWewnetrznyTelefonu] => SimpleXMLElement Object
(
)
[fizC_numerFaksu] => SimpleXMLElement Object
(
)
[fizC_adresEmail] => SimpleXMLElement Object
(
)
[fizC_adresStronyInternetowej] => SimpleXMLElement Object
(
)
)
)
więc chyba nie zwraca NIP :(
Dla osób prawnych zwraca jako praw_nip, a dla fizycznych niestety chyba nie :(
Nie chce mi się wierzyć, że niemożliwe jest odczytanie NIP dla osoby fizycznej prowadzącej działalność gospodarczą. Może nie takie zapytanie powinien wystosować w przypadku osoby fizycznej (F)?
@johnzuk zgodnie z dokumentacją w przypadku osoby fizycznej (F) można zapytać przez PublDaneRaportFizycznaOsoba (wtedy mamy NIP) i przez PublDaneRaportDzialalnoscFizycznejCeidg (wtedy nie mamy NIP). Czy biblioteka pozwala rozróżnić typ zapytania dla fizycznej?
Niestety pola zwracane zależą od wybranego typu raportu, tutaj plik z dokumentacji który zawiera nazwę raportu wraz z przykładowymi zwrotkami: PrzykladoweDaneZwracanePrzezBIR1.txt Typy raportów zmapowane są tutaj: https://github.com/johnzuk/GusApi/blob/master/src/GusApi/ReportTypes.php
No właśnie: w jaki sposób zapytać o REPORT_ACTIVITY_PHYSIC_PERSON gdy mam już ogólny raport z (F)?
Hej wystarczy zmienić typ raportu tutaj:
var_dump($gus->getFullReport(
$_SESSION['sid'],
$gusReport,
\GusApi\ReportTypes::REPORT_ACTIVITY_PHYSIC_PERSON
));
To jest to - wtedy mamy NIP:
SimpleXMLElement Object
(
[dane] => SimpleXMLElement Object
(
[fiz_regon9] => 051985520
[fiz_nip] => 5422456771
[fiz_nazwisko] => CHILIŃSKI
[fiz_imie1] => TOMASZ
[fiz_imie2] => SimpleXMLElement Object
(
)
[fiz_dataZaistnieniaZmiany] => 11-04-2017
[fiz_podstawowaFormaPrawna_Symbol] => 9
[fiz_szczegolnaFormaPrawna_Symbol] => 099
[fiz_formaFinansowania_Symbol] => 1
[fiz_formaWlasnosci_Symbol] => 214
[fiz_podstawowaFormaPrawna_Nazwa] => OSOBA FIZYCZNA PROWADZĄCA DZIAŁALNOŚĆ GOSPODARCZĄ
[fiz_szczegolnaFormaPrawna_Nazwa] => OSOBY FIZYCZNE PROWADZĄCE DZIAŁALNOŚĆ GOSPODARCZĄ
[fiz_formaFinansowania_Nazwa] => JEDNOSTKA SAMOFINANSUJĄCA NIE BĘDĄCA JEDNOSTKĄ BUDŻETOWĄ LUB SAMORZĄDOWYM ZAKŁADEM BUDŻETOWYM
[fiz_formaWlasnosci_Nazwa] => WŁASNOŚĆ KRAJOWYCH OSÓB FIZYCZNYCH
[fiz_dzialalnosciCeidg] => 1
[fiz_dzialalnosciRolniczych] => 0
[fiz_dzialalnosciPozostalych] => 0
[fiz_dzialalnosciZKrupgn] => 0
[fiz_jednostekLokalnych] => 0
)
)
W wierszach https://github.com/johnzuk/GusApi/blob/master/src/GusApi/ReportTypeMapper.php#L45-L50 mamy dozwolone mapowania (F) na typy raportów.
Dobrze rozumiem, że w zwrotce ogólnej jest sugerowany typ kontenera danych zawierający więcej informacji i ten domyślnie sugerowany dla (F) nie ma NIP?
Dorzuciłem coś takiego: https://github.com/lmsgit/lms/blob/master/modules/gusapi.php#L168-L174 czyli:
- Najpierw wydaję zapytanie ogólne.
- Potem wydaję zapytanie szczegółowe zgodnie z zaleceniem wynikającym z typu kontenera o który mogę odpytać.
- Następnie zapytuję z \GusApi\ReportTypes::REPORT_ACTIVITY_PHYSIC_PERSON i tam mam NIP.
Mapper działa w oparciu o dokumentację: PowiazanieRaportTyppodmiotuSilos.docx i próbuję dobrać odpowiedni raport na podstawie wartości pól silosID oraz typ.
Opisany przez Ciebie sposób wydaje się być ok
@johnzuk dzięki za wsparcie!