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/products

Sipariş 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ı

ÖzellikAçıklama
Framework-lessRouting için Go 1.22 ServeMux ile Go'nun standart net/http kütüphanesini kullanır
MiddlewareLoglama ve kimlik doğrulama için basit bir middleware zinciri gösterir
In-Memory StoreSipariş durumlarını saklamak için basit bir map kullanır (yeniden başlatmada sıfırlanır)
Type SafetySipariş durumları için enum'lar kullanır (PENDING, CANCELLED, UNKNOWN)