Arama
Hook, doğrudan çağrı ve yönlendirmeler
Selwise aramasını uygulamaya almak: anlık arama sonuçları, yönlendirme kuralları ve sıfır sonuç ölçümü. Panelde tanımlı eş anlamlılar, yönlendirmeler ve sıralama kuralları uygulamada da geçerlidir.
Neyi arar
Selwise ürün beslemesini arar; mağazanızın kendi ürün dizinini değil. Bu yüzden filtre kenarı (facet) ve sıralama yoktur. Uygulamanızın kendi liste ekranı "tüm sonuçları gör" için kalmalı, Selwise araması onun üstünde hızlı bir anlık arama katmanı olmalıdır.
Hook ile
import { useSelwiseSearch } from '@selwise/react-native/react';
const { query, setQuery, hits, loading, error, isZeroResults, trackClick, clear } = useSelwiseSearch({
limit: 20,
minChars: 2,
debounceMs: 300,
});
useSelwiseSearch(options?: SearchOptions & { debounceMs?: number; minChars?: number }): {
query: string;
setQuery: (query: string) => void;
hits: SelwiseProduct[];
loading: boolean;
error: Error | null;
isZeroResults: boolean; // arama çalıştı ve hiçbir şey döndürmedi
trackClick: (itemCode: string, position?: number) => void;
clear: () => void;
}
debounceMs varsayılanı 300, minChars varsayılanı 2 (daha kısa sorgu boş sayılır). Hook yazmayı bekler, önceki isteği iptal eder ve yalnızca en son sorgunun cevabını gösterir. Sonuçlara dokunulduğunda trackClick(item.itemCode, index) çağırın: tıklama raporu bununla dolar. isZeroResults sonuçsuz arama ekranınızı çizmek içindir; hata varken false kalır.
Doğrudan çağrı
search(query: string, options?: SearchOptions, signal?: AbortSignal): Promise<SearchResult>
trackSearchClick(query: string, itemCode: string, position?: number): void
interface SearchOptions {
limit?: number; // sunucuda en çok 100; verilmezse panelde ayarlı sonuç sayısı (yoksa 10)
minPrice?: number;
maxPrice?: number;
inStock?: boolean;
category?: string;
}
const result = await selwise.search('kırmızı ruj', { limit: 10, inStock: true });
if (result.redirect) {
navigateTo(result.redirect); // sonuç listesini ÇİZMEYİN
return;
}
render(result.hits);
Cevap alanları
| Alan | Anlam |
|---|---|
query | Sorduğunuz metin (SDK ekler) |
hits | Ürün listesi, öneri ürünleriyle aynı alanlar |
total, took | Toplam eşleşme, milisaniye |
enabled | Arama kanalda kapalıysa false |
categories | { name, count } listesi (varsa) |
redirect | Panelde tanımlı yönlendirme (kargo gibi bir sorgu kargo sayfasına gider) |
suggestions, expandedQuery, error, strategy, traceId | Tanılama ve öneri alanları |
redirectvarsa sonuç listesinin yerine geçer. Bu bir cevaptır, başarısız arama değildir:hitsboştur ve yönlendirmeyi uygulamayan uygulama, merchant'ın bilerek yazdığı kural için boş bir liste gösterir. Yönlendirmeli aramalarsearch_queryolarak kaydedilir ve sıfır sonuç raporunu kirletmez (Yönlendirmeler).- Boş sorgu ve filtre yoksa cevap
200ilehits: []veerror: 'Query parameter required'olur; 200 karakterden uzun sorguQuery too longdöner. Bu iki durumda SDK hata fırlatmaz vehitsboş geldiği içinsearch_zero_resultsolayı yazar; bu yüzden boş ya da çok kısa sorguyla doğrudansearch()çağırmayın (hook bunuminCharsile engeller). - Arama modülü satın alınmamış hesapta uç nokta
402döner; kanalda arama kapalıysaenabled: falsegelir. Öncedenselwise.getSearchStatus()ile{ enabled, testMode }kontrol edin. Arama test modundaysa (testMode: true) 0.13.0'dan berisearch()yalnızcatestMode: trueile başlatılan istemcide sorgular; gerçek bir alışverişçide istek gönderilmez, boş sonuç (hits: []) döner ve rapora hiçbir arama yazılmaz. Arama kutusunu bu durumda göstermemek için yine degetSearchStatus()okuyun.
Ne ölçülür
search() kendisi iki olayı kaydeder; ayrıca bir şey yazmayın, yoksa sayılar iki katına çıkar:
| Durum | Olay |
|---|---|
| Sonuç var | search_query |
| Sonuç yok (ve yönlendirme yok) | search_zero_results |
| Yönlendirme | search_query (üstverisinde redirect) |
trackSearchClick | product_click (entityType: search, üstverisinde query ve position) |
Sonuçsuz aramalar panelde listelenir: Sonuçsuz Aramalar, Arama Analitiği.
Kendi arama ekranınız
Uygulamanın kendi arama ekranı varsa ve Selwise sonuçları göstermiyorsa o aramalar Selwise'e yalnızca olay olarak ulaşır. Akinon App Maker eklentisi bunu kendiliğinden yapar ve source: app_search ile işaretler; sıfır sonuç iddia edilmez, çünkü sonuç gelmeden olay yayınlanır (Akinon App Maker Eklentisi).
Ham uç noktalar
selwise.endpoints.getSearchConfig() ve selwise.endpoints.getSearchSuggestions() arama yapılandırmasını ve önerilen sorguları ham cevap olarak verir; kendi arama arayüzünüzü yazıyorsanız kullanışlıdır. Alanları için Public API sayfasına bakın.
Sırada ne var
Son güncelleme: 10 Ekim 2026