انتقل إلى المحتوى
القائمة

ابحث في الموقع

اكتب للبحث في الأدلة والمدونة والـ API والمنتج.

↑ ↓ للتنقل · Enter للفتح · Esc للإغلاق

مرجع الـ API

API

السلال

سلال قابلة للمشاركة تُغلق الصفقة على واتساب

عرض بصيغة Markdown

تتيح السلال لزائر متجرك أن يجمع قائمة منتجات وينقلها إلى محادثة واتساب بكامل سياقها. السلة لقطة قصيرة العمر: تحصل على رمز من 7 أحرف، وتبقى صالحة 90 يومًا، ولا يمكن تعديلها: لتغييرها أنشئ سلة جديدة.

  1. يجمع زائر متجرك قائمة منتجات.
  2. ينشئ متجرك سلة عبر POST /v1/carts ويحصل على رمز قصير.
  3. ترسل للزائر رابطًا مثل https://<متجرك>/c/<الرمز> عبر واتساب.
  4. عندما تبدأ المحادثة، يكون لدى وكيلك كامل السياق لما اختاره الزائر.
الطريقةالمسارالوصف
POST/v1/cartsإنشاء سلة قابلة للمشاركة
GET/v1/carts/:codeاسترجاع سلة برمزها

إنشاء سلة

أرسل من 1 إلى 50 عنصرًا، يشير كل منها إلى معرّف منتج مع qty بين 1 و99. الاستجابة هي الرمز القصير للسلة:

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);
الاستجابة
{
  "data": {
    "code": "K3F9X2A"
  }
}

جلب سلة

يحوّل الرمز إلى عناصره، وكل عنصر كائن منتج كامل مع qty. السلال معزولة لكل حساب: المفتاح لا يسترجع إلا السلال التي أُنشئت لوكيله؛ وأي شيء آخر يُرجع 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);
الاستجابة
{
  "data": {
    "code": "K3F9X2A",
    "created_at": "2024-09-01T12:00:00Z",
    "items": [
      {
        "_id": "prod_id_1",
        "kind": "product",
        "title": "طقم حفلة الديناصورات",
        "currency": "COP",
        "base_price": 95000,
        "qty": 2
      },
      {
        "_id": "prod_id_2",
        "kind": "product",
        "title": "بينياتا ديناصور",
        "currency": "COP",
        "base_price": 45000,
        "qty": 1
      }
    ]
  }
}
  • تتكوّن الرموز من 7 أحرف.
  • السلال صالحة لمدة 90 يومًا.
  • السلال غير قابلة للتعديل: أنشئ سلة جديدة لتغيير العناصر.
  • سلال الوكلاء الآخرين (أو الرموز غير المعروفة) تُرجع 404.