https://github.com/mrz1836/go-drift
:balloon: Unofficial golang implementation for the Drift API
https://github.com/mrz1836/go-drift
api-client chat drift go golang
Last synced: 5 months ago
JSON representation
:balloon: Unofficial golang implementation for the Drift API
- Host: GitHub
- URL: https://github.com/mrz1836/go-drift
- Owner: mrz1836
- License: mit
- Created: 2021-02-28T22:17:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T15:36:41.000Z (over 1 year ago)
- Last Synced: 2025-03-03T16:38:34.828Z (over 1 year ago)
- Topics: api-client, chat, drift, go, golang
- Language: Go
- Homepage: https://devdocs.drift.com/docs
- Size: 186 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# 💬 go-drift
**The unofficial golang implementation for the [Drift API](https://devdocs.drift.com/docs/using-drift-apis)**
### Project Navigation
🚀 Installation
📚 Documentation
🧪 Examples & Tests
🤖 AI Usage
🛠️ Code Standards
🤝 Contributing
## 📦 Installation
**go-drift** requires a [supported release of Go](https://golang.org/doc/devel/release.html#policy).
```shell script
go get -u github.com/mrz1836/go-drift/drift
```
## 📚 Documentation
View the generated [documentation](https://pkg.go.dev/github.com/mrz1836/go-drift/drift?tab=doc)
> **Heads up!** `go-drift` is intentionally light on dependencies. The only
external package it uses is the excellent `testify` suite—and that's just for
our tests. You can drop this library into your projects without dragging along
extra baggage.
### API Coverage
- Current coverage for the [Drift API](https://devdocs.drift.com/docs/using-drift-apis)
- [x] Contacts API
- [x] Creating a Contact
- [x] Updating a Contact
- [x] Retrieving Contacts
- [x] Deleting a Contact
- [x] Unsubscribe Contacts from Emails
- [x] Posting Timeline Events
- [x] Listing Custom Attributes
- [x] Users API
- [x] Retrieving User
- [x] Listing Users
- [x] Updating a User
- [x] Get Booked Meetings
- [x] Conversations & Messages API
- [x] Creating a Message
- [x] Listing Conversations
- [x] Retrieving a Conversation
- [x] Retrieving a Conversation's Messages
- [x] Retrieving a Conversation's Transcript
- [x] Retrieving a Conversation's Attachments
- [x] Creating a new Conversation
- [x] Bulk Conversation Statuses
- [x] Accounts API
- [x] Creating an Account
- [x] Retrieving an account
- [x] Listing Accounts
- [x] Updating Accounts
- [x] Deleting Accounts
- [x] Teams API
- [x] Listing Teams (Org)
- [x] Listing Teams by User
- [x] Playbooks API
- [x] Retrieving Bot Playbooks
- [x] Retrieving Conversational Landing Pages
- [x] Admin API
- [x] Trigger App Uninstall
- [x] Get Token Information
- [x] GDPR API
- [x] GDPR Retrieval
- [x] GDPR Deletion
### Additional Documentation & Repository Management
Development Setup (Getting Started)
Install [MAGE-X](https://github.com/mrz1836/mage-x) build tool for development:
```bash
# Install MAGE-X for development and building
go install github.com/mrz1836/mage-x/cmd/magex@latest
magex update:install
```
Library Deployment
This project uses [goreleaser](https://github.com/goreleaser/goreleaser) for streamlined binary and library deployment to GitHub. To get started, install it via:
```bash
brew install goreleaser
```
The release process is defined in the [.goreleaser.yml](.goreleaser.yml) configuration file.
Then create and push a new Git tag using:
```bash
magex version:bump bump=patch push=true branch=master
```
This process ensures consistent, repeatable releases with properly versioned artifacts and citation metadata.
Build Commands
View all build commands
```bash script
magex help
```
GitHub Workflows
All workflows are driven by modular configuration in [`.github/env/`](.github/env/README.md) — no YAML editing required.
**[View all workflows and the control center →](.github/docs/workflows.md)**
Updating Dependencies
To update all dependencies (Go modules, linters, and related tools), run:
```bash
magex deps:update
```
This command ensures all dependencies are brought up to date in a single step, including Go modules and any managed tools. It is the recommended way to keep your development environment and CI in sync with the latest versions.
## 🧪 Examples & Tests
All unit tests and fuzz tests run via [GitHub Actions](https://github.com/mrz1836/go-pre-commit/actions) and use [Go version 1.18.x](https://go.dev/doc/go1.18). View the [configuration file](.github/workflows/fortress.yml).
Run all tests (fast):
```bash script
magex test
```
Run all tests with race detector (slower):
```bash script
magex test:race
```
## ⚡ Benchmarks
Run the Go benchmarks:
```bash script
magex bench
```
## 🛠️ Code Standards
Read more about this Go project's [code standards](.github/CODE_STANDARDS.md).
## 🤖 AI Usage & Assistant Guidelines
Read the [AI Usage & Assistant Guidelines](.github/tech-conventions/ai-compliance.md) for details on how AI is used in this project and how to interact with the AI assistants.
## 👥 Maintainers
| [
](https://github.com/mrz1836) |
|:------------------------------------------------------------------------------------------------:|
| [MrZ](https://github.com/mrz1836) |
## 🤝 Contributing
View the [contributing guidelines](.github/CONTRIBUTING.md) and please follow the [code of conduct](.github/CODE_OF_CONDUCT.md).
### How can I help?
All kinds of contributions are welcome :raised_hands:!
The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:.
You can also support this project by [becoming a sponsor on GitHub](https://github.com/sponsors/mrz1836) :clap:
or by making a [**bitcoin donation**](https://mrz1818.com/?tab=tips&utm_source=github&utm_medium=sponsor-link&utm_campaign=go-drift&utm_term=go-drift&utm_content=go-drift) to ensure this journey continues indefinitely! :rocket:
[](https://github.com/mrz1836/go-drift/stargazers)
### Credits
[Drift](https://devdocs.drift.com/) for their hard work on the API
## 📝 License
[](LICENSE)