Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.

tarfin-labs/laravel-iys

Repository files navigation

Laravel Iys

Latest Version on Packagist GitHub Workflow Status Quality Score Total Downloads

Laravel İleti Yönetim Sistemi (IYS) entegrasyonu.

Kurulum

Laravel-iys paketini composer ile aşağıdaki komutu çalıştırarak kolayca ekleyebilirsiniz:

composer require tarfin-labs/laravel-iys

Sonrasında config dosyasını yayınlamanız gerekmektedir:

php artisan vendor:publish --provider="TarfinLabs\Iys\IysServiceProvider"

Konfigurasyonu tamamlamak için .env dosyasına aşağıdaki bilgileri eklemelisiniz:

IYS_URL=
IYS_USERNAME=
IYS_PASSWORD=
IYS_CODE=
IYS_BRAND_CODE=

Kullanım

IYS API dokümantasyonu ve dönen istek cevaplarına https://dev.iys.org.tr/ adresinden ulaşabilirsiniz.

Marka Yönetimi

Marka Listeleme:

$response = Iys::brands()->all();

veya

$iys = new \TarfinLabs\Iys\Iys();
$response = $iys->brands()->all();

İzin Yönetimi

Tekil İzin Ekleme

$response = Iys::consents()->create([
                'consentDate'    => '2018-02-10 09:30:00',
                'source'         => 'HS_CAGRI_MERKEZI',
                'recipient'      => '+905813334455',
                'recipientType'  => 'BIREYSEL',
                'status'         => 'ONAY',
                'type'           => 'ARAMA',
                'retailerCode '  => 11223344,
                'retailerAccess' => [
                     22233344,
                     44222419,
                     13239987
                ]
            ]);

Tekil İzin Durumu Sorgulama

$response = Iys::consents()->status([
                'recipient'     => '+905813334455',
                'recipientType' => 'BIREYSEL',
                'type'          => 'MESAJ',
            ]);

Asenkron Çoklu İzin Ekleme

$response = Iys::consents()->createMany([
             [
                 'consentDate'    => '2018-02-10 09:30:00',
                 'source'         => 'HS_MESAJ',
                 'recipient'      => '+905813334455',
                 'recipientType'  => 'BIREYSEL',
                 'status'         => 'RET',
                 'type'           => 'ARAMA',
                 'retailerCode '  => 11223344,
                 'retailerAccess' => [
                     22233344,
                     44222419,
                     13239987
                 ]
             ],
             [
                 'consentDate'    => '2018-02-10 09:40:00',
                 'source'         => 'HS_WEB',
                 'recipient'      => '[email protected]',
                 'recipientType'  => 'BIREYSEL',
                 'status'         => 'ONAY',
                 'type'           => 'EPOSTA',
                 'retailerCode '  => 11223344,
                 'retailerAccess' => [
                     22233344,
                     44222419,
                     13239987
                 ]
             ],
         ]);

Çoklu İzin Ekleme İsteği Sorgulama

$response = Iys::consents()->statuses($requestId = '73b75030-3a92-4f1e-b247-b0509dbadbfc');

Bayi Yönetimi

Bayi Ekleme

$response = Iys::retailers()->create([
            'tckn'   => 42790000000,
            'name'   => 'Adım Soyadım',
            'city'   => [
                'name' => 'İstanbul',
                'code' => '34'
            ],
            'town'   => [
                'name' => 'Şişli',
                'code' => '05'
            ],
            'title'  => 'ADIM SOYADIM TİCARET',
            'mersis' => '0015001526400496',
            'alias'  => 'ŞİŞLİ MAĞAZASI',
            'mobile' => '+905357990000'
        ]);

Bayi Sorgulama ve Listeleme

  • IYS numarası verilen bayi bilgilerini getirme:
$response = Iys::retailers()->find($retailerCode = 66438915);
  • Tüm bayiler detaylı bilgi ile birlikte:
$response = Iys::retailers()->all();
  • Sayfalama opsiyonları ile birlikte:
$response = Iys::retailers()->all($offset = 100, $limit = 10);

Bayi Silme

$response = Iys::retailers()->delete($retailerCode = 66438915);

Bayi İzin Yönetimi

Bayi İzin Erişimi Ekleme

$response = Iys::consents()->giveAccess([
                 'recipient' => '+905370000000',
                 'recipientType' => 'TACIR',
                 'type' => 'MESAJ',
                 'retailerAccess' =>  [66438915, 66438916],
             ]);

Bayi İzin Erişimi Verme

$response = Iys::consents()->giveManyAccess([
                 'recipient'      => [
                     '+905370000000',
                     '+905370000001'
                 ],
                 'recipientType'  => 'TACIR',
                 'type'           => 'EPOSTA',
                 'retailerAccess' => [
                     66438915,
                     66438916
                 ],
             ]);

Bayi İzin Erişimi Sorgulama

  • Sayfalama bilgileri ön tanımlı değerler ile istek:
$response = Iys::consents()->accessList([
                 'recipient'     => '[email protected]',
                 'recipientType' => 'TACIR',
                 'type'          => 'MESAJ',
             ]);
  • Sayfalama bilgileri ile istek:
$response = Iys::consents()->accessList([
                 'recipient'     => '[email protected]',
                 'recipientType' => 'TACIR',
                 'type'          => 'MESAJ',
             ], 100, 10);

Bayi İzin Erişimi Silme

$response = Iys::consents()->deleteAccess([
                 'recipients'     => [
                     '+905377115251',
                     '+905377115251',
                 ],
                 'recipientType'  => 'BIREYSEL',
                 'type'           => 'MESAJ',
                 'retailerAccess' => [
                     66438915,
                     66438916,
                 ],
             ]);

Tüm Bayilerin İzin Erişimini Silme

$response = Iys::consents()->deleteAllAccess([
                 'recipients'     => [
                     '+905377115251',
                     '+905377115251',
                 ],
                 'recipientType'  => 'BIREYSEL',
                 'type'           => 'MESAJ',
             ]);

Test

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

If you discover any security-related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.