POS Entegrasyonu
Go Örneği
Standart Go kütüphaneleri kullanan POS servisi referans uygulaması.
Bu, Saha POS Arayüzü (SPI) ile entegre olan bir POS servisinin referans uygulamasıdır. Standart Go kütüphaneleri kullanarak gerekli uç noktaların nasıl uygulanacağını göstermektedir.
Kaynak Kod
Tam kaynak kodu GitHub'da görüntüleyin.
Gereksinimler
- Go 1.22 veya üstü
Servisi Çalıştırma
Servis 5000 portunda başlayacaktır.
Servisi Test Etme
Uç noktaları curl veya sağlanan Postman koleksiyonu kullanarak test edebilirsiniz.
Kimlik Doğrulama
Servis bir Authorization başlığı bekler. Örnek sabit kodlanmış bir token kullanır, ancak gösterim amaçlı herhangi bir değeri kabul eder (eksikse bir uyarı loglar).
Örnek İstekler
Ürünleri Al
curl -H "Authorization: Bearer secret" http://localhost:5000/productsSipariş Oluştur
curl -X POST http://localhost:5000/orders \
-H "Authorization: Bearer secret" \
-H "Content-Type: application/json" \
-d '{
"items": [{"product_id": "prod-1", "quantity": 1}],
"location": "Table 1",
"note": "No onions",
"number_of_people": 2
}'Sipariş Durumunu Al
{order_id} yerine sipariş oluşturma yanıtından dönen ID'yi yazın.
curl -H "Authorization: Bearer secret" http://localhost:5000/orders/{order_id}Siparişi İptal Et
curl -X POST http://localhost:5000/orders/{order_id}/cancel \
-H "Authorization: Bearer secret" \
-H "Content-Type: application/json" \
-d '{"reason": "Customer changed mind"}'Uygulama Detayları
| Özellik | Açıklama |
|---|---|
| Framework-less | Routing için Go 1.22 ServeMux ile Go'nun standart net/http kütüphanesini kullanır |
| Middleware | Loglama ve kimlik doğrulama için basit bir middleware zinciri gösterir |
| In-Memory Store | Sipariş durumlarını saklamak için basit bir map kullanır (yeniden başlatmada sıfırlanır) |
| Type Safety | Sipariş durumları için enum'lar kullanır (PENDING, CANCELLED, UNKNOWN) |