{"id":15285533,"url":"https://github.com/infobip-community/infobip-api-go-sdk","last_synced_at":"2026-01-12T11:28:51.534Z","repository":{"id":37797163,"uuid":"455346827","full_name":"infobip-community/infobip-api-go-sdk","owner":"infobip-community","description":"Go SDK for Infobip's API","archived":false,"fork":false,"pushed_at":"2024-06-20T11:45:13.000Z","size":842,"stargazers_count":8,"open_issues_count":8,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-20T09:56:55.137Z","etag":null,"topics":["api-client","email","golang","mms","rcs","rcs-api","sdk","sms","webrtc","whatsapp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infobip-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-03T22:17:05.000Z","updated_at":"2025-02-19T09:56:53.000Z","dependencies_parsed_at":"2024-05-07T23:29:10.274Z","dependency_job_id":"5770f16c-c5d8-477c-af11-1885b25d18eb","html_url":"https://github.com/infobip-community/infobip-api-go-sdk","commit_stats":{"total_commits":121,"total_committers":7,"mean_commits":"17.285714285714285","dds":0.4545454545454546,"last_synced_commit":"18568a22c6d051618093a519ce601bf04fcbc539"},"previous_names":["pgrubacc/infobip-go-client","infobip-community/infobip-go-sdk"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/infobip-community/infobip-api-go-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip-community%2Finfobip-api-go-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip-community%2Finfobip-api-go-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip-community%2Finfobip-api-go-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip-community%2Finfobip-api-go-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infobip-community","download_url":"https://codeload.github.com/infobip-community/infobip-api-go-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infobip-community%2Finfobip-api-go-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273728201,"owners_count":25157148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-client","email","golang","mms","rcs","rcs-api","sdk","sms","webrtc","whatsapp"],"created_at":"2024-09-30T15:05:52.504Z","updated_at":"2026-01-12T11:28:46.514Z","avatar_url":"https://github.com/infobip-community.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infobip API Go SDK\n\n![Workflow](https://github.com/infobip-community/infobip-api-go-sdk/actions/workflows/checks.yml/badge.svg)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/infobip-community/infobip-api-go-sdk)\n[![License](https://img.shields.io/github/license/infobip-community/infobip-api-go-sdk)](LICENSE)\n![Lines](https://img.shields.io/tokei/lines/github/infobip-community/infobip-api-go-sdk)\n\nGo client SDK for Infobip's API Channels\n\n---\n\n## 📡 Supported Channels\n\n- [SMS + 2FA](https://www.infobip.com/docs/api#channels/sms)\n- [WhatsApp](https://www.infobip.com/docs/api#channels/whatsapp)\n- [Email](https://www.infobip.com/docs/api#channels/email)\n- [MMS](https://www.infobip.com/docs/api#channels/mms)\n- [RCS](https://www.infobip.com/docs/api#channels/rcs)\n- [WebRTC](https://www.infobip.com/docs/api#channels/webrtc)\n\nMore channels to be added in the near future.\n\n## 🔐 Authentication\n\nCurrently, infobip-api-go-sdk only supports API Key authentication, and the key needs to be passed during client creation.\nThis will most likely change with future versions, once more authentication methods are included. You can get your base URL and API key by logging into Portal. Follow the instructions [here](https://www.infobip.com/docs/api).\n\n## 📦 Installation\n\nCurrently, infobip-api-go-sdk requires Go version 1.13 or greater.\nWe'll do our best not to break older versions of Go unless it's absolutely necessary, but due to tooling constraints,\nwe don't always test older versions.\n\ninfobip-api-go-sdk is compatible with modern Go modules. With Go installed, running the following:\n\n```bash\ngo get \"github.com/infobip-community/infobip-api-go-sdk/v3\"\n```\n\nwill add the client to the current module, along with all of its dependencies.\n\n## 🚀 Usage\n\n```go\nimport (\n\t\"github.com/infobip-community/infobip-api-go-sdk/v3/pkg/infobip\"\n\t\"github.com/infobip-community/infobip-api-go-sdk/v3/pkg/infobip/models\"\n)\n```\n\nConstruct a new Infobip client:\n\n```go\nclient, err := infobip.NewClient(\"https://myinfobipurl.com\", \"secret\")\n```\n\nOr, passing your own HTTP client:\n\n```go\nclient, err := NewClient(baseURL, apiKey, WithHTTPClient(http.Client{Timeout: 3 * time.Second}))\n```\n\nAfterwards, use the various services on the client to\naccess different channels of the Infobip API. For example:\n\n```go\nclient, err := infobip.NewClient(baseURL, apiKey)\n\n// Send a WhatsApp text message\nmessage := models.TextMsg{\n    MsgCommon: models.MsgCommon{\n        From: \"111111111111\",\n        To:   \"222222222222\",\n    },\n    Content: models.TextContent{\n\t\tText: \"This message was sent from the Infobip API using the Go API client.\"\n\t},\n}\nmsgResp, respDetails, err := client.WhatsApp.SendTextMsg(context.Background(), message)\n```\n\nRequests return the resource returned by the server (if applicable), response details and an error.\nResponse details contain the raw http.Response object along with ErrorDetails which will be populated for cases\nwhere the server does not return a successful HTTP response code.\n\nAn error will only be returned if the underlying HTTP request failed (a network issue, failure reading the body, etc.).\nIn other words, 4xx/5xx responses do **not** return an error, and the user should instead check for them\nby inspecting the ResponseDetails.HTTPResponse.StatusCode value. Note that for requests which require a payload (e.g. POST, PATCH),\nthe object representing the payload will be validated before it is sent.\n\nThe channels of the client divide the API into multiple parts, corresponding to the Infobip Channels documented at\nhttps://www.infobip.com/docs/api#channels.\n\nNOTE: Using the [context](https://godoc.org/context) package, the user can pass cancellation signals and deadlines\nto the underlying requests that the client makes. If you don't want to use this feature, then using `context.Background()`\nshould be sufficient.\n\n\n## 👀 Examples\n\nThe best way to learn how to use the library is to check the examples. The [examples](https://github.com/infobip-community/infobip-api-go-sdk/tree/main/examples) directory\ncontains tests intended to be used for live testing all endpoints of available channels. The prerequisite for running an individual test is changing\nthe apiKey and baseURL variables, along with certain message fields, depending on the endpoint (e.g. From/To for WhatsApp).\n\n## ⚖️ License\n\nThis library is distributed under the MIT license found in the [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfobip-community%2Finfobip-api-go-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfobip-community%2Finfobip-api-go-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfobip-community%2Finfobip-api-go-sdk/lists"}