Metadata-Version: 2.4
Name: nvoip
Version: 3.0.1
Summary: Cliente Python para a API v3 da Nvoip.
Author: Nvoip
License: GPL-3.0-only
Keywords: nvoip,voip,sms,whatsapp,otp,api
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# nvoip-python

[![CI](https://github.com/Nvoip/nvoip-python/actions/workflows/ci.yml/badge.svg)](https://github.com/Nvoip/nvoip-python/actions/workflows/ci.yml) [![PyPI](https://img.shields.io/pypi/v/nvoip?style=flat-square)](https://pypi.org/project/nvoip/) [![Nvoip](https://img.shields.io/badge/Nvoip-site-00A3E0?style=flat-square)](https://www.nvoip.com.br/) [![API v3](https://img.shields.io/badge/API-v3-1F6FEB?style=flat-square)](https://www.nvoip.com.br/api/) [![Docs](https://img.shields.io/badge/docs-Apiary-6A737D?style=flat-square)](https://nvoip.docs.apiary.io/) [![Postman](https://img.shields.io/badge/Postman-workspace-FF6C37?style=flat-square)](https://nvoip-api.postman.co/workspace/e671d01f-168a-4c38-8d0e-c217229dd61a/team-quickstart) [![Stack](https://img.shields.io/badge/stack-Python-3776AB?style=flat-square)](https://github.com/Nvoip/nvoip-api-examples) [![License: GPL-3.0](https://img.shields.io/badge/license-GPL--3.0-blue?style=flat-square)](LICENSE)

SDK e exemplos oficiais da [Nvoip](https://www.nvoip.com.br/) para integrar a API v3 com OAuth, chamadas, OTP, WhatsApp, SMS e saldo em Python.

## Migração para v3

Esta é uma quebra de compatibilidade: use `create_client_credentials_token()` com credenciais OAuth e envie o access token RS256 em `Authorization: Bearer`. O SDK usa `https://api.nvoip.com.br/auth/oauth2/token`; não use `napikey`, password grant ou `/v3/oauth/token`. Para SMS de texto livre, valide antes a política e o template aprovado aplicáveis à sua conta.

## Requisitos

- Python 3.10+

## Instalacao

```bash
pip install nvoip
```

## Configuracao

```bash
export NVOIP_OAUTH_CLIENT_ID="seu_numbersip"
export NVOIP_OAUTH_CLIENT_SECRET="seu_client_secret"
export NVOIP_OAUTH_CLIENT_ID="seu_client_id"
export NVOIP_OAUTH_CLIENT_SECRET="seu_client_secret"
export NVOIP_CALLER="1049"
export NVOIP_TARGET_NUMBER="11999999999"
```

## Fluxos cobertos

- gerar `access_token`
- renovar token
- consultar saldo
- enviar SMS
- realizar chamada
- enviar OTP
- validar OTP
- listar templates de WhatsApp
- enviar template de WhatsApp

## Exemplos

- `python3 examples/create_client_credentials_token.py`
- `python3 examples/get_balance.py`
- `python3 examples/create_call.py`
- `python3 examples/send_sms.py`
- `python3 examples/send_otp.py`
- `python3 examples/check_otp.py`
- `python3 examples/list_whatsapp_templates.py`
- `python3 examples/send_whatsapp_template.py`

### Destinatário WhatsApp

O exemplo mantém `NVOIP_WA_DESTINATION` para telefone. Para o contrato tipado,
use `NVOIP_WA_RECIPIENT_TYPE=phone|bsuid|parent_bsuid` e
`NVOIP_WA_RECIPIENT_VALUE`, sem `destination`. BSUID é opaco; não use
`@username` nem o coloque em campo de telefone. Exemplos mascarados:
`US.MASKED_BSUID_001` e `PARENT.MASKED_BSUID_001`.

## SDK web

Para o fluxo de popup com telefone e codigo, use o repositório `nvoip-web-sdk`. Este repo cobre o consumo server-side da API.

## Links oficiais

- [Site da Nvoip](https://www.nvoip.com.br/)
- [Documentação da API](https://nvoip.docs.apiary.io/)
- [Página da API](https://www.nvoip.com.br/api/)
- [Workspace Postman](https://nvoip-api.postman.co/workspace/e671d01f-168a-4c38-8d0e-c217229dd61a/team-quickstart)
- [Hub de exemplos](https://github.com/Nvoip/nvoip-api-examples)
