Pico DocsSandbox

Entwickler-Docs

Mit Pico entwickeln

Testen Sie die Sandbox, betten Sie den Einkaufsassistenten ein und lernen Sie die API-Konventionen für Widget- und Händler-Endpunkte.

API v1Sandbox bereit

Schnellstart

  1. API starten

    Starten Sie die API unter http://localhost:8000 und führen Sie php artisan migrate --seed.

  2. Sandbox öffnen

    Nutzen Sie die Sandbox oder rufen Sie die Widget-Endpunkte direkt auf.

  3. Als Händler anmelden

    Dashboard unter http://localhost:3000 mit owner@pico.test / password.

Der öffentliche Widget-Flow nutzt drei Aufrufe:

Widget-Session-Flow
# 1. Fetch widget configuration (public, no auth)
curl http://localhost:8000/api/v1/widget/config/pw_sandbox_demo_widget_001

# 2. Start a shopper session
curl -X POST http://localhost:8000/api/v1/widget/sessions \
  -H "Content-Type: application/json" \
  -d '{"public_widget_id":"pw_sandbox_demo_widget_001","locale":"en"}'

# 3. Send a message
curl -X POST http://localhost:8000/api/v1/widget/sessions/<session_id>/messages \
  -H "Content-Type: application/json" \
  -d '{"message":"Waterproof hiking boots under 150"}'

Widget einbetten

Storefront-Embed
<script type="module" src="https://cdn.example.com/pico-widget.js"
  data-public-widget-id="pw_sandbox_demo_widget_001"
  data-api-url="http://localhost:8000/api/v1"></script>

Das Widget rendert im Shadow DOM, damit Ihre Site-Styles es nicht zerstören. „In den Warenkorb“ erscheint nur, wenn der verbundene Shop die Capability add_to_cart meldet.

Sandbox-Leitfaden

Die Sandbox ist eine klar gekennzeichnete Nicht-Produktionsumgebung mit einem Mock-Shop und Beispiel-Outdoor-Artikeln.

  • Anonym: Demo-Widget-ID eingeben pw_sandbox_demo_widget_001 und chatten.
  • Angemeldet: die Sandbox lädt Ihren eigenen Sandbox-Shop über GET /sandbox/config.
  • Jede Anfrage und Antwort wird als JSON angezeigt, damit Sie genau sehen, was die API zurückgibt.
  • Hier werden keine echten Bestellungen, Zahlungen oder Produktionskataloge berührt.

Fehlerformat

Jeder Fehler nutzt einen HTTP-Status und denselben JSON-Body. Loggen Sie immer request_id, wenn Sie ein Problem melden.

Fehler-Body
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The request could not be validated.",
    "details": { "message": ["The message field is required."] },
    "request_id": "req_01HXYZ..."
  }
}
CodeHTTPBedeutung
VALIDATION_ERROR422Ungültige Eingabe; details enthält Feldfehler
UNAUTHENTICATED401Fehlende oder ungültige Session/Zugangsdaten
FORBIDDEN403Authentifiziert, aber nicht berechtigt
NOT_FOUND404Ressource in Ihrem Scope fehlt
RATE_LIMITED429Zu viele Anfragen
CONFLICT409Zustandskonflikt oder doppelte Mutation
CONNECTOR_ERROR502Upstream-Commerce-Plattform fehlgeschlagen
UNSUPPORTED_CAPABILITY400Aktion von diesem Shop nicht unterstützt
SESSION_EXPIRED401Widget-Shopper-Session abgelaufen
AGENT_UNAVAILABLE503Modell-/Agent-Anbieter nicht verfügbar
INTERNAL_ERROR500Unerwarteter Serverfehler

details details kann Feldfehler enthalten und enthält niemals Geheimnisse oder Stacktraces.

Integrationsleitfäden

Verbinden Sie Pico mit Ihrer Commerce-Plattform. Die Guides decken Zugangsdaten, Sync und Storefront-Embed ab.

Mock-Shop

Verfügbar

Sandbox-Katalog für Demos und lokale API-Tests.

Shopware 6

Verfügbar

Admin-API + Store-API Setup mit offiziellen Admin-Screenshots.

Shopify

Verfügbar

OAuth-Installation, Katalog-Sync und Theme-App-Embed für den Pico-Assistenten.

Laravel-Shop

Geplant

Gemeinsamer Commerce-Vertrag für eigene Laravel-Storefronts.