Ana içeriğe geç

Kimlik Doğrulama

API Anahtarları

MuditaPOS'a kayıt olduğunuzda size iki anahtar verilir:

Anahtar Kullanım
API Key İsteklerde kimliğinizi belirtir
API Secret Webhook imzalarını doğrulamak için kullanılır

Güvenlik

API Secret'inizi asla istemci tarafı kodunda (frontend, mobil uygulama) kullanmayın. Sadece sunucu tarafında saklayın.

Webhook Doğrulama

MuditaPOS sizin endpoint'inize sipariş gönderirken her isteğe şu header'ları ekler:

POST /your-webhook-endpoint HTTP/1.1
Content-Type: application/json
X-MuditaPOS-Customer-Id: <müşteri-id>
X-MuditaPOS-Signature: <hmac-sha256-imza>
X-MuditaPOS-Timestamp: <unix-timestamp>

İmza Doğrulama

İmza, request body'nin HMAC-SHA256 hash'idir:

signature = HMAC-SHA256(api_secret, request_body)
const crypto = require('crypto');

function verifySignature(body, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

// Express middleware
app.post('/webhook', (req, res) => {
  const sig = req.headers['x-muditapos-signature'];
  const rawBody = JSON.stringify(req.body);

  if (!verifySignature(rawBody, sig, process.env.API_SECRET)) {
    return res.status(401).json({ error: 'Invalid signature' });
  }

  // Siparişi işle...
  res.json({ status: 'ok' });
});
import hmac
import hashlib

def verify_signature(body: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(
        secret.encode(), body, hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(signature, expected)

Status API Kimlik Doğrulama

Sizden MuditaPOS'a yapılan isteklerde (durum güncellemeleri) şu header gerekir:

POST /internal/orders/status HTTP/1.1
Content-Type: application/json
X-Internal-Api-Key: <sizin-internal-api-key>

X-Internal-Api-Key değeri, entegrasyon kaydınızda size özel olarak tanımlanır.

Internal API Key

Bu anahtar, müşteri API Key'inden farklıdır. Entegrasyon oluşturulurken size verilir ve sadece status update çağrılarında kullanılır.