Akeneo PIM: Connections

Şimdiye kadar Akeneo tarafından sunulan ve açık kaynak olarak da erişebildiğimiz Akeneo PIM uygulamasına genel hatları ile baktık. Akeneo PIM: Connections başlıklı bu yazı ile ilgili yazı akışını artık sonlandırabiliriz.

AA

Bundan sonraki aşamada farklı konular altında özellikle Connections işlemlerine değinmemiz mümkün olabilir. Bağlantı oluşturma ve API istekleri konusuna geçmeden önce, kısaca Akeneo PIM neydi bir hatırlayalım.

Akeneo PIM

Akeneo PIM Nedir? Nasıl Kurulur? başlıklı yazıda da temel bir şekilde ifade edildiği üzere; Akeneo PIM, ürün bilgilerinin toplanması, yönetilmesi ve zenginleştirilmesi gibi işlemleri kolaylaştıran, bu ürünlerin kataloglanmasını, diğer satış (mağazalar, e-ticaret siteleri vb.) ve dağıtım kanallarına belirtilen şekilde iletilmesini sağlayan bir Ürün Bilgi Yönetimi (PIM) uygulaması. Yine ilgili yazıda açık kaynaklı dağıtımı olan Community Edition‘ın nasıl indirilip yapılandırılabileceğini görmüştük. Bu yazıda ise bağlantılar özelliğine değineceğim.

System > Connections yolunu takip ederek bağlantılar oluşturabilmekteyiz1. Veri kaynağı, Veri hedefi ve Diğer seçenekleri kullanılabilmekte. Veri kaynağı PIM’e aktarılacak, veri hedefi PIM’in verileri göndereceği hedefleri ifade etmekte. Diğer seçeneği ise genel olarak verinin düzenlenmesi gibi ilişkileri barındırmakta2. Örneğin, veri kaynağı olarak tedarikçiler tarafından ilerilen verileri, bynder3 ve SAP ERP4 gibi entegrasyonları düşünebiliriz. Artık veri kaynaklarından alınan verileri PIM üzerinden kotrol edebilmekteyiz. Bir sonraki aşama yönetilen verilerin çeşitli kaynaklarla paylaşılabilmesi. Bu hedefler mobil veya web uygulamaları, e-ticaret siteleri, sosyal medya hesapları vb. olabilir.

Oluşturulan tüm bağlantılar ayrıca Connection dashboard üzerinden takip edilebilmektedir. Ek olarak, oluşturulan her bağlantının bilgisi kolaylıkla düzenlenebilmektedir. Ancak, bu değişiklikler sonrasında ilgili bağlantının diğer ucunda da düzenlemeler yapılması gerekebilir. bu nedenle, düzenleme işlemlerinden sonra bağlantının sorgusu yaparak bağlantının çalıştığımından emin olmanız önemli5.

Çalışmayan bağlantılar aynı şekilde Connection dashboard bölümünde de pasif görüneceklerdir. Pasif durumdaki bağlantıların doğru şekilde yapılandırıldığından emin olmalısınız. Bilgiler doğru ise bağlantı uçlarında işlemler yapılmıyor olabilir. Bu durumda bağlantıyı kaldırabilir ya da ilgili servisin aktif şekilde kullanıp kullanılmayacağından emin olabilirsiniz6.

REST API

Bağlantılarımızı oluşturduğumuza göre ilk isteğimizi yapalım ve ürünleri listeleyelim. Bu amaçla Postman uygulamasını kullanacağım. İstekler için kullanacağımız uç nokta {{url}}/api/rest/v1/products/. {{url}} elbette Akeneo PIM uygulamasının kurulduğu alan adı bilgisi ile güncellenmeli. Öncesinde oluşturduğumuz bağlantıya ait token bilgisini öğrenmemiz gerekiyor7.

Aşağıdaki ayarları Postman > Environment üzerinden import edebilirsiniz. url value alanını Akeneo PIM kurulu alan adınız ile diğer alanları da Akeneo PIM > Connections bölümünde oluşturduğunuz Connection bilgileri ile güncellemeniz gerekmekte.

{
 "id": null,
 "name": "Akeneo PIM API",
 "values": [{
   "key": "url",
   "value": "http://demo.akeneo.com",
   "enabled": true
  },
  {
   "key": "clientId",
   "value": "<client-id>",
   "enabled": true
  },
  {
   "key": "secret",
   "value": "<secret>",
   "enabled": true
  },
  {
   "key": "username",
   "value": "<username>",
   "enabled": true
  },
  {
   "key": "password",
   "value": "<password>",
   "enabled": true
  }
 ],
 "_postman_variable_scope": "environment"
}

Import8 ve bilgi değişikliklerinin ardından {{url}}/api/oauth/v1/token yoluna POST isteğinde bulunduğumuzda, bilgilerde bir yanlışlık yok ise token içeriğimiz dönecek ve değişken olarak tutulacaktır.

{
    "access_token": "ZmQ0ZTlkNGY3MjIyMzNhMDc5ZjI5NDA1MGFkN2VkZDY2NzI4MTRhYWNiYTNiZjZkNTYwOTBhYzgyMTEyYzU3Yw",
    "expires_in": 3600,
    "token_type": "bearer",
    "scope": null,
    "refresh_token": "N2JiMDBjZjVhY2QyOWZjN2FkM2E4MDZjNjdiNDU4MTNkZGEwYzFjODc4OGViNjMwM2Q1MmQyYTRiODcwNWE3OA"
}

Artık {{url}}/api/rest/v1/products yolunu GET isteği yaparak ürünleri listelemek için kullanabiliriz. Diğer uç noktalara ise (channels, locals, currencies, attributes, …) {{url}}/api/rest/v1/ yolu üzerinden ulaşabilirsiniz.