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:
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' });
});
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.