Genel Bakış

Variable, API trafiğindeki mesajdan politikanın ihtiyacı olan veriyi bulma işlemleri için kullanılan bir yapıdır. HTTP isteklerinin farklı bölümlerinden (header, parametre, body vb.) veri çıkarmak için kullanılır. Bkz.

Temel Özellikler

ÖzellikTipZorunluAçıklama
nameStringEvetDeğişkenin benzersiz adı
descriptionStringHayırDeğişken için açıklama
typeEnumVariableTypeEvetDeğişkenin türü (HEADER, PARAMETER, BODY, CONTEXT_VALUES, CUSTOM)

Değişken Türleri ve Gereken Alanlar


type DeğeriKullanım AmacıAlanAçıklamaZorunluluk
HEADERHeader'dan veri çıkarmak için kullanılırheaderNameİstek veya yanıt mesajındaki Http Header alanının adıZorunlu
PARAMETERURL parametrelerinden veri çıkarmak için kullanılırparamTypeParametre tipi (QUERY, PATH)Zorunlu


paramNameİstek mesajındaki path parametresinin adıZorunlu


paramPathİstek mesajındaki "path" parametresi için kullanılacak şablon yolparamType=PATH ise zorunlu
BODYİstek/yanıt gövdesinden veri çıkarmak için kullanılırtargetContentTypeİçerik tipi (XML, JSON, ALL_BODY)Zorunlu


xpathValueİstek veya yanıt mesajındaki gövde verisindeki XML için XPath ifadesiXML için zorunlu


jsonPathValueİstek veya yanıt mesajındaki gövde verisindeki JSON için JsonPath ifadesiJSON için zorunlu
CONTEXT_VALUESSistem context değerlerinden veri çıkarmak için kullanılırcontextValueContext değer tipiZorunlu


zoneId

Zaman bölgesi

Bazı context değerleri için zorunlu

contextValue Değerleri

İstek (Request) ile İlgili Değerler

Context ValueAçıklama
REQUEST_REMOTE_ADDRESSİstemcinin IP adresi
REQUEST_HTTP_METHODHTTP metodu (GET, POST, vb.)
REQUEST_CONTENT_TYPEİstek içerik tipi
REQUEST_PATH_INFOİstek path bilgisi
REQUEST_CONTEXT_PATHContext path bilgisi
REQUEST_QUERY_STRINGURL query string parametreleri
REQUEST_REMOTE_USERUzak kullanıcı bilgisi
REQUEST_USERNAME_KEYKullanıcı adı veya anahtar
REQUEST_REQUESTED_SESSION_IDOturum ID'si
REQUEST_REQUEST_URIİstek URI'si
REQUEST_CHARACTER_ENCODINGKarakter kodlaması
REQUEST_CHARSETCharset bilgisi
REQUEST_CONTENT_LENGTHİçerik uzunluğu
REQUEST_PROTOCOLKullanılan protokol
REQUEST_SCHEMEProtokol şeması (http, https)
REQUEST_SERVER_NAMESunucu adı
REQUEST_SERVER_PORTSunucu port numarası
REQUEST_REMOTE_HOSTUzak host bilgisi
REQUEST_REMOTE_PORTUzak port numarası
REQUEST_LOCAL_NAMEYerel sunucu adı
REQUEST_LOCAL_ADDRYerel IP adresi
REQUEST_LOCAL_PORTYerel port numarası
REQUEST_XFORWARDED_FORX-Forwarded-For header değeri

İstek Durum Bilgileri

Context ValueAçıklama
REQUEST_IS_SOAP_TO_RESTSOAP'tan REST'e dönüşüm durumu
REQUEST_IS_APIPROXYAPI Proxy kontrolü
REQUEST_IS_APIPROXYGROUPAPI Proxy Group kontrolü
REQUEST_IS_XWWW_FORM_URL_ENCODEDForm URL encoded format kontrolü
REQUEST_IS_FORM_DATAForm data format kontrolü
REQUEST_IS_BYTE_ARRAYByte array format kontrolü
REQUEST_HAS_ATTACHMENTEk dosya kontrolü
REQUEST_GZIPGZIP sıkıştırma durumu
REQUEST_DEFLATEDEFLATE sıkıştırma durumu
REQUEST_HTTP_SERVLETHTTP Servlet bilgisi

Yanıt (Response) ile İlgili Değerler

Context ValueAçıklama
RESPONSE_IS_BYTE_ARRAYYanıtın byte array formatında olup olmadığı
RESPONSE_GZIPGZIP sıkıştırma durumu
RESPONSE_DEFLATEDEFLATE sıkıştırma durumu
RESPONSE_BRBrotli sıkıştırma durumu
RESPONSE_STATUS_CODEHTTP durum kodu
RESPONSE_HTTP_SERVLETHTTP Servlet bilgisi

