Ρυθμίστε τα κλειδιά API, ελέγξτε τη σύνδεση και μάθετε για τον χειρισμό σφαλμάτων και τα όρια αιτημάτων.
https://alterproduct.com/public-api/v1
Δημιουργήστε διαπιστευτήρια API στις ρυθμίσεις ηλεκτρονικού εμπορίου. Το Access Token εμφανίζεται μία φορά, οπότε αποθηκεύστε το αμέσως στο ασφαλές αποθετήριο μυστικών του backend.
Κρατήστε τα Access Key και Access Token στον διακομιστή σας. Τα endpoints με έλεγχο ταυτότητας απορρίπτουν κλήσεις από προγράμματα περιήγησης που περιλαμβάνουν κεφαλίδες Origin ή Referer.
Τα διαπιστευτήρια μπορούν να έχουν περιορισμένα δικαιώματα. Χρησιμοποιήστε GET /auth/check για να επαληθεύσετε το ενεργό κατάστημα, τις δυνατότητες προγράμματος και τα δικαιώματα που επιστρέφονται για τα διαπιστευτήρια.
x-alter-access-key: YOUR_API_KEY
x-alter-access-token: YOUR_API_TOKEN
| Παράμετρος | Υποχρεωτικό | Λεπτομέρειες |
|---|
x-alter-access-key | ναι | Δημόσιο αναγνωριστικό διαπιστευτηρίων. |
x-alter-access-token | ναι | Μυστικό token που αντιστοιχεί στο κλειδί πρόσβασης. |
x-alter-client-fingerprint | όχι | Προαιρετικό σταθερό αποτύπωμα για περιορισμό ρυθμού συνεδριών ενσωμάτωσης. |
Authorization | μόνο κατά την εκτέλεση | Token Bearer που επιστρέφει το POST /embed/session και χρησιμοποιείται από το /runtime/bootstrap. |
Χρησιμοποιήστε το endpoint ελέγχου ταυτότητας πριν ενεργοποιήσετε λειτουργίες συγχρονισμού ή ενσωμάτωσης σε παραγωγική εγκατάσταση.
GET https://alterproduct.com/public-api/v1/auth/check
Παράδειγμα αιτήματος (fetch)
const response = await fetch('https://alterproduct.com/public-api/v1/auth/check', {
method: 'GET',
headers: {
'x-alter-access-key': process.env.ALTER_ACCESS_KEY,
'x-alter-access-token': process.env.ALTER_ACCESS_TOKEN
}
});
const payload = await response.json();
if (!response.ok) {
throw new Error(payload?.code || payload?.error || `Alter API ${response.status}`);
}
console.log(payload);
Παράδειγμα απάντησης
{
"ok": true,
"message": "success",
"storefrontId": 12,
"userOwnerId": 34,
"credentialId": 56,
"scopes": ["orders:read", "orders:write", "products:read"],
"plan": {
"requiredPlan": "Business",
"currentPlanName": "Business",
"eligible": true,
"runtimeFlags": {
"viewer": true,
"configurator": true,
"customizer": true
},
"limits": {
"activeRuntimeBindingsLimit": 100,
"monthlyReassignmentLimit": 1000,
"monthlyEmbedTokenLimit": 50000
}
}
}
Η παρακάτω βοηθητική συνάρτηση χρησιμοποιείται στα υπόλοιπα παραδείγματα. Είναι απλό fetch και εκτελείται σε Node.js 18+ ή οποιοδήποτε περιβάλλον διακομιστή παρέχει fetch.
const ALTER_API_BASE = 'https://alterproduct.com/public-api/v1';
const authHeaders = {
'x-alter-access-key': process.env.ALTER_ACCESS_KEY,
'x-alter-access-token': process.env.ALTER_ACCESS_TOKEN
};
async function alterFetch(path, options = {}) {
const response = await fetch(`${ALTER_API_BASE}${path}`, {
...options,
headers: {
...authHeaders,
...(options.body ? { 'Content-Type': 'application/json' } : {}),
...options.headers
}
});
const payload = await response.json().catch(() => null);
if (!response.ok) {
throw new Error(payload?.code || payload?.error || `Alter API ${response.status}`);
}
return payload;
}
Τα περισσότερα σφάλματα ελεγκτών κανονικοποιούνται σε απάντηση code. Το middleware ελέγχου ταυτότητας και οι περιοριστές ρυθμού μπορούν να επιστρέφουν απάντηση error.
// Controller error
{
"code": "assetCatalog.invalidType"
}
// Auth middleware or rate limit
{
"error": "Unauthorized"
}
{
"error": "Too Many Requests"
}
| Τύπος | Όριο | Χρονικό διάστημα |
|---|
Καθολικό | 600 αιτήματα | 60 δευτερόλεπτα |
GET /auth/check | 60 αιτήματα | 60 δευτερόλεπτα |
Ανάγνωση παραγγελιών/προϊόντων | 300 αιτήματα | 60 δευτερόλεπτα |
Εγγραφή παραγγελιών/συνεδρίες ενσωμάτωσης/συνδέσεις εκτέλεσης | 120 αιτήματα | 60 δευτερόλεπτα |
Ανάγνωση πόρων/εισαγωγών σχεδίων | 180 αιτήματα | 60 δευτερόλεπτα |
Γραμματοσειρές | 300 αιτήματα | 60 δευτερόλεπτα |
Ανταλλαγή σύνδεσης WP | 30 αιτήματα | 60 δευτερόλεπτα |
GET /model-generator/* | 600 αιτήματα | 60 δευτερόλεπτα |