Data Nesnesi Controller'ı

Malzeme Kartı, Muhasebe Hesap Kartı, Satış Faturası, .. gibi Tiger arayüzünden girilen kart ve fişlerin tamamı data nesnesi olarak değerlendirilmektedir. Logo Objects ile entegrasyonlarda malzeme kartları için bu data nesnesi doMaterials ile isimlendirilmiştir. Ancak, REST servis oluşturulurken Logo Objectsin controller yapısından türetilen URL formatı kullanılmamaktadır. Logo Objects data nesnesi isimleri ile REST serviste kullanılan URL' listesi farklıdır. Bu farklılıkları  Logo REST Resource sayfasından inceleyebilirsiniz. Bu şekilde değerlendirilmesinin sebebi Logo bünyesinde üretilen entegrasyon araçlarında bir standart sağlayabilmek içindir. Ancak, içerik konusunda alışkanlıklar gözetilmiştir. 

Veri modelleri Logo ERP ürünlerindeki XML veri yapısından REST için tekrar türetilmiştir. Logo Objects'e aşina çözüm ortaklarımız gözetilerek, türetilen XML tagleri ile REST serviste kullanılabilecek metod isimleri Logo Objects ile aynı olmasına dikkat edilmiştir.

Logo REST Resource linkini inceleyebilirisiniz.

GET Operasyonu

Get operasyonları ile veri listelerini (malzemeleri, cari hesapları, faturalar vb.)   okumak için kullanılır.

GET işlemi hem liste almak için (tüm malzeme kartları listelensin gibi) hem de tek kaydın biilgilerine erişmek için (123 referanslı malzeme kartının bilgileri gibi) kullanılabilmektedir.

Data nesnelerinin liste olarak istenmesi

URL formatı api/v1/{Data Object Type} şeklinde olmalıdır.

çok sayıda verinin gelmemesi için otomatik olarak 25 ile sınırlı tutulur. Bu sınır değiştirilebilir.

Request Header

GET http://172.16.57.114:32001/api/v1/items HTTP/1.1
Accept: application/json, application/octet-stream
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAof7EdDku_k6qkyv5NPm-...-yTTfItBI8hLk8xeWA1DC3q-2H74jVnw5P4U1dQwQRaWZ0JMA9tCQD6Phqo6E_F2UAwSgH34-H
Host: 172.16.57.114:32001

Request Body

Boş

Response header

HTTP/1.1 200 OK
Content-Length: 51253
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 07:38:13 GMT

Response body