Mesaj ile İlgili Değerler

Context ValueAçıklama
MESSAGE_CORRELATION_IDMesaj korelasyon ID'si

Ortam ile İlgili Değerler

Context ValueAçıklama
ENVIRONMENT_IDOrtam ID'si
ENVIRONMENT_NAMEOrtam adı
ENVIRONMENT_CERTIFICATESertifika haritası
ENVIRONMENT_PRIVATEKEYÖzel anahtar haritası
ENVIRONMENT_PUBLICKEYGenel anahtar haritası
ENVIRONMENT_SECRETKEYGizli anahtar haritası
ENVIRONMENT_KEYSTOREKeystore haritası
ENVIRONMENT_JWKJWK haritası

API Proxy Group/Proxy/Method Değerleri

Context ValueAçıklama
APIPROXYGROUP_IDAPI Proxy Group ID'si
APIPROXYGROUP_NAMEAPI Proxy Group adı
APIPROXY_IDAPI Proxy ID'si
APIPROXY_NAMEAPI Proxy adı
APIMETHOD_IDAPI Method ID'si
APIMETHOD_NAMEAPI Method adı
APIMETHOD_SOAP_ACTIONSOAP action değeri
APIMETHOD_HTTPMETHODHTTP metodu
APIMETHOD_ENDPOINTEndpoint bilgisi
APIMETHOD_BACKEND_HTTPMETHODBackend HTTP metodu
APIMETHOD_BACKEND_ENDPOINTBackend endpoint bilgisi

Tarih/Zaman ile İlgili Değerler

Context ValueAçıklama
DATETIME_YEARYıl
DATETIME_MONTHAy
DATETIME_DAY_OF_WEEKHaftanın günü
DATETIME_DAY_OF_MONTHAyın günü
DATETIME_HOURSaat
DATETIME_MINUTEDakika
DATETIME_SECONDSaniye
DATETIME_EPOCH_MILLISEpoch milisaniye
DATETIME_FORMATTED_TEXTFormatlanmış tarih-saat
DATE_FORMATTED_TEXTFormatlanmış tarih
TIME_FORMATTED_TEXTFormatlanmış saat

Kimlik Bilgileri

Context ValueAçıklama
CREDENTIAL_USERNAMEKullanıcı adı
CREDENTIAL_EMAILE-posta adresi
CREDENTIAL_FULLNAMETam ad
CREDENTIAL_SECRETKEYGizli anahtar
CREDENTIAL_CERTIFICATESertifika
CREDENTIAL_PUBLICKEYGenel anahtar
CREDENTIAL_PRIVATEKEYÖzel anahtar
CREDENTIAL_KEYSTOREKeystore
CREDENTIAL_TRUSTSTORETruststore
CREDENTIAL_JWK_SIGNANDVALIDATIONİmzalama ve doğrulama için JWK
CREDENTIAL_JWK_ENCRYPTIONANDDECRYPTIONŞifreleme ve çözme için JWK

Örnek JSON Yapıları

1. Header Değişkeni

{
  "name" : "apiKeyVariable",
  "description" : "API anahtarını header'dan çıkarır",
  "type" : "HEADER",
  "headerName" : "X-API-Key"
}
CODE

2. Query Parametre Değişkeni

{
  "name" : "userIdFromQuery",
  "description" : "Kullanıcı ID'sini query parametresinden alır",
  "type" : "PARAMETER",
  "paramType" : "QUERY",
  "paramName" : "userId"
}
CODE

3. Path Parametre Değişkeni

{
  "name" : "orderIdFromPath",
  "description" : "Sipariş ID'sini path'ten alır",
  "type" : "PARAMETER",
  "paramType" : "PATH",
  "paramName" : "orderId",
  "paramPath" : "/orders/{orderId}"
}
CODE

4. XML Body Değişkeni

{
  "name" : "customerNameFromXml",
  "description" : "Müşteri adını XML gövdesinden çıkarır",
  "type" : "BODY",
  "targetContentType" : "XML",
  "xpathValue" : "//customer/firstName"
}
CODE

5. JSON Body Değişkeni

{
  "name" : "emailFromJson",
  "description" : "Email adresini JSON gövdesinden çıkarır",
  "type" : "BODY",
  "targetContentType" : "JSON",
  "jsonPathValue" : "$.user.contact.email"
}
CODE

6. Context Değişkeni

{
  "name" : "İstek Zamanı",
  "description" : "İstek zamanını sistem contextinden alır",
  "type" : "CONTEXT_VALUES",
  "contextValue" : "DATETIME_EPOCH_MILLIS",
  "zoneId" : "Europe/Istanbul"
}
CODE