Naar de inhoud
Menu

Zoeken op de site

Typ om te zoeken in handleidingen, blog, API en product.

↑ ↓ om te bewegen · Enter om te openen · Esc om te sluiten

API-referentie

API

Winkelwagens

Deelbare winkelwagens die op WhatsApp worden afgerond

Bekijken als Markdown

Met winkelwagens kan een bezoeker van je webshop een lijst met producten samenstellen en die meenemen naar een WhatsApp-gesprek, met alle context. Een winkelwagen is een kortlevende momentopname: hij krijgt een code van 7 tekens, is 90 dagen geldig en kan niet worden gewijzigd: wil je iets aanpassen, maak dan een nieuwe.

  1. Een bezoeker van je webshop stelt een lijst met producten samen.
  2. Je webshop maakt een winkelwagen met POST /v1/carts en krijgt een korte code terug.
  3. Je stuurt de bezoeker via WhatsApp een link als https://<jouw-webshop>/c/<code>.
  4. Als het gesprek begint, heeft je agent al alle context van wat de bezoeker heeft gekozen.
MethodePadBeschrijving
POST/v1/cartsDeelbare winkelwagen maken
GET/v1/carts/:codeWinkelwagen opzoeken via code

Winkelwagen maken

Stuur 1 tot 50 artikelen, elk met een product-id en een qty tussen 1 en 99. De response is de korte code van de winkelwagen:

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);
Response
{
  "data": {
    "code": "K3F9X2A"
  }
}

Winkelwagen ophalen

Zet een code terug om naar de artikelen, elk een volledig productobject plus qty. Winkelwagens zijn per account afgeschermd: een sleutel vindt alleen winkelwagens die voor de eigen agent zijn gemaakt; al het andere geeft 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);
Response
{
  "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 hebben 7 tekens.
  • Winkelwagens zijn 90 dagen geldig.
  • Winkelwagens kunnen niet worden gewijzigd: maak een nieuwe om de artikelen te veranderen.
  • Winkelwagens van andere agents (of onbekende codes) geven 404.