package main
import (
"context"
"log"
ekasdk "github.com/eka-care/eka-sdk-go"
"github.com/eka-care/eka-sdk-go/internal/interfaces"
"github.com/eka-care/eka-sdk-go/services/abdm/abha/login"
)
func main() {
ctx := context.Background()
// Create SDK client from environment variables
client := ekasdk.NewFromEnv()
// Authenticate with Eka platform
if err := client.Login(ctx); err != nil {
log.Fatalf("Authentication failed: %v", err)
}
// Common headers used by ABDM services
headers := interfaces.Headers{
PatientID: "eka-user-oid",
PartnerUserID: "your-user-id",
HipID: "your-hip-id",
}
// Example: ABDM login (init via PHR address)
otpReq := &login.InitLoginRequest{
Identifier: "demo@abdm",
Method: login.LoginMethodPhrAddress,
}
otpResp, err := client.ABDM.Login().LoginInit(ctx, headers, otpReq)
if err != nil {
log.Printf("ABDM login failed: %v", err)
return
}
log.Printf("Success! Transaction ID: %s", otpResp.TxnID)
}