| Crates.io | chatguru |
| lib.rs | chatguru |
| version | 0.1.0 |
| created_at | 2025-11-07 12:33:56.122555+00 |
| updated_at | 2025-11-07 12:33:56.122555+00 |
| description | Cliente completo da API ChatGuru com suporte a webhooks e mensagens |
| homepage | https://github.com/nextlw/crate_chatguru |
| repository | https://github.com/nextlw/crate_chatguru |
| max_upload_size | |
| id | 1921522 |
| size | 74,071 |
Cliente Rust para a API do ChatGuru com suporte completo a webhooks e envio de mensagens.
[dependencies]
chatguru = { git = "https://github.com/nextlw/crate_chatguru.git" }
tokio = { version = "1.0", features = ["full"] }
git clone https://github.com/nextlw/crate_chatguru.git
cd crate_chatguru
cp .env.example .env
.env:CHATGURU_API_TOKEN=seu_token_aqui
CHATGURU_ACCOUNT_ID=seu_account_id_aqui
cargo build
cargo test
use chatguru::{ChatGuruClient, types::ChatGuruPayload};
#[tokio::main]
async fn main() -> chatguru::Result<()> {
// IMPORTANTE: Ler de variáveis de ambiente
let api_token = std::env::var("CHATGURU_API_TOKEN")
.expect("CHATGURU_API_TOKEN não configurado");
let api_endpoint = "https://api.chatguru.app/api/v1";
let account_id = std::env::var("CHATGURU_ACCOUNT_ID")
.expect("CHATGURU_ACCOUNT_ID não configurado");
let client = ChatGuruClient::new(api_token, api_endpoint, account_id);
// Adicionar anotação ao chat
client.add_annotation(
"chat_123",
"5511999999999",
"Tarefa criada no ClickUp: TASK-123"
).await?;
// Enviar mensagem de confirmação
client.send_confirmation_message(
"5511999999999",
None,
"✅ Sua solicitação foi registrada!"
).await?;
Ok(())
}
O crate suporta múltiplos formatos de webhook através do enum WebhookPayload:
Este crate implementa os seguintes endpoints:
POST {api_endpoint}?key={token}&account_id={id}&phone_id={phone_id}&action=note_add¬e_text={text}&chat_number={number}
POST {api_endpoint}?key={token}&account_id={id}&phone_id={phone_id}&action=message_send&text={text}&chat_number={number}
O cliente é configurado através de variáveis de ambiente:
CHATGURU_API_TOKEN: Token de autenticação da APICHATGURU_API_ENDPOINT: URL base da API (padrão: https://api.chatguru.app/api/v1)CHATGURU_ACCOUNT_ID: ID da conta ChatGuruTodos os métodos retornam chatguru::Result<T>, que é um alias para Result<T, ChatGuruError>.
Os erros são categorizados em:
Propriedade de eLai Integration Team