# Amorphie Standart Rest Servis Tanimlari ## Search for Entity Tum entityler Backoffice uygulamasi ve ihtiyac duyan uygulamalar icin bir kayit arama servisi sunar. * HTTP GET Methot olarak sunulur. * **keyword** isminde query parameter ile full text indexlenmis tablo text verilerinde full text search yapmak icin kullanilir. * Query string icerisinde rezerve edilmis parametre haricindeki tum parametreler filtre olarak kabul edilir. * Filtreler degerleri {filtre-adi}={filtre-degeri} olarak Query string icerisine yerlestirilir. * Filtreler birnden fazla degeri kabul eder. state=active&state=inProgress gibi. * Tum referanslar(Foreign Key) ve enum degellerinin filtre olarak tanimlanmasi beklenir. * Entity tarafindan desteklenen tum filtreler swagger icerisinde tanimlanir. * Rezerve edilmis Query parametreleri; * keyword: full text search icin kullanilir. * page-size: donecek veri dizininin maksimum sayisini verir. Verilmedigi takdirde 20 kabul edilir. * page: donecek veri dizin sayfasini belirler. Ilk sayfa indeksi sifirdir. Verilmedigi taktiderde 0 kabul edilir. > GET https://api.burgan.com.tr/..../consent?keyword={keyword}&{filter1}={filter1Value}&{filter2}={filter2Value1}&{filter2}={filter2Value2}&page-size={pagesize}&page={page} ### Samples > `Migros Kredi` kelimesi gecen mobile uyugulama icin olusturulmus ilk elli consenti getir. > GET https://api.burgan.com.tr/..../consent?keyword=Migros%20kredi&client=mnobile&client=web&page-size=50&page=0 > Ahmet adli kullanicinin tum konstlerini doner. > GET https://api.burgan.com.tr/..../consent?&user=ugur ## Update from Workflow Her entity icin workflow tarafindan state degisimlerinde, degisikligi yansitacak bir servis cagrisi yapilmasi icin servis sunulur. Bu cagrilacak Url kaydi amorphie.workflow icerisindeki State.Transition icerisinde tanımlanır. ```csharp public class Transition : BaseDbEntityWithId { ... public string ServiceName { get; set; } = default!; ... } ``` Her statu degisiminde ilgili entity icin tanimlanan POST methodu cagrilir. > POST https://api.burgan.com.tr/..../consent Cagri veri kumesinde entity verileri (workflow icerisinde gunllenmis olabilir) ve statu bilgisi gonderilir. ```json { "status": "waiting-approval", "base-status": "new", "record-id": "678fd5c7-5ab0-45b2-a38e-93fbe49f38bf", "entityData": { "reference": 38538734554, "first-name": "Ahmet" } } ``` POST servisi gelen veri icerisindeki record-id li kaydin (kayit yoksa, yeni kayit yaratir) degisen entity-data verilerini ve statulerini gunceller.