ahmeti / ptt-kargo-api
PTT Kargo Api (PHP)
Installs: 364
Dependents: 0
Suggesters: 0
Security: 0
Stars: 40
Watchers: 7
Forks: 23
Open Issues: 0
Requires
- php: >=5.0.0
This package is auto-updated.
Last update: 2024-10-22 12:59:56 UTC
README
PTT Web Servisini kullanabilmek için PTT İl Müdürlüklerinden, Müşteri ID ve Müşteri şifre bilgilerinizi öğrenebilirsiniz.
PTT Web Servis Dokümanları
https://github.com/ahmeti/ptt-kargo-api/blob/master/01_PTT_Entegrasyon_Giris.pdf
https://github.com/ahmeti/ptt-kargo-api/blob/master/02_PTT_Veri_Yukleme_Web_Servisi.pdf
PTT Ek Hizmet Kodları
AA - ADRESTEN ALMA
ST - ŞEHİR İÇİ TESLİM
DK - DEĞER KONULMUŞ
OS - ÖDEME ŞARTLI
AH - ALMA HABERLİ
AK - ALICININ KENDİNE TESLİM
TA - TELEFONLA BİLGİLENDİRME
KT - KONTROLLU TESLIM
OU - ÖZEL ULAK
UA - ÜCRETİ ALICIDAN TAHSİL
GD - GİDİŞ-DÖNÜŞ
SV - SERVİS
RP - RESMİ PUL
UO - ÜCRET ÖDEME MAKİNESİ
VI - KREDİ KARTI
PC - POSTA ÇEKİ HESABI
DN - BARKOD DÖNÜŞLÜ
PI - PTT ISYERINE TESLIM
AT - ADLI TIP
PR - POSTRESTANT
SB - SMS ILE BILGILENDIRME
PTT Durum Kodları
Listenin tamamını görmek için 03_PTT_Durum_Kodlari.md
Durum kodları listesi Arif Bey'in desteği ile hazırlanmıştır.
Composer ile Yükleme
https://packagist.org/packages/ahmeti/ptt-kargo-api
composer require "ahmeti/ptt-kargo-api:@dev"
Ortam Değişkenleri
PTT_ACT_ID=
PTT_ACT_PASS=
Ortam Değişkenleri Tanımlı İse
<?php # pttApi nesnemizi .env değişkenleri ile oluşturuyoruz. $pttApi = new \Ahmeti\PttKargoApi\PttKargoApi();
Ortam Değişkenleri Tanımlı Değil İse
<?php # pttApi nesnemizi parametre ile oluşturuyoruz. $pttApi = new \Ahmeti\PttKargoApi\PttKargoApi($pttMusteriId, $pttMusteriSifre);
01. Barkod Sorgu
<?php $result = $pttApi->barkodSorgu('KP02168XXXXXX'); if( is_array($result) ){ // Başarılı var_dump($result); }else{ // Hata (SoapFault) var_dump($result); }
02. Gönderi Hareket İşlem Tarihi Sorgu
<?php $result = $pttApi->gonderiHareketIslemTarihiSorgu('2018-03-01'); if( is_array($result) ){ foreach( $result['dongu'] as $item ){ // Başarılı var_dump($item); } }else{ // Hata (SoapFault) var_dump($result); }
03. Ptt Veri Yükle 2
API: https://pttws.ptt.gov.tr/PttVeriYukleme/services/Sorgu?wsdl
<?php use Ahmeti\PttKargoApi\PttVeriYukle2; # $items = (array) Kargo Bilgileri $ptt = (new PttVeriYukle2())->kullanici('PttWs') ->sifre(env('PTT_ACT_PASS')) ->musteriId(env('PTT_ACT_ID')) ->dosyaAdi(date('Ymd-His-').uniqid()) ->gonderiTur('KARGO') ->gonderiTip('NORMAL'); foreach ($items as $item){ $ptt->aAdres($item->aAdres) ->agirlik($item->agirlik) ->aliciAdi($item->aliciAdi) ->aliciIlAdi($item->aliciIlAdi) ->aliciIlceAdi($item->aliciIlceAdi) ->aliciSms($item->aliciSms) ->barkodNo($item->barkodNo) ->boy($item->boy) ->deger_ucreti($item->deger_ucreti) ->desi($item->desi) ->ekhizmet($item->ek_hizmet) ->en($item->en) ->musteriReferansNo($item->musteriReferansNo) ->odemesekli($item->odemesekli) ->odeme_sart_ucreti($item->odeme_sart_ucreti) ->rezerve1($item->rezerve1) ->yukseklik($item->yukseklik) ->ekle(); } $result = $ptt->yukle(); if( is_array($result) && $result['hataKodu'] == 1 ){ print_r($result); foreach ($result['dongu'] as $barcode){ // $barcode } return true; }else{ print_r($result['aciklama']); return false; }
04. Ptt Barkod Veri Sil
Oluşturduğumuz barkodu silmek için aşağıdaki metodu kullanabilirsiniz.
API: https://pttws.ptt.gov.tr/PttVeriYukleme/services/Sorgu?wsdl
<?php use Ahmeti\PttKargoApi\PttBarkodVeriSil; $ptt = new PttBarkodVeriSil(); $result = $ptt->barcode('BARKOD NO') ->dosyaAdi('BORKODU İLK KAYDETTİĞİNİZ DOSYA ADI') ->musteriId('XXX_Musteri_Id') ->sifre('XXX_Sifre') ->sil(); if( is_array($result) && $result['hataKodu'] == 1 ){ print_r($result); return true; }else{ print_r($result); return false; }