Salesforce online olarak kullanılan bir CRM platformudur. Bu platform, Dünya çapında 150.000'den fazla büyük-küçük ölçekli şirketlerce kullanılmaktadır.
Saleforce, müşterilerin daha kolay entegre olabilmesi için; SOAP, REST gibi servislerini geliştirciler ile paylaşmıştır. Bugün, Salesforce'a büyük verilerin aktarılmasını sağlayan REST servisinden yani Bulk API'dan bahsedeceğiz. Bulk API, Saleforce sistemine büyük verilerin hızlı ve performanslı bir şekilde yüklenmesini sağlayan REST servisidir. Bu yazımızda ele alacağımız versiyon, Bulk API v2 versiyonudur.
Bulk API v2, Bulk API v1'e göre daha az işlem ile insert, update, delete ve upsert süreçlerini yürütür. SAP Salesforce Adaptör'ün özelliklerinden bazıları aşağıdaki gibidir.
İçindekiler
Bulk API v2, diğer Salesforce REST API'leri gibi OAuth akışlarının hepsini desteklemektedir.
Bulk API v2 ile gelen bir diğer özellik ise gönderilen büyük boyutlu dosyaların otomatik olarak batchlere ayrılmasıdır. Bulk API v1'de bu işlemi de geliştirici yapıyordu ve yapılan iş süreci oldukça uzatıyordu. Bu başlığın detaylarına Bulk API v2 - Bulk API v1 karşılaştırmasında detaylıca bakacağız.
Bulk API v2 ile artık kayıtlar job bazlı değil gönderilen kayıt satırına göre limitlendirilmiştir. Bu limit 24 saat için 100 milyon kayıttır.
Bulk API v2'de veriler sadece CSV olarak gönderilir. Bunun sebebi yüksek boyutlu dosyalarda, veriyi olabildiğince ham halinde tutmaktır. Örneğin bir XML dosyasında asıl veriye ek olarak birçok XML tagıda olacaktır. Aynısı JSON içinde geçerli denebilir.
Burada karşımıza çıkan en önemli sorulardan biri neden Bulk API v1 yerine Bulk API v2 kullanmalıyız olacaktır.
Bulk API v1 ve Bulk API v2 karşılaştırmasına gelin yakından bakalım.
Öncelikle Bulk API v1'den bahsedelim. Bulk API v1 ile geliştirme yapıyorsanız aşağıdaki adımları uygulamanız gerekmektedir.
Job oluşturmak için, /services/data/v{{apiVersion}}/jobs/ingest/ servisine POST methodu ile istek atılır.
Örnek İstek :
{
"object": "Contact",
"contentType": "CSV",
"operation": "insert"
}
Bir önceki adımda gönderdiğimiz istekten dönen cevabın içindeki JobId değeri alınır.Buradaki JobId değeri veriyi yüklerken kullanacağımız servis için gerekli.
Veriyi yüklemek için, /services/data/v{{apiVersion}}/jobs/ingest/{{jobId}}/batches servisine PUT methodu ile istek atılır.
Header bilgisindeki Content-Type değeri text/csv olmalıdır.
Örnek İstek
FirstName,LastName,Title,EmailJohn, Doe,Bulk API User,testuser@mdpgroup.com
FirstName,LastName,Title,Email
John, Doe,Bulk API User,testuser@mdpgroup.com
Veri gönderim işlemi tamamlandıktan sonra Job’ı kapatmamız gerekiyor. İstek atacağımzı servis için yine aynı JobID değeri kullanılmalıdır.
Job’ı kapatmak için, /services/data/v{{apiVersion}}/jobs/ingest/{{jobId}} servisine PATCH methodu ile istek atılır.
Job’ı kapattıktan sonra durumunu kontrol etmemiz gerekiyor.
Job durumunu kontrol etmek için : /services/data/v{{apiVersion}}/jobs/ingest/{{jobId}} adresine GET methodu ile istek atılır.
Herhangi bir kayıtta hata oluşup oluşmadığını görmek için /services/data/v{{apiVersion}}/jobs/ingest/{{jobId}}/failedResults servisine GET methodu ile istek atılır.
Yapılacak işlemlerin tamamı bu kadar. Bulk API v1’e göre daha kolay ve daha hızlı bir şekilde geliştirmemizi tamamlayabildik.
Bulk API v2’yi daha detaylı incelemek için : https://developer.salesforce.com/docs/atlas.en-us.api_bulk_v2.meta/api_bulk_v2/introduction_bulk_api_2.htm <Bulk API 2.0 Developer Guide>
Adresini ziyaret edebilirsiniz.
Veri yüklemek, oluşturulan Jobların kontrolü, Joblara ait sonuçların kontrolleri hatta SOQL desteği ile verilerinizi Salesforce ortamından hızlıca çekebilmeniz için MDP Salesforce Adapter kullanabilirsiniz.
MDP Salesforce Adapter çözümünün detaylarına aşağıdaki adresten ulaşabilirsiniz.
MDP Salesforce Bulk API v2 Adapter
Ayrıca SAP Community'de paylaştığımız MDP Salesforce Bulk API v2 Adapter başlıklı blog yazımızı incelemek için de aşağıdaki adresi ziyaret edebilirisiniz.
SAP Community : The MDP Salesforce Bulk API v2 Adapter for SAP Cloud Platform Integration
SAP PI/PO/CPI Danışmanı
SAP WM'den (Depo Yönetimi) SAP EWM'e (Genişletilmiş Depo Yönetimi) Geçmeniz İçin 5 Sebep
Etkili bir tedarik zinciri yönetimi, planlı ve efektif bir envanter takibine tabidir. İşletmelerin doğru miktarda stok bulundurmaları için...
EWM ile Sayım Sürecinde Fark Kaydı Kontrolü
EWM sayım uyarlamaları kullanılarak sayım sonrasında istenilen kullanıcıların fark kaydı atması engellenebilir. Hatalı/istenmeyen fark...
SAP RAP Uygulamalarında Behavior Extension Kullanımı
SAP'nin modern geliştirme çerçevesi olan SAP RAP (Restful ABAP Programming), yazılım çözümlerinin esnek ve modüler olmasını sağlayarak...
e-Fatura ve e-Arşiv Fatura Arasındaki Farklar
e-Dönüşüm, Gelir İdaresi Başkanlığı tarafından teknolojiyi iş süreçlerine entegre etmek için başlatılan...
Kimler e-İrsaliye Mükellefidir?
Dijital dönüşüm çözümleri arasında en çok tercih edilen uygulamalarından biri e-İrsaliye uygulamasıdır. Ticari faaliyetlerde bulunan...
Elektrikli Şarj Hizmetlerinde Faturaların Oluşturulma Süreci
Gelir İdaresi Başkanlığı (GİB) tarafından Aralık 2023 tarihinde paylaşılan "Elektrik Şarj Hizmetlerine İlişkin Fatura Teknik Kılavuzu"...
Bulut Çağında SAP Fiori: Push Notification ve Notification Center
Günümüzde şirketlerin, iş süreçlerini optimize etmek ve kullanıcı deneyimini geliştirmek için çözümler aradığı bir ortamda, SAP...
SAP ERP İş Süreçlerini Nasıl Kolaylaştırır?
Farklı uygulamalar bir araya gelip silolar halinde çalıştığında ve birbiriyle bağlantı kuramadığında verimsizliklerin, eksikliklerin ve...
E-Gider Pusulası Nedir?
Günümüzde bir işin hızlı olması daha da önem kazanmıştır. Artık insanlar basit işlere uzun zamanlar harcamaktansa bu işlerini hızlıca...
Mailiniz başarıyla gönderilmiştir en kısa sürede sizinle iletişime geçilecektir.
Mesajınız ulaştırılamadı! Lütfen daha sonra tekrar deneyin.