apibrasil 1.0.0

SDK oficial Rust da plataforma APIBrasil: WhatsApp, SMS, consultas de CPF/CNPJ, veiculos, CEP, correios, pagamentos PIX/boleto e mais.
Documentation
device_service! {
    /// API de WhatsApp (device-based): `POST /whatsapp/{action}`.
    /// Exige `Authorization: Bearer` + `DeviceToken`.
    ///
    /// ```no_run
    /// # use apibrasil::ApiBrasil;
    /// # use serde_json::json;
    /// # async fn exemplo(api: ApiBrasil) -> apibrasil::Result<()> {
    /// api.whatsapp().start(json!({ "webhook_wh_message": "https://exemplo.com/hook" })).await?;
    ///
    /// let qr = api.whatsapp().qrcode(None).await?;
    /// println!("{:?}", qr.response());
    ///
    /// api.whatsapp().send_text(json!({ "number": "5511999999999", "text": "Olá!" })).await?;
    ///
    /// // qualquer action do catálogo, e a versão por fila
    /// api.whatsapp().request("getAllChats", None).await?;
    /// api.whatsapp().queue("sendText", json!({ "number": "5511999999999", "text": "por fila" })).await?;
    /// # Ok(())
    /// # }
    /// ```
    WhatsAppService("whatsapp") {
        /// Inicia a sessão do device. Aceita os webhooks opcionais
        /// `webhook_wh_status`, `webhook_wh_message`, `webhook_wh_connect`
        /// e `webhook_wh_qrcode`.
        start => "start",
        /// QR Code de pareamento (`response.qrcode` em base64).
        qrcode => "qrcode",
        /// Encerra a sessão.
        logout => "logout",
        /// Fecha o navegador/sessão no servidor.
        close => "close",
        /// Apaga a sessão no servidor.
        delete_session => "deleteSession",
        /// Reinicia a sessão do device.
        restart_session => "restartSession",
        /// Status da conexão do device.
        get_connection_status => "getConnectionStatus",
        /// Envia uma mensagem de texto:
        /// `{"number": "5511999999999", "text": "Olá!"}`.
        send_text => "sendText",
        /// Envia um arquivo a partir de uma URL:
        /// `{"number": ..., "path": ...}`.
        send_file => "sendFile",
        /// Envia um arquivo em base64.
        send_file64 => "sendFile64",
        /// Envia áudio por URL (convertido para mp3 pelo gateway, máx. 6 min).
        send_audio => "sendAudio",
        /// Envia um vídeo a partir de uma URL.
        send_video => "sendVideo",
        /// Envia um GIF.
        send_gif => "sendGif",
        /// Envia um link com preview.
        send_link => "sendLink",
        /// Envia uma localização: `{"number": ..., "lat": ..., "lng": ...}`.
        send_location => "sendLocation",
        /// Envia um contato.
        send_contact => "sendContact",
        /// Envia uma figurinha.
        send_sticker => "sendSticker",
        /// Envia uma mensagem de lista.
        send_list => "sendList",
        /// Envia uma mensagem com botões.
        send_buttons => "sendButtons",
        /// Envia uma enquete.
        send_poll_message => "sendPollMessage",
        /// Envia uma chave PIX.
        send_pix_key => "sendPixKey",
        /// Publica um texto no status.
        send_text_to_storie => "sendTextToStorie",
        /// Publica uma imagem no status.
        send_image_to_storie => "sendImageToStorie",
        /// Publica um vídeo no status.
        send_video_to_storie => "sendVideoToStorie",
        /// Verifica se um número tem WhatsApp.
        check_number_status => "checkNumberStatus",
        /// Lista as conversas do device.
        get_all_chats => "getAllChats",
        /// Lista os contatos do device.
        get_all_contacts => "getAllContacts",
        /// Lista os grupos do device.
        get_all_groups => "getAllGroups",
        /// Foto de perfil de um número.
        get_profile_pic => "getProfilePic",
    }
}