Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jaką wartość ma obecny klucz testowy API w GUS-REGON #41

Open
chilek opened this issue Feb 16, 2018 · 17 comments
Open

jaką wartość ma obecny klucz testowy API w GUS-REGON #41

chilek opened this issue Feb 16, 2018 · 17 comments

Comments

@chilek
Copy link

chilek commented Feb 16, 2018

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

@johnzuk
Copy link
Owner

johnzuk commented Feb 16, 2018

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

@chilek
Copy link
Author

chilek commented Feb 16, 2018

@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ć?

@johnzuk
Copy link
Owner

johnzuk commented Feb 18, 2018

Hej, chyba najlepszą drogą będzie po prostu jakiś symboliczny donate
https://www.paypal.me/johnzuk
Z góry wielkie dzięki! ;)

@chilek
Copy link
Author

chilek commented Feb 19, 2018

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?

@johnzuk
Copy link
Owner

johnzuk commented Feb 19, 2018

Niestety api zwraca danie bez NIP-u, trzeba użyć, getFullReport tam w zależności od typu raportu powinien znajdować się NIP

@chilek
Copy link
Author

chilek commented Feb 19, 2018

@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 :(

@chilek
Copy link
Author

chilek commented Feb 19, 2018

Dla osób prawnych zwraca jako praw_nip, a dla fizycznych niestety chyba nie :(

@chilek
Copy link
Author

chilek commented Feb 19, 2018

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)?

@chilek
Copy link
Author

chilek commented Feb 19, 2018

@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?

@johnzuk
Copy link
Owner

johnzuk commented Feb 19, 2018

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

@chilek
Copy link
Author

chilek commented Feb 19, 2018

No właśnie: w jaki sposób zapytać o REPORT_ACTIVITY_PHYSIC_PERSON gdy mam już ogólny raport z (F)?

@johnzuk
Copy link
Owner

johnzuk commented Feb 19, 2018

Hej wystarczy zmienić typ raportu tutaj:

var_dump($gus->getFullReport(
                        $_SESSION['sid'],
                        $gusReport,
                        \GusApi\ReportTypes::REPORT_ACTIVITY_PHYSIC_PERSON
                    ));

@chilek
Copy link
Author

chilek commented Feb 19, 2018

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
        )

)

@chilek
Copy link
Author

chilek commented Feb 19, 2018

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?

@chilek
Copy link
Author

chilek commented Feb 19, 2018

Dorzuciłem coś takiego:
https://github.com/lmsgit/lms/blob/master/modules/gusapi.php#L168-L174
czyli:

  1. Najpierw wydaję zapytanie ogólne.
  2. Potem wydaję zapytanie szczegółowe zgodnie z zaleceniem wynikającym z typu kontenera o który mogę odpytać.
  3. Następnie zapytuję z \GusApi\ReportTypes::REPORT_ACTIVITY_PHYSIC_PERSON i tam mam NIP.

@johnzuk
Copy link
Owner

johnzuk commented Feb 19, 2018

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

@chilek
Copy link
Author

chilek commented Feb 19, 2018

@johnzuk dzięki za wsparcie!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants