API referansı · Kimlik doğrulama
Oturum aç ve ApiCode al
API anahtarı ve şifresiyle oturum açar ve diğer tüm isteklerde kullanacağınız ApiCode değerini döndürür.
https://out.stockmount.com/api/User/DoLogin
API anahtarını ve şifresini StockMount panelinde Ayarlar → API servis ayarları bölümünde oluşturursunuz. Bir hesapta en fazla 2 anahtar olabilir. Yalnızca aktif durumdaki anahtarlar giriş yapabilir.
Yanıttaki ApiCode değerini diğer tüm isteklerin JSON gövdesinde ApiCode alanıyla gönderin. Değer şifrelenmiş, opak bir metindir ve +, /, = karakterlerini içerebilir. Çözmeye veya değiştirmeye çalışmayın.
Oturum, aynı giriş bilgisiyle yapılan son girişten itibaren sistem ayarındaki süre kadar geçerlidir (dakika cinsinden; varsayılan 1440 dakika = 24 saat). Servis çağrıları süreyi uzatmaz. Süre dolunca istekler 00001 ve "Your session has timed out, please refresh your ApiCode using 'DoLogin' service." mesajıyla döner. Bu durumda DoLogin ile yeni bir ApiCode alıp isteği tekrarlayın.
Oturum geçerliyken aynı giriş bilgisiyle DoLogin tekrar çağrılırsa bilgiler yine doğrulanır, aynı ApiCode döner ve oturum süresi yeniden başlar. Aynı API anahtarını kullanan tüm sistemler aynı ApiCode'u alır. ApiCode değerini saklayıp yeniden kullanın; DoLogin çağrısını her istekten önce değil, 00001 veya 00006 aldığınızda yapın.
Her API anahtarının oturumu ayrıdır; birinin girişi diğerinin ApiCode'unu etkilemez.
Giriş için hesabın aktif olması ve API erişimi veren geçerli bir paketinin bulunması gerekir: süresi dolmamış ücretli veya deneme StockMount paketi ya da süresi dolmamış Out API hizmeti. Bunlardan hiçbiri yoksa 99988 döner.
Hatalı kimlik bilgisi, pasif hesap, pasif API anahtarı, kapatılmış hesap ve sunucu bakımı aynı sonucu verir: 00001 ve boş ErrorMessage. Gerçek neden yanıtta belirtilmez.
İstek alanları
| Alan | Tip | Açıklama |
|---|---|---|
ApiKey
zorunlu
|
string | Panelde oluşturduğunuz API anahtarı. |
ApiPassword
zorunlu
|
string | API anahtarının şifresi. |
DeveloperId
|
string | İsteğe bağlı. Entegrasyonunuzu tanımlayan serbest metin. Oturum kaydına yazılır ve yalnızca kayıt/izleme için kullanılır. |
Yanıt alanları (Response)
| Alan | Tip | Açıklama |
|---|---|---|
UserId
|
integer | Hesap kimliği. |
Name
|
string | Hesap sahibinin adı. |
Surname
|
string | Hesap sahibinin soyadı. |
Email
|
string | Hesabın e-posta adresi. |
Username
|
string | Hesabın kullanıcı adı. |
Avatar
|
string | Profil görseli. Boş olabilir. |
PackageEndDate
|
datetime |
Hesabın paket bitiş tarihi. Saat dilimi bilgisi olmadan ISO 8601 biçiminde gelir (ör. 2027-03-31T00:00:00) ve Türkiye saatidir. Kayıtlı oturum döndüğünde ilk girişteki değerdir.
|
ApiCode
|
string |
Oturum kodu. Diğer tüm isteklerde ApiCode alanında gönderin.
|
Bu servisin hata kodları
| Kod | Ne zaman |
|---|---|
00003 |
Zorunlu alan eksik. ErrorMessage eksik alanı belirtir: ApiKey veya ApiPassword. Boş gövde ({}) ApiKey hatası verir. |
99988 |
Hesapta API erişimi veren geçerli paket veya Out API hizmeti yok. Mesajlar: "Package can not be validated! Type: 2. Please purchase API package." (hizmet hiç yok), "Package can not be validated! Please purchase API package." (hizmetin süresi dolmuş), "Package can not be validated! Type: 3." (paket bilgisi okunamadı). |
99999 |
Beklenmeyen sunucu hatası. ErrorMessage teknik hata metnini içerir. |
Oturum hataları (00001, 00006) ve tüm kodlar için hata kodları.
İlgili servisler
Örnek istek
{
"ApiKey": "3f9c2a7e5b1d4c08",
"ApiPassword": "Xk82!pQz7mWv",
"DeveloperId": "ornek-erp-connector"
}
curl -X POST 'https://out.stockmount.com/api/User/DoLogin' \
-H 'Content-Type: application/json' \
-d '{
"ApiKey": "3f9c2a7e5b1d4c08",
"ApiPassword": "Xk82!pQz7mWv",
"DeveloperId": "ornek-erp-connector"
}'
using System.Net.Http;
using System.Text;
using var http = new HttpClient();
var json = """
{
"ApiKey": "3f9c2a7e5b1d4c08",
"ApiPassword": "Xk82!pQz7mWv",
"DeveloperId": "ornek-erp-connector"
}
""";
var response = await http.PostAsync(
"https://out.stockmount.com/api/User/DoLogin",
new StringContent(json, Encoding.UTF8, "application/json"));
var result = await response.Content.ReadAsStringAsync();
// Result == false ise ErrorCode ve ErrorMessage alanlarına bakın.
Console.WriteLine(result);
<?php
$body = <<<'JSON'
{
"ApiKey": "3f9c2a7e5b1d4c08",
"ApiPassword": "Xk82!pQz7mWv",
"DeveloperId": "ornek-erp-connector"
}
JSON;
$ch = curl_init('https://out.stockmount.com/api/User/DoLogin');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => $body,
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (!$result['Result']) {
echo $result['ErrorCode'] . ' ' . $result['ErrorMessage'];
}
import requests
payload = {
"ApiKey": "3f9c2a7e5b1d4c08",
"ApiPassword": "Xk82!pQz7mWv",
"DeveloperId": "ornek-erp-connector"
}
response = requests.post("https://out.stockmount.com/api/User/DoLogin", json=payload, timeout=60)
result = response.json()
if not result["Result"]:
print(result["ErrorCode"], result["ErrorMessage"])
const payload = {
"ApiKey": "3f9c2a7e5b1d4c08",
"ApiPassword": "Xk82!pQz7mWv",
"DeveloperId": "ornek-erp-connector"
};
const response = await fetch("https://out.stockmount.com/api/User/DoLogin", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
const result = await response.json();
if (!result.Result) {
console.error(result.ErrorCode, result.ErrorMessage);
}
Örnek yanıt
{
"Result": true,
"Response": {
"UserId": 104523,
"Name": "Ayşe",
"Surname": "Yılmaz",
"Email": "ayse@ornekmagaza.com",
"Username": "ornekmagaza",
"Avatar": "",
"PackageEndDate": "2027-03-31T00:00:00",
"ApiCode": "q7XvT1kR9mN2bW4yL8pZ0cH5sJ3fG6dA+eU1iO7tY2rE9wQ4xV8nM0lK5jH3gF6d=="
}
}
Deneyin
İstek tarayıcınızdan doğrudan out.stockmount.com adresine gider. ApiCode bu sitede saklanmaz; yalnızca bu sekme açıkken tutulur.