Written by on

PrestaShop 9 wprowadza nowe Admin API oparte na API Platform z uwierzytelnianiem OAuth 2.0. Otwiera droge do handlu headless, niestandardowych front-endow i zaawansowanych integracji z zewnetrznymi systemami.

Co to jest * M19 * 9 Admin API?

Nowy Admin API jest RESful API zbudowany na * P0 *, a * M43 * framework for building modern API. Używa * P1 * uwierzytelniania, zastępując stary system kluczy API z internetowego API.

Kluczowe różnice vs Legacy Webservice API

CechaLegacy Webservice (PS8)Admin API (PS9)
UwierzytelnienieKlucz API (podstawowy)* M27 * 2.0 (poświadczenia klientów)
RamyWłasny XML / JSON* M14 * (standard)
BezpieczeństwoLimitedNowoczesne * M27 * przepływy
Wsparcie bez głowyCzęściowoPełna

Co można zbudować?

  • * P0 * - niestandardowe React, Vue or Next.js front- ends
  • * P0 * - rodzime aplikacje iOS / Android podłączone do sklepu * M19 *
  • * P0 * - zlecenia synchronizacji, produkty i klienci z systemami zewnętrznymi
  • * P0 * - buduj narzędzia analityczne i sprawozdawcze na górze danych sklepu

Jak włączyć Admin API

  1. Idź do * P0 *
  2. Utwórz nowego klienta API z wymaganymi zakresami
  3. Zauważ identyfikator klienta i tajemnicę
  4. Użyj * M27 * 2.0 uwierzytelniania klienta, aby uzyskać żeton dostępu
  5. Wpisz token w żądaniach API jako token posiadacza

Czy serwis internetowy Legacy jest nadal dostępny?

Tak. Legendarny Webservice API nadal działa w * M19 * 9 dla kompatybilności wstecznej. Jednak Admin API jest zalecanym podejściem dla wszystkich nowych integracji.

Zasoby powiązane

Więcej szczegółów technicznych można znaleźć na stronie * P0 *.

Uzyskanie Access Token - przykład curl

Pierwszym krokiem jest utworzenie klienta API w Twoim biurze (* P0 *), a następnie żądanie symbolu:

curl -X POST "https://yourstore.com/oauth2/token" 
  -H "Content-Type: application/x-www-form-urlencoded" 
  -d "grant_type=client_credentials" 
  -d "client_id=your_client_id" 
  -d "client_secret=your_client_secret"

# Response:
{
  "access_token": "eyJ0eXAiOiJKV1Q...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Pierwsze połączenie API

Gdy już będziesz miał ten symbol, zamieść go jako symbol posiadacza w żądaniach API:

# List products
curl -X GET "https://yourstore.com/api/products" 
  -H "Authorization: Bearer eyJ0eXAiOiJKV1Q..."

# Get a single order
curl -X GET "https://yourstore.com/api/orders/12345" 
  -H "Authorization: Bearer eyJ0eXAiOiJKV1Q..."

Dostępne API Scopes and Resources

ZasobyZakresMetody
Produktyprodukt _ read / produkt _ writeGET, POST, PUT, DELETE
Zamówieniaorder _ read / order _ writeGET, POST, PUT
Klienciclient _ read / client _ writeGET, POST, PUT, DELETE
Kategoriekategoria _ odczytu / kategoria _ zapisuGET, POST, PUT, DELETE
Zasady dotyczące koszykacard _ rule _ read / cart _ rule _ writeGET, POST, PUT, DELETE
Przewoźnicycontractor _ readGET
Walutycurrency _ readGET

Przypadki użycia na świecie

1. Bezgłowy magazyn

Zbuduj własny React lub Next.js front- end, który pobiera produkty, kategorie i obsługuje koszyk / checkout za pośrednictwem Admin API. * M19 * zajmuje się logiką handlu; Twój zwyczaj front- end obsługuje UX.

2. Aplikacja mobilna

Podłącz natywną aplikację iOS lub Android do sklepu * M19 *. Aplikacja uwierzytelnia za pomocą * M27 *, następnie czyta produkty, umieszcza zamówienia i sprawdza status zamówienia poprzez API - nie wymaga się skanowania stron internetowych.

3. Integracja ERP / CRM

Synchronizacja zamówień z * M19 * do ERP (np. SAP, Odoo) automatycznie. Użyj pracy cron do badania nowych zamówień za pośrednictwem API zamówień i popchnąć je do ERP. Aktualizuj poziom zapasów w PS z ERP za pośrednictwem API Products.

4. Deska rozdzielcza Custom Analytics

Pull order, klient, i dane produktu do własnego narzędzia BI (Power BI, Metabase, Grafana) dla głębszych analiz niż built- in * M19 * statystyki.

Migracja z Legacy Webservice API do Admin API

AspektLegacy WebserviceAdmin API (PS9)
UwierzytelnienieKlucz API w nagłówku* M27 * 2.0 token posiadacza
Okres ważności leku TokenNigdy (klucz statyczny)3600 (potrzebne odświeżenie)
Podstawowy adres URL/ api / products? output _ format = JSON/ api / produkty
Format odpowiedziXML lub JSONJSON (JSON- LD)
FiltrowanieParams* M14 * filtry

Legendarny Interservice API pozostaje funkcjonalny w PS9 dla kompatybilności wstecznej. Nie musisz natychmiast migrować z istniejącymi integracjami, ale nowe integracje powinny korzystać z API Admin.

Często zadawane pytania

Czy Admin API jest dostępny w * M19 * 8?

Nie. Nowy Admin API oparty jest na * M19 * 9. * M19 * 8 używa webservice API z uwierzytelnianiem klucza API.

Czy do korzystania z API potrzebna jest wiedza kodująca?

Podstawowa wiedza REST API jest wymagana. Musisz zrozumieć żądania HTTP (GET, POST, PUT, DELETE), format danych JSON, i * M27 * 2.0 token flows. Biblioteki są dostępne dla * M43 *, Python, JavaScript, aby to uprościć.