{
    "Meta": {
        "href": "http://172.16.57.114:32001/api/v1/items?limit=10",
        "mediaType": "application/json; charset=UTF-8",
        "apiVersion": "1.0"
    },
    "offset": 0,
    "count": 10,
    "limit": 10,
    "first": {
        "href": "http://172.16.57.114:32001/api/v1/items?limit=10",
        "mediaType": "application/json; charset=UTF-8",
        "apiVersion": "1.0"
    },
    "next": {
        "href": "http://172.16.57.114:32001/api/v1/items?offset=10&limit=10",
        "mediaType": "application/json; charset=UTF-8",
        "apiVersion": "1.0"
    },
    "previous": {
        "mediaType": "application/json; charset=UTF-8",
        "apiVersion": "1.0"
    },
    "items": [{
        "Meta": {
            "href": "http://172.16.57.114:32001/api/v1/items/1",
            "mediaType": "application/json; charset=UTF-8",
            "apiVersion": "1.0"
        },
        "INTERNAL_REFERENCE": 1,
        "RECORD_STATUS": 0,
        "CARD_TYPE": 1,
        "CODE": "0MALZEME1",
        "NAME": "Logo Objects Sample Item",
        "PRODUCER_CODE": "DENEME",
        "AUXIL_CODE": "YP",
        "CLASS_TYPE": 0,
        "USEF_PURCHASING": 1,
        "USEF_SALES": 1,
        "USEF_MM": 1,
        "VAT": 18.0,
               ...
]
}

ID (LogicalRef) ile tek data nesnesi isteme

ID ürün içindeki kaydın referans numarası olmak zorundadır.

LOGO Objects model kullanılarak kayıtlara ID ile ulaşılabilir.

Request Header

GET http://172.16.57.114:32001/api/v1/items/2 HTTP/1.1
Accept: application/json, application/octet-stream
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAof7EdDku_k6qkyv5NPm-...-yTTfItBI8hLk8xeWA1DC3q-2H74jVnw5P4U1dQwQRaWZ0JMA9tCQD6Phqo6E_F2UAwSgH34-H
Host: 172.16.57.114:32001
Connection: Keep-Alive

Request Body

Boş

Response Header

HTTP/1.1 200 OK
Content-Length: 4916
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 07:42:25 GMT

Response Body

{
    "Meta": {
        "href": "http://172.16.57.114:32001/api/v1/items/2",
        "mediaType": "application/json; charset=UTF-8",
        "apiVersion": "1.0"
    },
    "INTERNAL_REFERENCE": 2,
    "RECORD_STATUS": 0,
    "CARD_TYPE": 12,
    "CODE": "MAMUL.01",
    "CLASS_TYPE": 0,
    "USEF_PURCHASING": 1,
    "USEF_SALES": 1,
    "USEF_MM": 1,
    "VAT": 18.0,
    "PAYMENTREF": 0,
    "TRACK_TYPE": 0,
    "LOCATION_TRACKING": 0,
    "TOOL": 0,
    "AUTOINCSL": 1,
    "LOTS_DIVISIBLE": 1,
    "SHELF_LIFE": 0.0,
    "SHELF_DATE": 0,
    "DOMINANTREFS1": 0,
    "DOMINANTREFS2": 0,
    "DOMINANTREFS3": 0,
    "DOMINANTREFS4": 0,
    "DOMINANTREFS5": 0,
    "DOMINANTREFS6": 0,
    "DOMINANTREFS7": 0,
    "DOMINANTREFS8": 0,
    "DOMINANTREFS9": 0,
    "DOMINANTREFS10": 0,
    "DOMINANTREFS11": 0,
    "DOMINANTREFS12": 0,
    "IMAGEINC": 0,
    "TEXTINC": 0,
    "DEPREC_TYPE": 0,
    "DEPREC_RATE": 0.0,
    "DEPREC_DURATION": 0,
    "SALVAGE_VALUE": 0.0,
    "REVAL_FLAG": 0,
    "REVDEPREC_RFLAG": 0,
    "PARTIAL_DEPREC": 0,
    "DEPREC_TYPE2": 0,
    "DEPREC_RATE2": 0.0,
    "DEPREC_DURATION2": 0,
    "REVAL_FLAG2": 0,
    "REVDEPREC_FLAG2": 0,
    "PARTIAL_DEPREC2": 0,
    "APPROVED": 0,
    "UNITSET_CODE": "05",
    "UNITSETREF": 5,
    "QCCSETREF": 0,
    "DISTRIBUTED_AMOUNT": 0.0,
    "CREATED_BY": 1,
    "DATE_CREATED": "2007-04-12T00:00:00",
    "HOUR_CREATED": 16,
    "MIN_CREATED": 52,
    "SEC_CREATED": 34,
    "MODIFIED_BY": 1,
    "DATE_MODIFIED": "2012-04-13T00:00:00",
    "HOUR_MODIFIED": 18,
    "MIN_MODIFIED": 56,
    "SEC_MODIFIED": 55,
		...
}

Satır(Line) Operasyonları

Data nesnelerinin alt kırılılmları olabilir. Malzeme kartının birimleri, Faturanın irsaliyeleri veya siparişin satırları gibi.
Sadece bu kırılımlara(alt nesnelere) erişim sağlanabilir. Aşağıda satış siparişi ve satırları için bazı örnekleri görebilirsiniz.

api/v1/salesOrders/{id:int}/TRANSACTIONS
  • TRANSACTIONS listesi döner. verilen ID ile ilişkili sipariş satırları alınır.
api/v1/salesOrders/{id:int}/TRANSACTIONS/{index:int} 
  • verilen sipariş id (LOGICALREF) ile ilişkili tanım listesindaki belirttiğimiz şndexli satır döner.
api/v1/salesOrders/{id:int}/TRANSACTIONS/GetStockLinePrice/{_prcTyp}
  • nesne satırları üzerinde GetStockLinePrice methodunu çağırır

Describe Operasyonu

REST nesne modeli tanımı istenebilir. Describe http://json-schema.org/ taslak formatında şemayı döner.

Yönlendirme URL api/[version]/definitions/[objectName]

Request Header

GET http://172.16.57.114:32001/api/v1/definitions/items HTTP/1.1
Accept: application/json, application/octet-stream
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAof7EdDku_k6qkyv5NPm...-yTTfItBI8hLk8xeWA1DC3q-2H74jVnw5P4U1dQwQRaWZ0JMA9tCQD6Phqo6E_F2UAwSgH34-H
Host: 172.16.57.114:32001
Connection: Keep-Alive

Request Body

Boş

Response Header

HTTP/1.1 200 OK
Content-Length: 179359
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 07:48:02 GMT

Response Body

{
  "title": "items",
  "type": "object",
  "properties": {
    "DataObjectParameter": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "ReplicMode": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "CheckParams": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "CheckRight": {
          "type": [
            "boolean",
            "null"
          ]
        }
      }
    },
    "Meta": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "href": {
          "type": [
            "string",
            "null"
          ]
        },
        "mediaType": {
          "type": [
            "string",
            "null"
          ]
        },
        "apiVersion": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "INTERNAL_REFERENCE": {
      "required": true,
      "type": [
        "integer",
        "null"
      ]
    },
    "RECORD_STATUS": {
      "type": [
        "integer",
        "null"
      ]
    },
    "CARD_TYPE": {
      "type": [
        "integer",
        "null"
      ]
    },
    "CODE": {
      "type": [
        "string",
        "null"
      ]
    },
    "NAME": {
      "type": [
        "string",
        "null"
      ]
    },
    "GROUP_CODE": {
      "type": [
        "string",
        "null"
      ]
    },
    "PRODUCER_CODE": {
      "type": [
        "string",
        "null"
      ]
    },
	...
}

