furkankadioglu/efatura

İndirme link

Opened this issue · 5 comments

İndirme linki nasıl kullanılıyor? İşlemi yapınca link oluşuyor tıklayınca yetki hatası veriyor. Müşteriye indirme url sini mail atmak istiyorum. Nasıl yqpmalıyım

Merhaba @crazymesut,

Geçtiğimiz günlerde GIB portalda işlem yaptığımız token bilgisi içine IP adresini de ilave etmişler. Dolayısıyla indirme linki müşterinize gönderdiğinizde çalışmayacaktır. Sadece token oluşturulan IP'den indirebilirsiniz.

Müşterinize göndereceğiniz e-postada; indirilme linkini değil, dosyaların kendisini ek olarak göndermeniz gerekmektedir.

İyi çalışmalar.

@ahmeti
ne yaptım ise aşağıdaki hatayı geçemedim. Örnek bir kod var mıdır?

{"error":"1","messages":[{"type":"7","text":"Bu işlem için yetkiniz yok"}]}

Merhaba @crazymesut,

Basit bir şekilde aşağıdaki örnek ile .zip dosyasını indirebilirsin.

use furkankadioglu\eFatura\InvoiceManager;

function download($gib_username, $gib_password, $uuid)
{
    $client = new InvoiceManager();
    $client->setUsername($gib_username);
    $client->setPassword($gib_password);

    $client->connect();

    $invoice = new Invoice();
    $invoice->setUuid($uuid);

    $downloadUrl = $client->setInvoice($invoice)->getDownloadURL(null, true);
    
    file_put_contents($uuid.'.zip', fopen($downloadUrl , 'r'));

    $client->logOutFromAPI();
}

@ahmeti
verdiğiniz kodları bire bir denedim genede {"error":"1","messages":[{"type":"7","text":"Bu işlem için yetkiniz yok"}]} bu hatayı geçemedim.
"Bu işlem için yetkiniz yok" diye hata mesajı dönüyor kod ile alakalı değil yetki ile alakalı olabilir mi?
Local ve server üzerinde 2de aynı hatayı alıyorum

$e = $portal->setInvoice($oldInvoice)->getDownloadURL();
$fp = fopen ('Fatura/'.$q->belgeNumarasi." ".$q->ettn.'.zip', 'w+');
$ch = curl_init(str_replace(" ","%20",$e));
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);

curl ile deneyebilirmisiniz.