Go में पहचान वेबहुक प्राप्त करें और सत्यापित करें (मानक लाइब्रेरी)। अपने Go एप्लिकेशन में मिनटों में विज़िटर पहचान, बॉट डिटेक्शन और smart signals जोड़ें।
अपने पसंदीदा पैकेज मैनेजर के साथ अपने प्रोजेक्ट में SDK जोड़ें।
npm install net/httpyarn add net/httppnpm add net/httpन्यूनतम सेटअप के साथ चालू और तैयार हो जाएँ।
package mainimport ( "fmt" "io" "net/http")func main() { http.HandleFunc("/webhook/tracio", func(w http.ResponseWriter, r *http.Request) { body, _ := io.ReadAll(r.Body) // verify r.Header.Get("X-Tracio-Signature") against body, then act fmt.Println(string(body)) w.WriteHeader(http.StatusOK) }) http.ListenAndServe(":8080", nil)}एरर हैंडलिंग, लोडिंग स्थितियों और उन्नत कॉन्फ़िगरेशन के साथ प्रोडक्शन-तैयार पैटर्न।
package mainimport ( "crypto/hmac" "crypto/sha256" "encoding/hex" "encoding/json" "io" "log" "net/http" "os" "strings")type Event struct { VisitorID string `json:"visitorId"` Bot struct { Result string `json:"result"` } `json:"bot"` Decision struct { RiskScore int `json:"riskScore"` } `json:"decision"`}// verify recomputes the HMAC-SHA256 over "<t>.<rawBody>" and compares it.func verify(body []byte, header, secret string) bool { parts := map[string]string{} for _, kv := range strings.Split(header, ",") { if p := strings.SplitN(kv, "=", 2); len(p) == 2 { parts[p[0]] = p[1] } } mac := hmac.New(sha256.New, []byte(secret)) mac.Write([]byte(parts["t"] + ".")) mac.Write(body) expected := hex.EncodeToString(mac.Sum(nil)) return hmac.Equal([]byte(expected), []byte(parts["v1"]))}func main() { secret := os.Getenv("TRACIO_WEBHOOK_SECRET") http.HandleFunc("/webhook/tracio", func(w http.ResponseWriter, r *http.Request) { body, _ := io.ReadAll(r.Body) if !verify(body, r.Header.Get("X-Tracio-Signature"), secret) { http.Error(w, "Invalid signature", http.StatusUnauthorized) return } var e Event if err := json.Unmarshal(body, &e); err != nil { http.Error(w, "Bad payload", http.StatusBadRequest) return } if e.Bot.Result == "bot" || e.Decision.RiskScore > 50 { log.Printf("flagging visitor %s (bot=%s risk=%d)", e.VisitorID, e.Bot.Result, e.Decision.RiskScore) } w.WriteHeader(http.StatusOK) }) log.Fatal(http.ListenAndServe(":8080", nil))}SDK को आरंभ और कॉन्फ़िगर करने के लिए सभी उपलब्ध विकल्प।
publicKeystringडैशबोर्ड से आपकी पब्लिक की — ब्राउज़र में भेजना सुरक्षितendpointstringप्रॉक्सी-रूटेड डिप्लॉयमेंट के लिए कस्टम एंडपॉइंट URL — स्पष्ट URL region पर भारी पड़ता हैregionstringडेटा रीजन: us या eutimeoutMsnumberपूरी getResult() कॉल के लिए टाइमआउट, मिलीसेकंड मेंlinkedIdstringसाइन-इन यूज़र के लिए आपका आंतरिक अकाउंट ID, ताकि एक ही डिवाइस साझा करने वाली विज़िट्स जोड़ी जा सकेंtagstringपहचान अनुरोध के साथ जुड़ा मुक्त-रूप लेबल, जैसे checkout या logindebugbooleanस्क्रिप्ट लाइफ़साइकल और नेटवर्क गतिविधि को ब्राउज़र कंसोल में लॉग करता हैscriptUrlstringएजेंट स्क्रिप्ट URL का पूरा ओवरराइड — सेल्फ-होस्टिंग या Subresource Integrity के लिएपूर्ण API संदर्भ, webhook कॉन्फ़िगरेशन और उन्नत गाइड के साथ गहराई में जाएँ।
पूर्ण API संदर्भ, इंटीग्रेशन गाइड और सर्वोत्तम अभ्यास।
रीयल-टाइम इवेंट डिलीवरी, पेलोड स्कीमा और सिग्नेचर सत्यापन।
हर डिवाइस पहचान के लिए रीयल-टाइम इवेंट सूचनाएँ कॉन्फ़िगर करें।
अपने Go एप्लिकेशन में 5 मिनट से भी कम समय में Device Fingerprinting जोड़ें।