# Biblioteca oficială Go pentru Calisero este disponibilă

- Language: Romanian
- URL: https://calisero.ro/developer/knowledge-base/biblioteca-go-disponibila
- English version: https://calisero.ro/en/developers/knowledge-base/biblioteca-go-disponibila
- Published: 2026-10-24; last updated: 2026-10-24
- Summary: Biblioteca oficială Go pentru SMS prin Calisero: fără dependențe, context.Context, erori tipizate, verificări OTP, opt-out și webhooks pentru net/http.

Biblioteca oficială Go pentru Calisero este publicată și gata de folosit în producție. Acoperă tot API-ul — mesaje, verificări OTP, opt-out și detaliile contului — pentru servicii backend, workeri și unelte în linie de comandă.

## Ce include

**Fără dependențe.** Construită doar pe `net/http` din biblioteca standard: nimic de descărcat în plus, nimic de auditat.

**Context pe fiecare apel.** Fiecare metodă primește un `context.Context`, cu care pui un timeout sau anulezi cererea. Un client se poate folosi în siguranță din mai multe goroutine-uri.

**Tipizată.** Cereri, răspunsuri și erori tipizate, iar statusurile mesajelor sunt constante, nu șiruri de caractere scrise de mână.

**OTP în două apeluri.** Pornești o verificare, apoi validezi codul introdus de utilizator. Calisero generează, trimite și verifică codul, așa că aplicația ta nu îl stochează niciodată.

**Webhooks de livrare.** `DeliveryWebhookHandler` este un `http.Handler` gata făcut: citește și validează fiecare raport de livrare și îl predă codului tău ca obiect tipizat. Un token secret opțional în adresa de callback respinge cererile care nu îl conțin.

**Erori clare.** Fiecare tip de eșec are propriul tip de eroare, pe care îl găsești cu `errors.As`, cu mesajul API-ului și trace ID-ul cererii — cel cu care [depanezi orice cerere](https://calisero.ro/developer/knowledge-base/depanare-cu-trace-id).

**Ora României, gestionată.** Transmiți un `time.Time` ca să programezi un mesaj, iar biblioteca îl convertește în fusul orar pe care îl așteaptă API-ul.

**Scurtarea link-urilor.** Activezi scurtarea link-urilor pentru un mesaj și urmărești click-urile pe ele.

## Cum începi

Adaugi modulul în proiect:

```bash
go get github.com/calisero/calisero-go
```

Apoi trimiți primul mesaj cu cheia ta API:

```go
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	calisero "github.com/calisero/calisero-go"
)

func main() {
	client, err := calisero.NewClient(os.Getenv("CALISERO_API_KEY"))
	if err != nil {
		log.Fatal(err)
	}

	response, err := client.Messages.Create(context.Background(), &calisero.CreateMessageRequest{
		Recipient: "+40742123456",
		Body:      "Comanda ta a fost expediata si ajunge maine.",
	})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(response.Data.ID, response.Data.Status)
}
```

Cu o [cheie API de sandbox](https://calisero.ro/developer/knowledge-base/manual-sandbox) încerci fiecare apel fără să trimiți sau să plătești mesaje reale.

Biblioteca are nevoie de Go 1.22 sau mai nou și este testată pe Go 1.22–1.27, pe Linux, macOS și Windows. Codul sursă este public pe [GitHub](https://github.com/calisero/calisero-go), cu exemple care rulează pentru fiecare operație, iar documentația de referință este pe [pkg.go.dev](https://pkg.go.dev/github.com/calisero/calisero-go).

Păstrează cheia API pe server: biblioteca este făcută pentru cod care rulează pe server, niciodată într-o aplicație client.

## Toate bibliotecile oficiale

Odată cu Go și [Python](https://calisero.ro/developer/knowledge-base/biblioteca-python-disponibila), [pagina de integrări](https://calisero.ro/developer/integrari) listează acum șase biblioteci oficiale: PHP, Laravel, Symfony, Node.js, Go și Python.