Metodlar

Metodlar REST servis çağrıları(request) ile çağrılabilir. Servis controller'undan detaylı tanım bilgisi alınabilir.

Örnek Metod Çağrımı

api/v1/ARPSlips/{id:int}/ApplyRePayPln/{_lineNr}/{_rePayPCode}
  • ID (LOGICALREF)  belirtilen cari hesap fişi üzerinde ApplyRePayPln metodunun çağırım örneğidir. Metod parametreleri lineNr ve rePayPCode dir.  Örnek gönderim URL'si, "GOP.01" kodlu geri ödeme planının Cari Hesap Fişinin ilk satıra (0.satır) uygulanması için yaklaşık olarak şu şekilde olacaktır;

http://172.16.57.114:32001/api/v1/ARPSlips/ApplyRePayPln/0/GOP.01

POST Operasyonu

Yeni bir kaynak oluşturmak için kullanılan bir operasyondur.

Örnek Post Çağrımı (Satış Siparişi için)

api/v1/salesOrders

Request Header

POST http://172.16.57.114:32001/api/v1/salesOrders HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAo...Otg2IB3dNeyphZdCBTo9bdQit37CVuOOdg
Host: 172.16.57.114:32001
Content-Length: 426
Expect: 100-continue
Connection: Keep-Alive

Request Body

{
  "INTERNAL_REFERENCE": 0,
  "NUMBER": "~",
  "DATE": "2016-02-05T00:00:00",
  "TIME": 102581337,
  "ARP_CODE": "CARI.01",
  "CURRSEL_TOTAL": 1,
  "TRANSACTIONS": {
    "items": [
      {
        "TYPE": 0,
        "MASTER_CODE": "MALZEME.02",
        "QUANTITY": 5,
        "PRICE": 10,
        "VAT_RATE": 18,
        "UNIT_CODE": "ADET",
        "UNIT_CONV1": 1,
        "UNIT_CONV2": 1,
        "EDT_CURR": 1
      }
    ]
  }
 }

Response Header

HTTP/1.1 200 OK
Content-Length: 327
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 06:45:22 GMT

Response Body

