furkankadioglu/efatura

SMS Onayına Gönderilen Silinmiş Faturalar

brkygncn opened this issue · 0 comments

Faturaları onay için topladığımız getInvoicesFromAPI fonksiyonu maalesef silinmiş faturaları da getirdiği için onaya giden faturalar arasında silinmiş faturalar da gönderilip onaylanıyor. Burada tabii ki silinmiş faturayı onaylayan GİB'i sorgulamak lazım ancak ben çözümü aşağıdaki gibi bir fonksiyon daha ekleyerek, dönen faturalardan sadece "Onaylanmadı" olanları geri gönderiyorum. API erişimim olmadığı için daha nitelikli bir çözüm bulamadım. Belki daha istek aşamasında sadece onaylanmayanları da getirebiliriz.

Önerilen taslak

public function getNotDeletedInvoicesFromAPI($startDate, $endDate)
{
$parameters = [
"cmd" => "EARSIV_PORTAL_TASLAKLARI_GETIR",
"callid" => Uuid::uuid1()->toString(),
"pageName" => "RG_BASITTASLAKLAR",
"token" => $this->token,
"jp" => '{"baslangic":"' . $startDate . '","bitis":"' . $endDate . '","hangiTip":"5000/30000", "table":[]}'
];

    $body = $this->sendRequestAndGetBody(self::DISPATCH_PATH, $parameters);
    $this->checkError($body);

    // Array tipinden verilen tarih aralığında yer alan faturalar dönüyor
	$data = $body['data'];
	$dataFiltered = array();
	foreach($data as $item){
		if($item["onayDurumu"] == "Onaylanmadı"){
			array_push($dataFiltered, $item);
		}
	}
    $this->invoices = $dataFiltered;

    return $dataFiltered;
	//return $this->invoices;
}