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

ügyfél számlái #18

Open
albertborsos opened this issue Feb 14, 2018 · 5 comments
Open

ügyfél számlái #18

albertborsos opened this issue Feb 14, 2018 · 5 comments

Comments

@albertborsos
Copy link

Hello!

Szeretném leszűrni az ügyfélhez tartozó számlákat.
a dokumentációban nem találtam leírást arról, hogy a getInvoices végpontnál hogy tudok szűrni, próbáltam így /invoices?client_uid=0000000, de visszaadja az összes számlát.

Próbáltam az invoices/query végpontot is, de az null-t ad vissza.

Kérhetek ehhez egy kis segítséget? Köszönöm!

@albertborsos
Copy link
Author

albertborsos commented Feb 15, 2018

Ne csodálkozzatok, ha lehalnak a szerverek, ha így kell szűrni az ügyfelek számláit :D

    public function getInvoices($filters = [])
    {
        $page = 1;
        $invoices = [];
        do {
            $response = $this->getApi()->get('invoices', [
                'page' => $page,
                'max_per_page' => 1,
            ]);

            if (is_array($response)) {
                $invoices = \CMap::mergeArray($invoices, $response);
            }

            $page++;
        } while ($response !== null);

        return array_filter($invoices, function ($item) use ($filters) {
            foreach ($filters as $attribute => $value) {
                if ($value == \ArrayHelper::getValue($item['attributes'], $attribute)) {
                    return true;
                }
            }
            return false;
        });
    }

@ttanai
Copy link

ttanai commented Feb 15, 2018

Általában, ha API küldi be a számlát a rendszerbe, akkor a rendszer által visszaadott invoice id a küldő oldalon tárolásra kerül. Ennek segítségével egyedileg lekérdezhető egy-egy számla adata.
A page-nkénti adatvisszaadás célja pont az, hogy ne egy nagy adatmennyiség lekérdezése és mozgatása terhelje le egyszerre a szervert.
Természetesen kialakítható, hogy ügyfelenként lehessen lekérdezni, de akkor már érdemes lenne minden paraméterre szűrni (fizetésmód, dátumok, stb).
Felkerült az API todo listára.

@albertborsos
Copy link
Author

Köszönöm a választ!

Azért nem reális usecase az, hogy letárolom magamnál a számlaazonosítókat, mert ugye van egy webes felület is, ahol ettől függetlenül tudok ugyanehhez az ügyfélhez tartozó új számlákat létrehozni. Ebben az esetben a webes felületen létrehozott számlákról nem fogok tudni.

Tudom, hogy mi a lényege a lapozásnak. Pont ugyanez a lényege a szűrésnek is :)

Nem kimondottan csak ügyfélre szűrnék, csak ahogy elkezdtem implementálni a számlázást a crm-ünkben, ez volt az első ami előjött. Igen jó lenne minden paraméterre szűrni. Még a státuszra is.

@Razoralpha
Copy link

Azért sem mert többször előfordult hogy gateway timeoutot kaptunk rendszeresen, akkor pedig bizony nincs semmilyen id a kezünkben.
Egyébként valahogy sikerült arra a részre nem válaszolni, hogy miért NULL a válasz egy invoices/query-re.

@albertborsos
Copy link
Author

albertborsos commented Feb 17, 2018

Nem nagyon adnak választ semmire :D Amúgy most kaptam egy fülest, hogy készen van a billcity.hu-nak a REST API-ja. Elvileg kapok hozzáférést még tesztüzem alatt. Kiváncsi leszek, hogy az milyen lesz.

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

3 participants