Genel Bakış

Versiyon bilgisi

Versiyon : v1

URI şeması

Sunucu : my.epias.com.tr
Kök Dizin : /ecms-helper-services/rest
Şemalar : HTTPS

Etiketler

  • hs

Döküman Hakkında

Bu dökümanda Yardımcı Servislerin tanımları ve bu servislerin nasıl çağrılacağı anlatılmaktadır.

Döküman her sürümde güncellendiğinden test ve gerçek ortam içerisindeki servisler farklılık gösterebilir. Sürüm notlarını takip ediniz.

Değişiklikler

1.0.0 Servis tanımları 1.0.1 Dökümantasyon iyileştirmeleri

Uygulama Hakkında

Bu uygulama REST servisleri üzerine kuruludur. JSON ve XML isteklerini kabul eder ve gelen isteğe göre JSON yada XML cevap döner.

Uygulamayı çağırabilmek için DGPYS de kayıtlı bir kullanıcınız olmalı ve bu kullanıcının ilgili servisleri çağırabilmek için yeterli yetkisi olmalıdır. Uygulamaya gelen tüm istekler Merkezi Yetkilendirme Sunucusu’ndan (gerçek ortam için https://cas.epias.com.tr test ortamı için https://testcas.epias.com.tr) etiket alınarak gönderilmelidir.

İstemci Oluşturmak

Servis dökümantasyonu Swagger ile hazırlanmıştır. Gerçek ortam için https://tys.epias.com.tr/ecms-helper-services/test/swagger.json gerçek ortam için https://testtys.epias.com.tr/ecms-helper-services/test/swagger.json dosyasını kullanarak https://generator.swagger.io adresinden kullandığınız dile uygun istemci kodlarını oluşturabilirsiniz.

Yardım ve Destek

Uygulama için gorusleriniz.st@epias.com.tr adresine görüş, öneri ve yardım isteklerinizi gönderebilirsiniz.

Uygulama Servis Çağrımı

TGT (Ticket Granting Ticket) kullanıcının oturumunu kontrol eder. TGT Servisinden alacağınız değer 45 dakika boyunca kullanmasanız bile aktiftir. TGT değerini her kullanışınızda 45 dakikalık süre tekrar başlar.

TGT ile servisi çağırmanız mümkün değildir. Her servis çağrımında TGT üzerinden ST (Service Ticket) almanız gerekir. TGT tekrar kullanılabilen bir değerdir. Her istek için TGT almanıza gerek yoktur. Her istek için TGT almanız halinde CAS (Merkezi Yetkilendirme Sunucusu) tarafından bloke edilebilirsiniz.

Ticket Granting Ticket (TGT) Oluşturma

TGT oluşturmak için gerçek ortam https://cas.epias.com.tr/cas/v1/tickets?format=text yada test ortamı https://testcas.epias.com.tr/cas/v1/tickets?format=text adresine aşağıdaki değerleri POST metodu ile göndermeniz gerekmektedir. format parametresi aşağıdaki değerleri alır.

parametre değer

xml

xml response döner

json

json response döner

text

text response döner

Gönderilen HTTP isteğinin header kısmında Content-Type ise aşağıdaki değerleri alabilir.

parametre değer

xml

application/xml

json

application/json

text

application/x-www-form-urlencoded

parametre değer

username

DGPYS Kullanıcı Adı

password

DGPYS Şifresi

örnek http isteği
POST /cas/v1/tickets HTTP/1.1
Host: cas.epias.com.tr
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

username=PK195&password=PK195

Servisten HTTP 201 cevabını beklemelisiniz. Sonuç olarak aşağıdaki gibi bir örnek dönecektir.

örnek cevap
TGT-237-U0TU0jUHLyOEIrdoDBEEf3AdRFAXGLifK2ITn4LoY3HfhstGtx-cas02.epias.com.tr

Service Ticket (ST) Oluşturma

ST oluşturmak için önce TGT alınmalıdır. TGT alındıktan sonra şu şekilde bir istek adresi oluşturulur. Gerçek ortam için https://cas.epias.com.tr/cas/v1/tickets/{TGT} test ortamı için https://testcas.epias.com.tr/cas/v1/tickets/{TGT} ST için xml veya JSON cevap alabilmeniz için url şu şekilde oluşturmalısınız.

örnek xml tipinde cevap için url formatı
https://cas.epias.com.tr/cas/v1/tickets/TGT-229-2hmcHafszagAAxtCh017nax1en3U9TouWeGvIrq9KbSbeKE9Zk-cas02.epias.com.tr?format=xml
cevap
<st>ST12312312312321</st>
örnek json tipinde cevap için url formatı
https://cas.epias.com.tr/cas/v1/tickets/TGT-229-2hmcHafszagAAxtCh017nax1en3U9TouWeGvIrq9KbSbeKE9Zk-cas02.epias.com.tr?format=json
cevap
{"st":"ST12312312312321"}
parametre değer

xml

xml response döner

json

json response döner

Bir servis için alınan ST başka bir servis için kullanılamaz.
ST nin geçerlilik süresi 30 saniyedir.
Uygulamanın servis adı gerçek ortam için https://tys.epias.com.tr test ortamı için app-preproduction
örnek
https://cas.epias.com.tr/cas/v1/tickets/TGT-229-2hmcHafszagAAxtCh017nax1en3U9TouWeGvIrq9KbSbeKE9Zk-cas02.epias.com.tr

Bu adrese aşağıdaki parametreler POST metodu ile gönderilir.

parametre değer

service

test ortamı için https://tys.epias.com.tr gerçek ortam için https://testtys.epias.com.tr

Sonuç olarak aşağıdaki cevap döner. Bu servisten HTTP 200 döndüğünde ST yi başarılı olarak almış olursunuz.

örnek
ST-29962-hSwyzWCP0xC0eRi0bmna-cas01.epias.com.tr

Uygulama Örnek Mesaj Yapısı

Servislerinin standart bir mesaj yapısı bulunmaktadır. Gönderdiğiniz tüm isteklerde bu formata uygun veri göndermelisiniz.

Öncelikle her isteğin HTTP header alanına aşağıdaki değerleri eklemelisiniz.

parametre değer

ecms-service-ticket

Service Ticket (ST) Örneğin : ST-30247-uNWazHn52sKZU71v5Ar4-cas02.epias.com.tr

Accept

application/json veya application/xml

Content-Type

application/json veya application/xml

Accept-Language

tr-tr veya en-us (ingilizce henüz test aşamasındadır)

Servis mesajları iki bölümden oluşur.

Birinci bölüm header olarak kullanılan ve isteği, gönderdiğiniz servisten bağımsız olarak isteği tanımlayan mesaj alanıdır. header alanında aşağıdaki anahtarlar bulunmalıdır.

parametre değer açıklama

transactionId

isteği tanımlayan benzersiz anahtar (Universal Unique Identifier)

isteğiniz ile ilgili sorularınızda bu id değerini sizden isteyeceğiz

application

servisi çağırırken kullanmış olduğunuz uygulamanın adı

İkinci bölüm ise çağırdığınız servise has parametreleri içeren body alanıdır. Tüm servisler için farklılık gösterebilir.

Aşağıdaki örnekte teslim gününün doğru olup olmadığını kontrol eden bir mesaj bulunmaktadır.

header alanını anahtar (key) ve değer (value) şeklinde gönderilmelidir.
Servise gelen ve giden tüm mesajlardaki tarih alanları ISO-8601 formatındadır. Format yyyy-MM-dd’T’HH:mm:ss.SSSZ şeklinde olmalıdır. Timezone değeri Yaz Saati Uygulamasında için +03:00 Kış Saatin Uygulamasında +02:00 olarak değişmektedir. O yüzden dökümanın içerisinde verilen örnek JSON dosyalarındaki tarih alanlarına dikkat ediniz. Örnek bir zaman değeri şu şekildedir. 2016-03-25T00:00:00.000+0300
Örnek ISO8601 Parser Java 8
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil
{

    public static Date fromISO8601Date(String v)
    {
        if (null == v) return null;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        try
        {
            return sdf.parse(v);
        } catch (ParseException e)
        {
            throw new RuntimeException(e);
        }
    }

    public static String toISO8601Date(Date v)
    {
        if (null == v) return null;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        return sdf.format(v);
    }
}
Örnek HTTP Mesajı
POST /ecms-unregistered-metering-point/rest/ump/list HTTP/1.1
Host: testtysapi.epias.com.tr
Accept: application/json
Content-Type: application/json
gop-service-ticket: ST-31352-VjHOo5iDV4fDkOod3jZc-cas02.epias.com.tr
Cache-Control: no-cache

{
   "header":[
      {
         "key":"transactionId",
         "value":"6d553b3c-1ffc-44cc-bed6-1dce4d5b48ac"
      },
      {
         "key":"application",
         "value":"UYGULAMA_ADI"
      }
   ],
   "body":{
      "settlementPeriod":"2016-06-01T00:00:00.000+0300",
      "requestStatuses":["WAITING","INVALID_DISTRIBUTION_METER_CODE","INSUFFICENT_LIMIT","APPROVED"]
   }
}
Örnek JSON Mesajı
{
   "resultCode":"0",
   "resultDescription":"OK",
   "resultType":"SUCCESS",
   "body":{
      "queryInformation":{
         "begin":1,
         "end":10000,
         "count":3
      },
      "unregisteredMeteringPoints":[
         {
            "requestId":1,
            "requestDate":"2016-10-03T13:34:43.000+0300",
            "reportingDate":null,
            "distributionMeterCode":"  M328",
            "eic":"40Z000007531577H",
            "requestStatus":"APPROVED",
            "requestedCompany":{
               "organizationId":9327,
               "eic":"40X000000009327Q",
               "name":"ERZURUM 1.ORGANİZE SANAYİ BÖLGE MÜDÜRLÜĞÜ",
               "shortname":"ERZ.1-OSB"
            },
            "requestingCompany":{
               "organizationId":195,
               "eic":"40X000000000195P",
               "name":"ELEKTRİK ÜRETİM A.Ş.",
               "shortname":"EÜAŞ"
            },
            "recordingUser":"PK195",
            "reportingUser":null
         },
         {
            "requestId":2,
            "requestDate":"2016-10-03T13:34:45.000+0300",
            "reportingDate":null,
            "distributionMeterCode":"uasxprsc",
            "eic":null,
            "requestStatus":"WAITING",
            "requestedCompany":{
               "organizationId":649,
               "eic":"40X000000000649C",
               "name":"1. BÖLGE MÜDÜRLÜĞÜ",
               "shortname":"1 Iletim"
            },
            "requestingCompany":{
               "organizationId":195,
               "eic":"40X000000000195P",
               "name":"ELEKTRİK ÜRETİM A.Ş.",
               "shortname":"EÜAŞ"
            },
            "recordingUser":"PK195",
            "reportingUser":null
         },
         {
            "requestId":3,
            "requestDate":"2016-10-03T13:38:41.000+0300",
            "reportingDate":null,
            "distributionMeterCode":"123123",
            "eic":null,
            "requestStatus":"WAITING",
            "requestedCompany":{
               "organizationId":649,
               "eic":"40X000000000649C",
               "name":"1. BÖLGE MÜDÜRLÜĞÜ",
               "shortname":"1 Iletim"
            },
            "requestingCompany":{
               "organizationId":195,
               "eic":"40X000000000195P",
               "name":"ELEKTRİK ÜRETİM A.Ş.",
               "shortname":"EÜAŞ"
            },
            "recordingUser":"PK195",
            "reportingUser":null
         }
      ]
   }
}

Gönderilen tüm isteklere dönen cevaplar da iki bölümden oluşur. Birinci bölüm isteğin başarılı olup olmadığını dönen result ile başlayan değerler. İkinci bölüm ise body alanında sonucu dönen kısım.

Her sonuç mesajında aşağıdaki alanlar sabit olarak bulunur.

parametre tip değer açıklama

resultCode

string

"0" başarılı diğer hallerde hatakodu içerir

aldığınız hatalar ile ilgili bilgi almak isterseniz bu alanı sizden isteyeceğiz.

resultDescription

string

başarılı durumda "OK" diğer hallerde hatanın açıklamasını içerir

aldığınız hatalar ile ilgili bilgi almak isterseniz bu alanı sizden isteyeceğiz. SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR

resultType

string

başarılı isteklerde SUCCESS , bir iş kuralına takıldıysanız BUSINESSERROR , bir sistem hatası ile karşılaşırsanız SYSTEMERROR, yetkilendirme ile ilgili hata alırsanız SECURITYERROR

BUSINESSERROR : Göndermiş olduğunuz istek ile ilgili bir sorun olduğunu belirtir. İsteğinizi gözden geçirmelisiniz. SYSTEMERROR : Sistemde bir hata olduğunu belirtir. Bizimle irtibata geçmelisiniz.
Örnek Başarılı JSON Cevap Mesajı
{"resultCode":"0","resultDescription":"OK","body":true,"resultType":"SUCCESS"}

Postman Kullanımı

https://www.getpostman.com linkinden yüklenebilecek Postman ile TYS Rest Servislerine erişim yapabilmeniz için hazırlanmış kolleksiyonlara aşağıdaki linkten erişebilirsiniz: Uygulama https://www.getpostman.com/collections/6aca077e15a4b11350af ve CAS https://www.getpostman.com/collections/b8972a6217c969728613

Postman kolleksiyonlarını içe aktardıktan sonra, postman için hazırlanmış olan çevre değişkenlerini de içe aktarmanız gerekmektedir. Json şeklinde hazırlanan bu ortam şu şekildedir: Buradaki adresleri test ortamını kullancak iseniz değiştirmelisiniz. Aşağıdaki adresler gerçek ortam için hazırlanmıştır.

Postman parametreleri
{
  "id": "eb07c188-7c5b-9217-683d-fa9a0ef49551",
  "name": "TYS-Env",
  "values": [
    {
      "key": "base-url",
      "value": "{app-production}",
      "type": "text",
      "enabled": true
    },
    {
      "key": "cas-gt-uri",
      "value": "{cas-production}/cas/v1/tickets?format=text",
      "type": "text",
      "enabled": true
    },
    {
      "key": "cas-st-uri",
      "value": "{cas-production}/cas/v1/tickets/",
      "type": "text",
      "enabled": true
    },
    {
      "key": "cas-st-domain",
      "value": "{app-production}",
      "type": "text",
      "enabled": true
    },
    {
      "key": "service-ticket",
      "value": "ecms-service-ticket",
      "type": "text",
      "enabled": true
    },
    {
      "key": "cas-gt",
      "value": "",
      "type": "text",
      "enabled": true
    },
    {
      "key": "cas-st",
      "value": "",
      "type": "text",
      "enabled": true
    },
    {
      "key": "language",
      "value": "tr-tr",
      "type": "text",
      "enabled": true
    },
    {
      "key": "cmp",
      "value": "ecms-consumption-metering-point/rest",
      "type": "text",
      "enabled": true
    },
    {
      "key": "ecms",
      "value": "ecms-eligible-customer-registration/rest",
      "type": "text",
      "enabled": true
    },
    {
      "key": "imd",
      "value": "ecms-index-metering-data/rest",
      "type": "text",
      "enabled": true
    },
    {
      "key": "ump",
      "value": "ecms-unregistered-metering-point-rest/rest",
      "type": "text",
      "enabled": true
    },
    {
      "key": "hs",
      "value": "ecms-helper-services/rest",
      "type": "text",
      "enabled": true
    }
  ],
  "timestamp": 1477037360916,
  "_postman_variable_scope": "environment",
  "_postman_exported_at": "2016-10-21T11:42:24.857Z",
  "_postman_exported_using": "Postman/4.8.0"
}

Belirtilen Json' yüklendikten sonra TYS servislerine erişilirken Postman arayüzünde sağ üst köşede bulunan "Environment" kısmından TYS seçilmelidir.

Granting Ticket almak için, "0-CAS Request/Grating Ticket İsteği"nin body' sinde yer alan username ve passworld alanının doldurulması doğru şekilde doldurulması gerekmektedir. Bu alanlar doldurulduktan sonra istek gönderildiğinde granting ticket, geçerlilik süresi boyunca "cas-gt" ortam değişkeninde tutulacaktır.

Grantig Ticket aldıktan sonra Service Ticket almak için, "0-CAS Request/Service Ticket İsteği"nde bulunulması gerekirmektedir. Bu ortam değişkeninde bulunan "cas-gt" değerini alacak ve elde edilen service ticket' ı diğer bir ortam değişkeni olan "cas-st" ye atayacaktır.

İstek yapılmak istenilen servis ile ilgili sorgu açıldığında istek alanları doğru şekilde doldurulduktan sonra istek gönderilebilir.

Her istek için bir "cas-st" sorgusu yapılması gerekmektedir. Bu değer çevre değişkenleri vasıtasıyla isteklerin header alanında bulunan {{service-ticket}} alanına {{cas-st}} ile geçilecektir.

Servis Detayları

Bu bölümden kategorilerine göre Servis çağırım detayları ile ilgili bilgilere ulaşabilirsiniz.

1. Referans Data Listeleme Servisi

1.1. Referans data listeleme servisi nasıl çağrılır?

Servis parametre detaylarına buradan erişebilirsiniz.

Örnek XML İsteği
<?xml version="1.0" encoding="UTF-8" ?>
<getReferenceRequest>
  <header>
    <key>transactionId</key>
    <value>6d553b3c-1ffc-44cc-bed6-1dce4d5b48ac</value>
  </header>
  <header>
    <key>application</key>
    <value>UYGULAMA_ADI</value>
  </header>
  <body>
    <parameter>substation</parameter>
  </body>
</getReferenceRequest>
Örnek XML Cevabı (örnek için kısaltılmıştır)
<?xml version="1.0" encoding="UTF-8" ?>
<referenceServiceResponse>
  <resultCode>0</resultCode>
  <resultDescription>OK</resultDescription>
  <resultType>SUCCESS</resultType>
  <body>
    <referenceListResponse>
      <key>1582</key>
      <description>NARİNKALE TM</description>
      <addition>40</addition>
    </referenceListResponse>
    <referenceListResponse>
      <key>1442</key>
      <description>DİKMEN GEÇİCİ</description>
      <addition>470</addition>
    </referenceListResponse>
    <referenceListResponse>
      <key>1482</key>
      <description>GÖZLÜ TM</description>
      <addition>420</addition>
    </referenceListResponse>
  </body>
</referenceServiceResponse>
Örnek Json İsteği
{
   "header":[
      {
         "key":"transactionId",
         "value":"6d553b3c-1ffc-44cc-bed6-1dce4d5b48ac"
      },
      {
         "key":"application",
         "value":"UYGULAMA_ADI"
      }
   ],
   "body":{
                "parameter":"substation"
   }
}
Örnek Json Cevabı (örnek için kısaltılmıştır)
{
  "resultCode": "0",
  "resultDescription": "OK",
  "resultType": "SUCCESS",
  "body": {
    "referenceListResponse": [
      {
        "key": "1582",
        "description": "NARİNKALE TM",
        "addition": "40"
      },
      {
        "key": "1442",
        "description": "DİKMEN GEÇİCİ",
        "addition": "470"
      },
      {
        "key": "1482",
        "description": "GÖZLÜ TM",
        "addition": "420"
      }
    ]
  }
}

2. Referans Açıklamaları Listeleme Servisi

2.1. Referans açıklamaları listeleme servisi nasıl çağrılır?

Servis parametre detaylarına buradan erişebilirsiniz.

Örnek XML İsteği
<?xml version="1.0" encoding="UTF-8" ?>
<getReferenceDescRequest>
  <header>
    <key>transactionId</key>
    <value>6d553b3c-1ffc-44cc-bed6-1dce4d5b48ac</value>
  </header>
  <header>
    <key>application</key>
    <value>UYGULAMA_ADI</value>
  </header>
</getReferenceDescRequest>
Örnek XML Cevabı
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<referenceDescServiceResponse>
    <resultCode>0</resultCode>
    <resultDescription>OK</resultDescription>
    <resultType>SUCCESS</resultType>
    <body>
        <referenceDescListResponse>
            <key>city</key>
            <description>Şehirleri listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>connection_contact_type</key>
            <description>Uevçb bağlantı anlaşma tiplerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>busbar_voltage</key>
            <description>Bara gerilim değerlerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>meter_voltage</key>
            <description>Bağlantı noktası gerilim değerlerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>meter_loss_type</key>
            <description>Sayaç kayıp tiplerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>meter_usage_type</key>
            <description>Sayaç kullanım tiplerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>profile_type</key>
            <description>Profil tiplerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>profile_subscription_group</key>
            <description>Profil abone grupları listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>substation</key>
            <description>Sayaç trafo merkezlerini ve bulundukları şehirleri listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>location_to_transformer</key>
            <description>Trafoya göre konum tiplerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>meter_supply_position</key>
            <description>Sayaç veriş pozisyonlarını listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>meter_withdrawal_position</key>
            <description>Sayaç çekiş pozisyonlarını listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>line_circuit_number</key>
            <description>Hat devre sayılarını listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>conductor_resistance </key>
            <description>İletken özdirençlerini listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>company_action_code</key>
            <description>Firma faaliyet kodlarını listeler.</description>
        </referenceDescListResponse>
        <referenceDescListResponse>
            <key>main_tariff_code</key>
            <description>Ana tarife kodlarını listeler.</description>
        </referenceDescListResponse>
    </body>
</referenceDescServiceResponse>
Örnek Json İsteği
{
   "header":[
      {
         "key":"transactionId",
         "value":"6d553b3c-1ffc-44cc-bed6-1dce4d5b48ac"
      },
      {
         "key":"application",
         "value":"UYGULAMA_ADI"
      }
   ]
}
Örnek Json Cevabı
{
  "resultCode": "0",
  "resultDescription": "OK",
  "resultType": "SUCCESS",
  "body": {
    "referenceDescListResponse": [
      {
        "key": "city",
        "description": "Şehirleri listeler."
      },
      {
        "key": "connection_contact_type",
        "description": "Uevçb bağlantı anlaşma tiplerini listeler."
      },
      {
        "key": "busbar_voltage",
        "description": "Bara gerilim değerlerini listeler."
      },
      {
        "key": "meter_voltage",
        "description": "Bağlantı noktası gerilim değerlerini listeler."
      },
      {
        "key": "meter_loss_type",
        "description": "Sayaç kayıp tiplerini listeler."
      },
      {
        "key": "meter_usage_type",
        "description": "Sayaç kullanım tiplerini listeler."
      },
      {
        "key": "profile_type",
        "description": "Profil tiplerini listeler."
      },
      {
        "key": "profile_subscription_group",
        "description": "Profil abone grupları listeler."
      },
      {
        "key": "substation",
        "description": "Sayaç trafo merkezlerini ve bulundukları şehirleri listeler."
      },
      {
        "key": "location_to_transformer",
        "description": "Trafoya göre konum tiplerini listeler."
      },
      {
        "key": "meter_supply_position",
        "description": "Sayaç veriş pozisyonlarını listeler."
      },
      {
        "key": "meter_withdrawal_position",
        "description": "Sayaç çekiş pozisyonlarını listeler."
      },
      {
        "key": "line_circuit_number",
        "description": "Hat devre sayılarını listeler."
      },
      {
        "key": "conductor_resistance ",
        "description": "İletken özdirençlerini listeler."
      },
      {
        "key": "company_action_code",
        "description": "Firma faaliyet kodlarını listeler."
      },
      {
        "key": "main_tariff_code",
        "description": "Ana tarife kodlarını listeler."
      }
    ]
  }
}

3. Sayaç İşlem Log Listeleme Servisi

3.1. Sayaç İşlem Log Listeleme Servisi nasıl çağrılır?

Servis parametre detaylarına buradan erişebilirsiniz.

Örnek XML İsteği
<?xml version="1.0" encoding="UTF-8" ?>
<meterOperationLogServiceRequest>
        <header>
                <key>transactionId</key>
                <value>57a064d5-2eb3-4a0b-bc71-7679d68e5961</value>
        </header>
        <header>
                <key>application</key>
                <value>demoIstemci</value>
        </header>
        <body>
                <meterEic>40Z000044101822R</meterEic>
                <start>2017-02-07T09:31:33.000+0300</start>
                <end>2017-03-07T09:31:33.000+0300</end>
                <type>METER</type>
        </body>
</meterOperationLogServiceRequest>
Örnek XML Cevabı
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<meterOperationLogServiceResponse>
    <resultCode>0</resultCode>
    <resultDescription>OK</resultDescription>
    <resultType>SUCCESS</resultType>
    <body>
        <logs>
            <meterEic>40Z000044101822R</meterEic>
            <logDate>2017-03-07T09:30:37.000+0300</logDate>
            <username>AAA Enerji Perakende</username>
            <description>Yeni Kayıt (Sayaç) - Dönem : </description>
            <logtype>METER</logtype>
            <category>9</category>
            <reason>Test denemesi</reason>
        </logs>
        <logs>
            <meterEic>40Z000044101822R</meterEic>
            <logDate>2017-03-07T09:30:37.000+0300</logDate>
            <username>AAA Enerji Perakende</username>
            <description>Yeni Kayıt (Konfigurasyon) - Dönem : 04-2017</description>
            <logtype>METER</logtype>
            <category>9</category>
            <reason>Test denemesi</reason>
        </logs>
        <logs>
            <meterEic>40Z000044101822R</meterEic>
            <logDate>2017-03-07T09:30:33.000+0300</logDate>
            <username>AAA Enerji Perakende</username>
            <description>Yeni Kayıt</description>
            <logtype>METERINGPOINT</logtype>
            <category>9</category>
            <reason>Test denemesi</reason>
        </logs>
        <logs>
            <meterEic>40Z000044101822R</meterEic>
            <logDate>2017-03-07T09:30:37.000+0300</logDate>
            <username>AAA Enerji Perakende</username>
            <description>Yeni Kayıt (Donemlik Bilgi) - Dönem : 04-2017</description>
            <logtype>METER</logtype>
            <category>9</category>
            <reason>Test denemesi</reason>
        </logs>
        <logs>
            <meterEic>40Z000044101822R</meterEic>
            <logDate>2017-03-07T09:31:33.000+0300</logDate>
            <username>AAA Enerji Perakende</username>
            <description>Yeni Kayıt (Donemlik Bilgi) - Dönem : 03-2017</description>
            <logtype>METER</logtype>
            <category>9</category>
            <reason>Test denemesi</reason>
        </logs>
    </body>
</meterOperationLogServiceResponse>
Örnek Json İsteği
{
    "header": [
        {
            "key": "transactionId",
            "value": "a0240b0c-341e-431a-96a8-122b29444880"
      },
        {
            "key": "application",
            "value": "demoIstemci"
      }
   ],
    "body": {
            "meterEic": "40Z000044101822R",
            "start": "2017-02-07T09:31:33.000+0300",
            "end": "2017-03-07T09:31:33.000+0300",
            "type": "METER"
    }
}
Örnek Json Cevabı
{
  "resultCode": "0",
  "resultDescription": "OK",
  "resultType": "SUCCESS",
  "body": {
    "logs": [
      {
        "meterEic": "40Z000044101822R",
        "logDate": "2017-03-07T09:30:37.000+0300",
        "username": "AAA Enerji Perakende",
        "description": "Yeni Kayıt (Sayaç) - Dönem : ",
        "logtype": "METER",
        "category": 9,
        "reason": "Test denemesi"
      },
      {
        "meterEic": "40Z000044101822R",
        "logDate": "2017-03-07T09:30:37.000+0300",
        "username": "AAA Enerji Perakende",
        "description": "Yeni Kayıt (Konfigurasyon) - Dönem : 04-2017",
        "logtype": "METER",
        "category": 9,
        "reason": "Test denemesi"
      },
      {
        "meterEic": "40Z000044101822R",
        "logDate": "2017-03-07T09:30:33.000+0300",
        "username": "AAA Enerji Perakende",
        "description": "Yeni Kayıt",
        "logtype": "METERINGPOINT",
        "category": 9,
        "reason": "Test denemesi"
      },
      {
        "meterEic": "40Z000044101822R",
        "logDate": "2017-03-07T09:30:37.000+0300",
        "username": "AAA Enerji Perakende",
        "description": "Yeni Kayıt (Donemlik Bilgi) - Dönem : 04-2017",
        "logtype": "METER",
        "category": 9,
        "reason": "Test denemesi"
      },
      {
        "meterEic": "40Z000044101822R",
        "logDate": "2017-03-07T09:31:33.000+0300",
        "username": "AAA Enerji Perakende",
        "description": "Yeni Kayıt (Donemlik Bilgi) - Dönem : 03-2017",
        "logtype": "METER",
        "category": 9,
        "reason": "Test denemesi"
      }
    ]
  }
}

4. Dizinler

4.1. Sayaç İşlem Logu Listeleme Servisi

POST /log/meter

4.1.1. Açıklama

Sayaç işlem loglarını listeler.

4.1.2. Parametreler

Tip İsim Açıklama Şema Varsayılan

Header

ecms-service-ticket
gerekli

CMS Servis ST Header

string

Body

body
opsiyonel

MeterOperationLogServiceRequest

4.1.3. Cevaplar

HTTP Kodu Açıklama Şema

200

successful operation

MeterOperationLogServiceResponse

4.1.4. Üretilenler

  • application/json

  • application/xml

4.1.5. Etiketler

  • hs

4.2. Referans Dataları Listeleme Servisi

POST /reference/get

4.2.1. Açıklama

Serbest tüketici sayaç kayıt bilgilerini listeler.

4.2.2. Parametreler

Tip İsim Açıklama Şema Varsayılan

Header

ecms-service-ticket
gerekli

CMS Servis ST Header

string

Body

body
opsiyonel

GetReferenceRequest

4.2.3. Cevaplar

HTTP Kodu Açıklama Şema

200

successful operation

ReferenceServiceResponse

4.2.4. Üretilenler

  • application/json

  • application/xml

4.2.5. Etiketler

  • hs

4.3. Referans Açıklamalarını Listeleme Servisi

POST /reference/get/desc

4.3.1. Açıklama

Referans Açıklamalarını Listeleme Servisi

4.3.2. Parametreler

Tip İsim Açıklama Şema Varsayılan

Header

ecms-service-ticket
gerekli

CMS Servis ST Header

string

Body

body
opsiyonel

GetReferenceDescRequest

4.3.3. Cevaplar

HTTP Kodu Açıklama Şema

200

successful operation

ReferenceDescServiceResponse

4.3.4. Üretilenler

  • application/json

  • application/xml

4.3.5. Etiketler

  • hs

5. Tanımlar

5.1. GetReferenceDescRequest

Referanslar ve Açıklamalarının Kapsayıcı İstek Modeli

İsim Açıklama Şema

body
opsiyonel

RequestBody

header
opsiyonel

Header request bilgisini tutar.

< Header > array

5.2. GetReferenceRequest

Referans Data Kapsayıcı İstek Modeli

İsim Açıklama Şema

body
gerekli

Referans Data Servis İstek Body’si

ReferenceRequest

header
opsiyonel

Header request bilgisini tutar.

< Header > array

5.3. Header

Header request bilgisini tutar.

İsim Açıklama Şema

key
opsiyonel

Header key bilgisini tutar.
Örnek : "transactionId"

string

value
opsiyonel

Header value bilgisini tutar.
Örnek : "6d553b3c-1ffc-44cc-bed6-1dce4d5b48ac"

string

5.4. MeterOperationLogListResponse

Sayaç İşlem Log Listeleme Servisi Cevap bilgilerini tutar.

İsim Açıklama Şema

logs
opsiyonel

Sayaç İşlem Log Listeleme Servisi Cevap bilgilerini tutar.

< MeterOperationLogResponse > array

5.5. MeterOperationLogRequest

Sayaç İşlem Log Listeleme Servisi İstek bilgilerini tutar.

İsim Açıklama Şema

end
opsiyonel

Bitiş tarih aralığı

string(date-time)

meterEic
opsiyonel

Sayaç eic bilgisini tutar.

string

start
opsiyonel

Başlangıç tarih aralığı

string(date-time)

type
opsiyonel

Log tipi bilgisini tutar. METER: Sayaç İşlem Logu, METERINGPOINT: Ölçüm Noktası İşlem Logu.

enum (METER, METERINGPOINT)

5.6. MeterOperationLogResponse

Sayaç İşlem Log Listeleme Servisi Cevap bilgilerini tutar.

İsim Açıklama Şema

description
opsiyonel

Log açıklama bilgisini tutar.

string

logDate
opsiyonel

Sayaç işlem logun atıldığı tarih bilgisini tutar.

string(date-time)

logtype
opsiyonel

Log tipi bilgisini tutar. METER: Sayaç İşlem Logu, METERINGPOINT: Ölçüm Noktası İşlem Logu.

enum (METER, METERINGPOINT)

meterEic
opsiyonel

Sayaç eic bilgisini tutar.

string

organization
opsiyonel

Logu atan kullanıcının bağlı olduğu organizasyonun adını tutar.

string

reason
opsiyonel

Log neden bilgisini tutar.

string

username
opsiyonel

Logu atan kullanıcı adı bilgisini tutar.

string

5.7. MeterOperationLogServiceRequest

Sayaç İşlem Log Listeleme Servisi İstek kapsayıcı bilgilerini tutar.

İsim Açıklama Şema

body
gerekli

Sayaç İşlem Log Listeleme Servisi İstek bilgilerini tutar.

MeterOperationLogRequest

header
opsiyonel

Header request bilgisini tutar.

< Header > array

5.8. MeterOperationLogServiceResponse

Sayaç İşlem Log Listeleme Servisi Cevap kapsayıcı bilgilerini tutar.

İsim Açıklama Şema

body
gerekli

Sayaç İşlem Log Listeleme Servisi Cevap bilgilerini tutar.

MeterOperationLogListResponse

resultCode
gerekli

0 başarılı diğer hallerde hata kodu içerir.
Örnek : "0"

string

resultDescription
gerekli

Başarılı durumda OK diğer hallerde hatanın açıklamasını içerir.
Örnek : "OK"

string

resultType
gerekli

Başarılı isteklerde SUCCESS, bir iş kuralına takıldıysanız BUSINESSERROR, bir sistem hatası ile karşılaşırsanız SYSTEMERROR döner.
Örnek : "SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR"

enum (SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR)

5.9. ReferenceDescListResponse

Referanslar ve Açıklamalarının Servis Cevap Body’si

İsim Açıklama Şema

referenceDescListResponse
opsiyonel

Referanslar ve Açıklamalarının Listesi

< ReferenceDescResponse > array

5.10. ReferenceDescResponse

Referans ve Açıklamalarının Cevap Modeli

İsim Açıklama Şema

description
opsiyonel

Referans anahtarının hangi bilgileri listelediklerini tutar.

string

5.11. ReferenceDescServiceResponse

Referanslar ve Açıklamalarının Servis Cevabı

İsim Açıklama Şema

body
gerekli

Referanslar ve Açıklamalarının Servis Cevap Body’si

ReferenceDescListResponse

resultCode
gerekli

0 başarılı diğer hallerde hata kodu içerir.
Örnek : "0"

string

resultDescription
gerekli

Başarılı durumda OK diğer hallerde hatanın açıklamasını içerir.
Örnek : "OK"

string

resultType
gerekli

Başarılı isteklerde SUCCESS, bir iş kuralına takıldıysanız BUSINESSERROR, bir sistem hatası ile karşılaşırsanız SYSTEMERROR döner.
Örnek : "SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR"

enum (SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR)

5.12. ReferenceListResponse

Referans Data Servis Cevap Body’si

İsim Açıklama Şema

referenceListResponse
opsiyonel

Referans Data Listesi

< ReferenceResponse > array

5.13. ReferenceRequest

Referans Data Servis İstek Body’si

İsim Açıklama Şema

parameter
opsiyonel

Referans datası istenen parametre. Aktif olan tüm key ve değerlerini Referans Açıklamalarını Listeleme Servisi’nden alabilirsiniz. (city: Şehir, connection_contact_type: Uevçb Bağlantı Anlaşma Tipi, busbar_voltage: Bara Gerilim, meter_voltage: Bağlantı Noktası Gerilim, meter_loss_type: Sayaç Kayıp Tip, meter_usage_type: Sayaç Kullanım Tip, profile_type: Profil Tip, profile_subscription_group: Profil Abone Grup, substation: Sayaç Trafo Merkez, location_to_transformer: Trafoya Göre Konum, meter_supply_position: Sayaç Veriş Pozisyon, meter_withdrawal_position: Sayaç Çekiş Pozisyon,line_circuit_number: Hat Devre Sayısı, conductor_resistance: İletken Özdirenç, company_action_code: Firma Faaliyet Kodları, main_tariff_code: Ana Tarife Kodları, regionCode: Dağıtım bölgeleri, meterReadingCompany: Sayaç okuyan kurumlar)

string

5.14. ReferenceResponse

Referans Cevap Modeli

İsim Açıklama Şema

addition
opsiyonel

Eğer varsa ek bilgi.

string

description
opsiyonel

Anahtar verisini açıklayan alan.

string

key
opsiyonel

Referens data’nın anahtarı (çoğu zaman id veya kod)

string

5.15. ReferenceServiceResponse

Referans Data Servis Cevabı

İsim Açıklama Şema

body
gerekli

Referans Data Servis Cevap Body’si

ReferenceListResponse

resultCode
gerekli

0 başarılı diğer hallerde hata kodu içerir.
Örnek : "0"

string

resultDescription
gerekli

Başarılı durumda OK diğer hallerde hatanın açıklamasını içerir.
Örnek : "OK"

string

resultType
gerekli

Başarılı isteklerde SUCCESS, bir iş kuralına takıldıysanız BUSINESSERROR, bir sistem hatası ile karşılaşırsanız SYSTEMERROR döner.
Örnek : "SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR"

enum (SUCCESS, BUSINESSERROR, SYSTEMERROR, SECURITYERROR)

5.16. RequestBody

Tip : object