nav-gov-hu / Online-Invoice

Public repository of the Online Invoice System
Other
139 stars 52 forks source link

[DEV support] #1031

Open RitzenthalerF opened 1 year ago

RitzenthalerF commented 1 year ago

Környezet / Environment [x] https://api-test.onlineszamla.nav.gov.hu

Hívott API operáció / called API operation [] /manageAnnulment [] /manageInvoice [x] /queryInvoiceChainDigest [] /queryInvoiceCheck [x] /queryInvoiceData [] /queryInvoiceDigest [] /queryTransactionList [] /queryTransactionStatus [] /tokenExchange

A kérés verziója / version of the request [] 1.1 [] 2.0 [x] 3.0

A requestId értéke / requestId value

lásd lent

A probléma rövid és tömör leírása / Clear and concise description of the problem Sziasztok, Egy adott adózó számláit szeretnék lekérni az API-n keresztül a queryInvoiceData requesttel, majd azt követően a queryInvoiceDatá-val a részletes tartalmát. Az innen letöltött 'Examples' mappában lévő példákból dolgozom, az alapján csináltam az alábbiakat. Ez a válasz jön: NavOnlineInvoice\GeneralErrorResponse: Feldolgozás sikertelen! (OPERATION_FAILED)

Az autentikációm elvileg jó, mert ha annál módosítok valamit, akkor autentikációs hibaüzenetet kapok. Ráadásul, ha a queryInvoiceData operációt próbálom, és megadok egy ismert számla adatait, akkor ugyanezt a hibaüzenetet dobja vissza.

Jól gondolom, hogy a requestID-val itt nem kell foglalkoznom?

A $softwareData adataiban lehet bármi olyan hiba, ami ezt a hibaüzenetet okozza?

Köszönöm előre is a segítséget! Frici

Egyéb tartalom / Additional content ` include("config.php");

try {
    $config = new NavOnlineInvoice\Config($apiUrl, $userData, $softwareData);
    $reporter = new NavOnlineInvoice\Reporter($config);

    $invoiceQueryParams = [
        "mandatoryQueryParams" => [
            "invoiceIssueDate" => [
                "dateFrom" => "2022-01-01",
                "dateTo" => "2022-01-11",
            ],

        ],
    /*
        "relationalQueryParams" => [
            "invoiceDelivery" => [
                "queryOperator" => "GTE",
                "queryValue" => "2022-01-01",
            ],
            // Több feltétel esetén ugyanazon elemhez tömbben adjuk át a gyerek elemeket

            "paymentDate" => [
                [
                    "queryOperator" => "GTE",
                    "queryValue" => "2022-01-01",
                ],
                [
                    "queryOperator" => "LTE",
                    "queryValue" => "2022-01-28",
                ],
            ],
        ], */
    ];

    $page = 1;

    $invoiceDigestResult = $reporter->queryInvoiceDigest($invoiceQueryParams, $page, "OUTBOUND");

    print "Query results XML elem:\n";
    var_dump($invoiceDigestResult);

    // Request XML for debugging:
    // $data = $reporter->getLastRequestData();
    // $requestXml = $data['requestBody'];
    // var_dump($requestXml);

} catch(Exception $ex) {
    print_r($ex);
    print get_class($ex) . ": " . $ex->getMessage();
}`
NTCA-supporter commented 1 year ago

Szia @RitzenthalerF ! Küldj kérlek egy requestId-t amivel próbálkoztál és akkor azt megnézem. Üdv

RitzenthalerF commented 1 year ago

Szia! Ez volt egy queryInvoiceDigest: RID034215200167388015336349

És ez egy queryInvoiceData: RID081987000167388023240347

Köszi! Frici

NTCA-supporter commented 1 year ago

Szia! A passwordHash-t uppercase-el kell beküldeni, akkor jó lesz :) Üdv

RitzenthalerF commented 1 year ago

Szia, Megpróbáltam, de erre azt írja ki, hogy helytelen autentikációs adatok :(

reqID: RID053029500167388318249759

Köszi

NTCA-supporter commented 1 year ago

Szia!

Ehhez az interfész spec ide vonatkozó leírását tudom bemásolni: Számos esetben jelentkezhet a hibaüzenet. Lehetséges okok: a megadott login névvel nem létezik felhasználó, vagy nem helyes a jelszava, vagy a login + passwordHash pár szemantikailag helyes, de a jelszóhash rosszul kerül kiszámításra a kliens oldalán. Meg kell győződni az adatok és a hashelés helyességéről, szükség esetén fel kell venni a kapcsolatot a technikai felhasználót birtokló adózóval.

Egyébként megnéztem, és ilyen user nincs is a teszt rendszeren. Véletlenül nem az éles userrel próbálkozol? A teszt és éles között nincs átjárhatóság, teszt rendszerhez külön felhasználó szükséges.

Üdv

RitzenthalerF commented 1 year ago

Szia! Igen, köszönöm, valóban ez volt a probléma, hogy éles felhasználó volt :) Most már ez a válasz jön le: Query results XML elem: SimpleXMLElement Object ( [currentPage] => 1 [availablePage] => 0 )

Ez most azért nem tartalmaz adatot, mert teszt környezet, és csak az élesben hozza le a tényleges adatokat? Ha át akarok menni az élesbe, akkor ezt a define-t mire kell átírnom?

define("TEST_DATA_DIR", __DIR__ . "/../tests/testdata/");

Köszi még egyszer!!

RitzenthalerF commented 1 year ago

Szia! Tudtál esetleg foglalkozni ezzel, mert még mindig azt írja nekem akármelyik requestnél, hogy availablePage = 0. A queryInvoiceDatánál sem ad eredményt, ezt írja: object(SimpleXMLElement)#3 (0) { } bool(false) NULL

Request ID-k: RID091379200167448197787544 (queryInvoiceData) RID091607000167448221484973 (queryInvoiceDigest)

Köszönöm, Frici

NTCA-supporter commented 1 year ago

Szia!

Azért nincs találat, mert ezzel az adószámmal a tesztrendszerben még nincs egyetlen számla sem. Számlák esetében pláne nincs átjárás az éles és teszt rendszer között, ha esetleg éles rendszerben szereplő számlákkal próbálkozol.

Üdv

RitzenthalerF commented 1 year ago

Szia, Tegnap sikerült, viszont most egy ilyen hibát ír ki: Fatal error: Uncaught Error: Call to undefined function NavOnlineInvoice\curl_exec() in /web/Classes/NAVOnline/src/NavOnlineInvoice/Connector.php:89 Stack trace: #0 /web/Classes/NAVOnline/src/NavOnlineInvoice/Reporter.php(143): NavOnlineInvoice\Connector->post() #1 /web/Classes/NAVOnline/examples/queryInvoiceDigest.php(51): NavOnlineInvoice\Reporter->queryInvoiceDigest() #2 {main} thrown in /web/Classes/NAVOnline/src/NavOnlineInvoice/Connector.php on line 89

renced42 commented 1 year ago

@RitzenthalerF

Ez a hiba PHP kód hiba miatt van nem az API adja vissza.

RitzenthalerF commented 1 year ago

Szia, Igen, bocsi, most esett le, hogy mi tiltottuk le véletlenül ezt a funkciót :D Szerintem így már sínen vagyok, és még egyszer köszönöm szépen a segítségeteket!

Frici