Sprawdzone metody dotyczące interfejsu CSS API

W tym dokumencie opisujemy niektóre sprawdzone metody korzystania z interfejsu CSS API. Porady na tej stronie nie są obowiązkowe, ale mogą pomóc w wyjaśnieniu niektórych zamierzonych zastosowań interfejsu API.

Konfigurowanie środowiska

Aby skonfigurować środowisko programistyczne, postępuj zgodnie z instrukcjami podanymi w dokumentacji szybkiego wprowadzenia.

  • Generowanie pliku JSON z użytkownikiem i uprawnieniami w Google Cloud Console
  • Włączanie interfejsu CSS API w Google Cloud Console
  • Dodaj tego użytkownika z uprawnieniami administratora do konta usługi porównywania cen (grupy usług porównywania cen lub domeny usługi porównywania cen).
  • Sprawdź, czy używasz prawidłowego zakresu OAuth: https://www.googleapis.com/auth/content

Biblioteki klienta są teraz dostępne w standardowych repozytoriach dla większości języków programowania. Listę tych bibliotek znajdziesz na stronie bibliotek klienta.

Używanie prawidłowych identyfikatorów

Używaj prawidłowych identyfikatorów z prawidłowymi punktami końcowymi interfejsu API:

  • Interfejs CSS API (css.googleapis.com): podczas korzystania z usług CSS używaj identyfikatora domeny usługi porównywania cen (np. accounts/{cssDomainId}/cssProductInputs:insert).
  • Merchant API (merchantapi.googleapis.com): używaj Merchant API w przypadku standardowych produktów sprzedawcy.

Pomylenie tych wartości spowoduje błędy. Więcej informacji znajdziesz w artykule Omówienie interfejsu CSS API.

Dobre metody na początek

Zalecamy testowanie za pomocą tych metod:

ListChildAccounts

ListChildAccounts to wywołanie tylko do odczytu, które wyświetla wszystkie domeny usługi porównywania cen (jeśli jest wywoływane dla grupy usług porównywania cen) lub sprzedawców (jeśli jest wywoływane dla domeny usługi porównywania cen). Dlatego jest to dobry sposób na sprawdzenie, czy wszystko jest prawidłowo skonfigurowane.

Wstawianie, wyświetlanie, aktualizowanie i usuwanie produktu

Gdy upewnisz się, że interfejs API działa, spróbuj dodać produkt. Użyj raw_provided_id, które zapamiętasz.

  • Wstaw produkt testowy za pomocą funkcji InsertCssProductInput. Jeśli potrzebujesz pomocy w określeniu, które atrybuty wysłać, skorzystaj z przykładowego kodu.
  • Wyświetl listę wszystkich produktów za pomocą funkcji ListCssProducts. Po wstawieniu produktu może minąć trochę czasu, zanim się on pojawi. Jeśli go nie widzisz, spróbuj ponownie po kilku sekundach.
  • Zaktualizuj pojedynczy produkt za pomocą UpdateCssProductInput, używając cssproductinput.name. Musisz wysłać tylko atrybuty, które mają zostać zaktualizowane. Zapoznaj się z przykładowym kodem.
  • Usuń produkt testowy za pomocą funkcji DeleteCssProductInput. Musisz użyć raw_provided_id.

Używanie funkcji Async do zwiększania wydajności

Interfejs CSS API jest przeznaczony do wywołań równoległych. Zauważysz, że wydajność pojedynczych operacji może być niska, ale będzie znacznie większa, gdy wywołasz tę samą operację wiele razy równolegle. Najlepszym sposobem na korzystanie z tej funkcji jest użycie funkcji asynchronicznej w języku programowania.

Przykłady w niektórych językach programowania:

Znajdź i użyj funkcji asynchronicznej w swoim języku programowania, aby wstawić wiele produktów jednocześnie. Nie musisz się martwić o przeciążenie naszych systemów – temu służą limity.

Więcej informacji znajdziesz na naszej stronie dotyczącej wydajności.

Weryfikowanie ładunków

Aby uniknąć typowych błędów, sprawdź, czy ładunki JSON są prawidłowo sformatowane:

  • Zapoznaj się z oficjalną dokumentacją: zawsze korzystaj z najnowszej dokumentacji interfejsu CSS API, aby poznać definicje pól, wyliczenia, typy danych i strukturę ładunku.
  • Sprawdź przykładowe ładunki: porównaj swoje ładunki z podanymi przykładami kodu, aby wykryć niezgodności.
  • Typy danych: upewnij się, że używasz prawidłowych typów danych (np. ciągów znaków, obiektów, tablic) zgodnie z dokumentacją.
  • Testuj stopniowo: zacznij od minimalnych prawidłowych ładunków, aby potwierdzić podstawową łączność, i stopniowo dodawaj więcej atrybutów.

Aktualizowanie produktu

Po przesłaniu produkt pozostanie w naszym systemie, dopóki nie zostanie zaktualizowany, usunięty lub nie wygaśnie.

  • Możesz zaktualizować cały produkt, wysyłając ponownie żądanie InsertCssProductInput, używając tego samego identyfikatora raw_provided_id, którego użyto na początku. Obecnie musisz przesyłać pełne dane produktów, nawet jeśli zmieniły się tylko niektóre atrybuty (np. cena lub dostępność).
  • Możesz zaktualizować części produktu za pomocą metody PATCHUpdateCssProductInput, podając nazwę produktu i treść JSON zawierającą dane, które chcesz zaktualizować. W przeciwieństwie do InsertCssProductInput, które wymaga podania wszystkich odpowiednich pól, UpdateCssProductInput wymaga tylko określenia pól, które chcesz zmienić.
  • Aby usunąć produkt, wywołaj funkcję DeleteCssProductInput z tym samym parametrem raw_provided_id.
  • Produkty wygasają automatycznie około miesiąca po ostatniej aktualizacji.

Tryb ciągłej pracy

Tryb ciągłej pracy może wyglądać tak:

  • Użyj własnych identyfikatorów wewnętrznych jako raw_provided_id.
  • Regularnie przesyłaj ponownie wszystkie produkty, np. co tydzień. Dzięki temu aktywne produkty nie wygasną.
  • Aktualizuj poszczególne produkty, gdy tylko otrzymasz zmienione dane od sprzedawców.
    • Jeśli nie możesz od razu reagować na zmiany, często (np. co godzinę) wyszukuj wszystkie zmienione produkty i przesyłaj ponownie tylko te produkty.
    • W przypadku produktów, które nie są już dostępne, możesz użyć wywołania delete lub ustawić liczbę dostępnych ofert na 0.
    • Nie przesyłaj często niezmienionych produktów. Te wywołania będą wliczane do limitu interfejsu API. Wystarczy odświeżanie co tydzień.

Wybór oferty w nagłówku

Oferta w nagłówku nie musi być najlepszą ani najtańszą ofertą w Twojej witrynie, ale musi być dobrze widoczna. Możesz z niej korzystać w przypadku, gdy Twoja najlepsza oferta szybko się zmienia. W takiej sytuacji możesz wybrać inną, bardziej stabilną ofertę.

Co jakiś czas ponownie sprawdzaj ten dokument

Otrzymaliśmy opinie na temat tego, jak ulepszyć ten interfejs API, i pracujemy nad wprowadzeniem niektórych z tych ulepszeń. Gdy udostępnimy nowe funkcje, które uproszczą korzystanie z interfejsu CSS API, zaktualizujemy tę stronę.