{
    "INTERNAL_REFERENCE": 41051,
    "NUMBER": "~",
    "DATE": "2016-02-05T00:00:00",
    "TIME": 102581337,
    "ARP_CODE": "CARI.01",
    "CURRSEL_TOTAL": 1,
    "TRANSACTIONS": {
        "items": [{
            "INTERNAL_REFERENCE": null,
            "TYPE": 0,
            "MASTER_CODE": "MALZEME.02",
            "QUANTITY": 5.0,
            "PRICE": 10.0,
            "VAT_RATE": 18.0,
            "UNIT_CODE": "ADET",
            "UNIT_CONV1": 1.0,
            "UNIT_CONV2": 1.0,
            "EDT_CURR": 1
        }]
    }
}

PUT Operasyonu

kayıt oluşturmak yada güncellemek için kullanılan operasyondur.

örnek PUT operasyonu kullanımı (Bir önceki POST işleminde kaydettiğimiz Satış Siparişine özel kod (AUXIL_CODE) bilgisi ekleme örneği)

api/v1/salesOrders/{id:int}

Request Header

PUT http://172.16.57.114:32001/api/v1/salesOrders/41051 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAo..._Otg2IB3dNeyphZdCBTo9bdQit37CVuOOdg
Host: 172.16.57.114:32001
Content-Length: 465
Expect: 100-continue

Request Body

{
  "INTERNAL_REFERENCE": 41051,
  "NUMBER": "~",
  "DATE": "2016-02-05T00:00:00",
  "TIME": 102581337,
  "ARP_CODE": "CARI.01",
  "AUXIL_CODE":"OZELKOD",
  "CURRSEL_TOTAL": 1,
  "TRANSACTIONS": {
    "items": [
      {
        "TYPE": 0,
        "MASTER_CODE": "MALZEME.02",
        "QUANTITY": 5,
        "PRICE": 10,
        "VAT_RATE": 18,
        "UNIT_CODE": "ADET",
        "UNIT_CONV1": 1,
        "UNIT_CONV2": 1,
        "EDT_CURR": 1
      }
    ]
  }
 }

Response Header

HTTP/1.1 200 OK
Content-Length: 350
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 06:52:50 GMT

Response Body

{
    "INTERNAL_REFERENCE": 41051,
    "NUMBER": "~",
    "DATE": "2016-02-05T00:00:00",
    "TIME": 102581337,
    "AUXIL_CODE": "OZELKOD",
    "ARP_CODE": "CARI.01",
    "CURRSEL_TOTAL": 1,
    "TRANSACTIONS": {
        "items": [{
            "INTERNAL_REFERENCE": null,
            "TYPE": 0,
            "MASTER_CODE": "MALZEME.02",
            "QUANTITY": 5.0,
            "PRICE": 10.0,
            "VAT_RATE": 18.0,
            "UNIT_CODE": "ADET",
            "UNIT_CONV1": 1.0,
            "UNIT_CONV2": 1.0,
            "EDT_CURR": 1
        }]
    }
}

PATCH Operasyonu

mevcut kaydın kısmen update edilmesini sağlar.

Örnek Patch Çağrısı (Bir önceki PUT örneği ile eklenen özel kod bilgisini değiştirme örneği)

api/v1/salesOrders/{id:int}

Request Header

PATCH http://172.16.57.114:32001/api/v1/salesOrders/41051 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAo..._Otg2IB3dNeyphZdCBTo9bdQit37CVuOOdg
Host: 172.16.57.114:32001
Content-Length: 465
Expect: 100-continue

Request Body

{
	"INTERNAL_REFERENCE": 41051,
    "AUXIL_CODE": "OZELKOD2"
}

Response Header

HTTP/1.1 200 OK
Content-Length: 350
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 06:52:50 GMT

Response Body

{
	"INTERNAL_REFERENCE": 41051,
    "AUXIL_CODE": "OZELKOD2"
}

DELETE Operasyonu

Mevcut kaydı siler.

Örnek silme operasyonu (Yukarıda POST ile eklenen, PUT ile bazı alanları set edilen ve son olarak PATCH ile özel kodu güncellenen Sipariş Fişinin silinmesi örneği):

api/v1/salesOrders/{id:int}

Request Header

DELETE http://172.16.57.114:32001/api/v1/salesOrders/41051 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer  AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAo..._Otg2IB3dNeyphZdCBTo9bdQit37CVuOOdg
Host: 172.16.57.114:32001
Content-Length: 0
Expect: 100-continue

Request Body

Boş

Response Header

HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 09 Aug 2017 06:52:50 GMT

Response Body

Boş

Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım