Installation
Copy
go get github.com/txcloud/txcloud-go
Quick Start
Copy
package main
import (
"fmt"
"os"
"github.com/txcloud/txcloud-go"
)
func main() {
client := txcloud.NewClient(os.Getenv("TXCLOUD_API_KEY"))
verification, err := client.Identity.Verify(&txcloud.VerifyRequest{
DocumentFront: documentBase64,
Country: "MA",
DocumentType: "national_id",
})
if err != nil {
log.Fatal(err)
}
fmt.Println("Status:", verification.Status)
}
Configuration
Copy
client := txcloud.NewClient(
os.Getenv("TXCLOUD_API_KEY"),
txcloud.WithEnvironment("production"),
txcloud.WithTimeout(30 * time.Second),
txcloud.WithMaxRetries(3),
)
Error Handling
Copy
verification, err := client.Identity.Verify(...)
if err != nil {
switch e := err.(type) {
case *txcloud.ValidationError:
log.Printf("Validation failed: %s", e.Message)
case *txcloud.RateLimitError:
log.Printf("Rate limited, retry after: %d", e.RetryAfter)
case *txcloud.TXCloudError:
log.Printf("API error: %s", e.Code)
default:
log.Printf("Unknown error: %v", err)
}
}