core_payload Endpoint'i
core_payload, MacroStick’e doğrudan HID komut paketleri göndermek için kullanılan açık geliştirici endpoint’idir.
Bu endpoint, kendi uygulamanızdan MacroStick’i tetiklemek istediğiniz durumlarda kullanılır. Örneğin test otomasyonu, özel kontrol panelleri, kiosk sistemleri veya oyun/medya kontrol entegrasyonları için uygundur.
Endpoint
| Alan | Değer |
|---|---|
| Method | POST |
| URL | http://192.168.7.1/api/core_payload |
| Content-Type | application/json |
| Kimlik doğrulama | HTTP Basic Auth |
Sessiz modda cihazın MacroStick Wi-Fi ağına bağlandıktan sonra aynı URL kullanılır.
İstek Gövdesi
İstek gövdesi tek bir payload alanı içerir:
{
"payload": "a502000400000000000000000000ef00a5020000000000000000000000e100"
}
payload değeri, arka arkaya eklenmiş hex paketlerden oluşur.
Paket Boyutu
Her komut paketi tam olarak 16 byte uzunluğundadır. Hex olarak gönderildiğinde bir paket 32 karakter eder.
| Değer | Anlam |
|---|---|
| 16 byte | Bir komut paketinin binary boyutu |
| 32 hex karakter | Bir komut paketinin request içindeki uzunluğu |
| 320 hex karakter | Tek istekte önerilen üst sınır |
| 10 paket | Tek istekte gönderilecek en fazla paket sayısı |
10 paketten fazla komut göndermek istiyorsanız istekleri 10 paketlik gruplara bölün.
Payload Kuralları
- Hex string yalnızca
0-9,a-fveyaA-Fkarakterleri içermelidir. - Her 32 hex karakter bir paket olarak değerlendirilir.
- Eksik kalan son parça komut olarak işlenmez.
- Geçersiz paketler çalıştırılmaz.
- Aynı istekte birden fazla paket varsa geçerli paketler sırayla işlenir.
Örnek: A tuşuna basma ve bırakma iki ayrı pakettir. Bu iki paket tek request içinde birleştirilebilir:
a502000400000000000000000000ef00a5020000000000000000000000e100
Yanıt Davranışı
HTTP yanıt kodu, isteğin endpoint’e ulaşıp ulaşmadığını ve kimlik doğrulamanın başarılı olup olmadığını gösterir.
| Kod | Anlam |
|---|---|
200 | İstek kabul edildi |
401 | Kimlik bilgisi eksik veya hatalı |
404 | Endpoint adresi hatalı |
200 yanıtı, payload içindeki her paketin çalıştırıldığı anlamına gelmez. Paket formatı, CRC veya komut tipi geçersizse ilgili paket çalıştırılmaz.
cURL Örneği
curl -X POST http://192.168.7.1/api/core_payload \
-u "KULLANICI_ADI:SIFRE" \
-H "Content-Type: application/json" \
-d '{"payload":"a502000400000000000000000000ef00a5020000000000000000000000e100"}'
Python Örneği
import requests
payload = "a502000400000000000000000000ef00a5020000000000000000000000e100"
response = requests.post(
"http://192.168.7.1/api/core_payload",
auth=("KULLANICI_ADI", "SIFRE"),
json={"payload": payload},
timeout=3,
)
print(response.status_code)
Güvenli Kullanım
Bu endpoint gerçek klavye, fare, medya, sistem kontrolü veya oyun kumandası girdileri üretir. Test sırasında hedef cihazda güvenli bir pencere veya boş bir metin alanı kullanın.
Uzun basılı tutma senaryolarında bırakma paketini göndermeyi unutmayın. Aksi halde hedef sistemde tuş basılı kalmış gibi davranabilir.
Sonraki Adım
Paketleri kendiniz üretmek için Paket Üretimi sayfasına geçin.