Zum Inhalt springen
Menü

Website durchsuchen

Tippe, um Anleitungen, Blog, API und Produkt zu durchsuchen.

↑ ↓ zum Wechseln · Enter zum Öffnen · Esc zum Schließen

API-Referenz

API

Warenkörbe

Teilbare Warenkörbe, die auf WhatsApp abschließen

Als Markdown ansehen

Mit Warenkörben stellt ein Besucher deines Shops eine Produktliste zusammen und nimmt sie mit dem ganzen Kontext in ein WhatsApp-Gespräch mit. Ein Warenkorb ist eine kurzlebige Momentaufnahme: Er bekommt einen 7-stelligen Code, gilt 90 Tage und ist unveränderlich: Um ihn zu ändern, erstellst du einen neuen.

  1. Ein Besucher deines Shops stellt eine Produktliste zusammen.
  2. Dein Shop erstellt mit POST /v1/carts einen Warenkorb und bekommt einen kurzen Code.
  3. Du schickst dem Besucher per WhatsApp einen Link wie https://<dein-shop>/c/<code>.
  4. Wenn das Gespräch beginnt, hat dein Agent schon den ganzen Kontext dessen, was der Besucher ausgewählt hat.
MethodePfadBeschreibung
POST/v1/cartsTeilbaren Warenkorb erstellen
GET/v1/carts/:codeWarenkorb per Code auflösen

Einen Warenkorb erstellen

Schick 1 bis 50 Artikel, jeder mit Verweis auf eine Produkt-ID und einer qty zwischen 1 und 99. Die Antwort ist der kurze Code des Warenkorbs:

POST/v1/carts
curl -X POST "https://rest-api.tbit.app/v1/carts" \
  -H "X-API-Key: $TBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "id": "prod_id_1",
        "qty": 2
      },
      {
        "id": "prod_id_2",
        "qty": 1
      }
    ]
  }'
const response = await fetch('https://rest-api.tbit.app/v1/carts', {
  method: 'POST',
  headers: {
    'X-API-Key': process.env.TBIT_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    items: [
      {
        id: 'prod_id_1',
        qty: 2,
      },
      {
        id: 'prod_id_2',
        qty: 1,
      },
    ],
  }),
});
const data = await response.json();
import axios from 'axios';

const { data } = await axios.post(
  'https://rest-api.tbit.app/v1/carts',
  {
    items: [
      {
        id: 'prod_id_1',
        qty: 2,
      },
      {
        id: 'prod_id_2',
        qty: 1,
      },
    ],
  },
  {
    headers: {
      'X-API-Key': process.env.TBIT_API_KEY,
    },
  },
);
import os
import requests

response = requests.post(
    'https://rest-api.tbit.app/v1/carts',
    headers={'X-API-Key': os.environ['TBIT_API_KEY']},
    json={
        'items': [
            {
                'id': 'prod_id_1',
                'qty': 2,
            },
            {
                'id': 'prod_id_2',
                'qty': 1,
            },
        ],
    },
)
data = response.json()
<?php
$ch = curl_init('https://rest-api.tbit.app/v1/carts');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: ' . getenv('TBIT_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'items' => [
            [
                'id' => 'prod_id_1',
                'qty' => 2,
            ],
            [
                'id' => 'prod_id_2',
                'qty' => 1,
            ],
        ],
    ]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
Antwort
{
  "data": {
    "code": "K3F9X2A"
  }
}

Einen Warenkorb abrufen

Löst einen Code wieder in seine Artikel auf, jeder ein vollständiges Produkt-Objekt plus qty. Warenkörbe sind pro Konto isoliert: Ein Schlüssel löst nur Warenkörbe auf, die für den eigenen Agenten erstellt wurden: Alles andere liefert 404:

GET/v1/carts/K3F9X2A
curl "https://rest-api.tbit.app/v1/carts/K3F9X2A" \
  -H "X-API-Key: $TBIT_API_KEY"
const response = await fetch('https://rest-api.tbit.app/v1/carts/K3F9X2A', {
  headers: {
    'X-API-Key': process.env.TBIT_API_KEY,
  },
});
const data = await response.json();
import axios from 'axios';

const { data } = await axios.get(
  'https://rest-api.tbit.app/v1/carts/K3F9X2A',
  {
    headers: {
      'X-API-Key': process.env.TBIT_API_KEY,
    },
  },
);
import os
import requests

response = requests.get(
    'https://rest-api.tbit.app/v1/carts/K3F9X2A',
    headers={'X-API-Key': os.environ['TBIT_API_KEY']},
)
data = response.json()
<?php
$ch = curl_init('https://rest-api.tbit.app/v1/carts/K3F9X2A');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: ' . getenv('TBIT_API_KEY'),
    ],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
Antwort
{
  "data": {
    "code": "K3F9X2A",
    "created_at": "2024-09-01T12:00:00Z",
    "items": [
      {
        "_id": "prod_id_1",
        "kind": "product",
        "title": "Kit fiesta dinosaurios",
        "currency": "COP",
        "base_price": 95000,
        "qty": 2
      },
      {
        "_id": "prod_id_2",
        "kind": "product",
        "title": "Piñata dinosaurio",
        "currency": "COP",
        "base_price": 45000,
        "qty": 1
      }
    ]
  }
}
  • Codes haben 7 Zeichen.
  • Warenkörbe gelten 90 Tage.
  • Warenkörbe sind unveränderlich: Erstell einen neuen, um die Artikel zu ändern.
  • Warenkörbe anderer Agenten (oder unbekannte Codes) liefern 404.