Aşağıdaki kod yardımı ile gelen istekleri api isteği ile karşı sunucuya gönderiyorum. Ancak benim sunucumdan mı yoksa kodumdan mı yoksa karşı api tarafında mı sorun var çözemedim.
Sorunum şu; diyelim ki 1-2 veri gönderdik sorun yok ama 150 veri gönderdik. Arada gitmeyenler oluyor ve bizim sistemde tekrardan göndermek istediğimde if(strpos($result->SistemeKayitGirResult,$siparis_kontrol["sipariskodu"]) !== false){ kısmı çalışıyor. Buna nasıl bir çözüm bulabilirim?
if($siparis_kontrol['kargo_sube'] == 119){
try {
$opts = array(
'http' => array(
'user_agent' => 'PHPSoapClient'
)
);
$context = stream_context_create($opts);
$wsdlUrl = 'http://185.22.187.32/elci2017/webservice2021.asmx?op=SistemeKayitGir&WSDL';
$soapClientOptions = array(
'stream_context' => $context,
'cache_wsdl' => WSDL_CACHE_NONE
);
$client = new SoapClient($wsdlUrl, $soapClientOptions);
$checkVatParameters = array(
'MUSTERI_YETKILI_MAIL' => "xx",
'MUSTERI_YETKILI_SIFRE' => "xx",
'MUS_BARKOD_NO' => "0",
'URUN_SATICI' => "0",
'SIPARIS_NO' => $siparis_kontrol["sipariskodu"],
'URUN_ADI' => $siparis_kontrol["urunadi_"].$varyant_yaz,
'URUN_ADET' => 1,
'URUN_DESI' => 1,
'URUN_KILO' => 0,
'URUN_UCRETI' => $siparis_kontrol["tutar"],
'ALICI_ISIM' => $siparis_kontrol["isimsoyisim"],
'ALICI_TELEFON1' => ltrim(str_replace(['(',')','-',' '],'',$siparis_kontrol["telefon"]),'0'),
'ALICI_TELEFON2' => ltrim(str_replace(['(',')','-',' '],'',$siparis_kontrol["telefon"]),'0'),
'ALICI_ADRES' => $siparis_kontrol["adres"],
'ALICI_SEMT' => $siparis_kontrol["ilce"],
'ALICI_SEHIR' => $siparis_kontrol["il"],
'ODEME_SEKLI' => "0",
'TESLIM_ACIKLAMA' => "0",
'FATURA_KESILSIN' => "HAYIR",
'FATURA_KDV' => 0,
'KARGO_FATURA_KDV' => 0
);
$result = $client->SistemeKayitGir($checkVatParameters);
if(strpos($result->SistemeKayitGirResult,$siparis_kontrol["sipariskodu"]) !== false){
$json["msg"] = "Bu sipariş daha önce kargoya verilmiştir.";
}else{
$json["msg"] = $siparis_kontrol["sipariskodu"]." nolu sipariş kargoya verilmiştir";
$updateSipQ = $db->prepare('UPDATE siparisler_ SET siparis_durum=?,kargo_tarih=? WHERE id=?');
$updateSip = $updateSipQ->execute([2,date('Y-m-d'),$siparis_kontrol["id"]]);
log_ekle($siparis_kontrol["sipariskodu"]." no'lu siparişin kargolama işlemi başlatıldı. ");
}
} catch (Exception $e) {
$json["msg"] = "Sistem hatası. Kargo sunucusuna bağlanamadı.";
}
}