SDKs
Bibliotecas oficiais para integrar o FlowMail na sua aplicação. Todos os SDKs oferecem tipagem completa, tratamento de erros e suporte a verificação individual e em lote.
Instalação
PHP
via Composer
flowmail/flowmail-php
Python
via pip
flowmail
Node.js
via npm
flowmail
INSTALAÇÃO
# PHP
composer require flowmail/flowmail-php
# Python
pip install flowmail
# Node.js
npm install flowmail
PHP
Requer PHP 8.1+ e a extensão cURL. Compatível com Laravel, Symfony e qualquer framework PHP.
Verificação individual
PHP
<?php
use FlowMail\FlowMail;
$client = new FlowMail('fm_live_xxx');
$result = $client->verify('usuario@exemplo.com');
echo $result->email; // usuario@exemplo.com
echo $result->status; // valid, invalid, risky, unknown
echo $result->score; // 0.0 a 1.0
echo $result->reason; // Motivo detalhado
echo $result->isDeliverable(); // true/false
Verificação em lote
PHP - LOTE
<?php
use FlowMail\FlowMail;
$client = new FlowMail('fm_live_xxx');
$emails = [
'joao@empresa.com.br',
'maria@gmail.com',
'contato@dominio-invalido.xyz',
];
// Criar job de verificação em lote
$job = $client->verifyBatch($emails);
echo $job->id; // job_abc123def456
echo $job->status; // processing
// Consultar status do job
$job = $client->getBatchJob($job->id);
if ($job->isCompleted()) {
foreach ($job->results as $result) {
echo "{$result->email}: {$result->status}\n";
}
}
Python
Requer Python 3.8+. Suporta chamadas síncronas e assíncronas (async/await).
Verificação individual
PYTHON
from flowmail import FlowMail
client = FlowMail('fm_live_xxx')
result = client.verify('usuario@exemplo.com')
print(result.email) # usuario@exemplo.com
print(result.status) # valid, invalid, risky, unknown
print(result.score) # 0.0 a 1.0
print(result.reason) # Motivo detalhado
print(result.is_deliverable) # True/False
Verificação em lote
PYTHON - LOTE
from flowmail import FlowMail
client = FlowMail('fm_live_xxx')
emails = [
'joao@empresa.com.br',
'maria@gmail.com',
'contato@dominio-invalido.xyz',
]
# Criar job de verificação em lote
job = client.verify_batch(emails)
print(job.id) # job_abc123def456
print(job.status) # processing
# Consultar status do job
job = client.get_batch_job(job.id)
if job.is_completed:
for result in job.results:
print(f"{result.email}: {result.status}")
Node.js
Requer Node.js 18+. Todas as chamadas retornam Promises. Compatível com ESM e CommonJS.
Verificação individual
JAVASCRIPT
import { FlowMail } from 'flowmail';
const client = new FlowMail('fm_live_xxx');
const result = await client.verify('usuario@exemplo.com');
console.log(result.email); // usuario@exemplo.com
console.log(result.status); // valid, invalid, risky, unknown
console.log(result.score); // 0.0 a 1.0
console.log(result.reason); // Motivo detalhado
console.log(result.isDeliverable); // true/false
Verificação em lote
JAVASCRIPT - LOTE
import { FlowMail } from 'flowmail';
const client = new FlowMail('fm_live_xxx');
const emails = [
'joao@empresa.com.br',
'maria@gmail.com',
'contato@dominio-invalido.xyz',
];
// Criar job de verificação em lote
const job = await client.verifyBatch(emails);
console.log(job.id); // job_abc123def456
console.log(job.status); // processing
// Consultar status do job
const updatedJob = await client.getBatchJob(job.id);
if (updatedJob.isCompleted) {
for (const result of updatedJob.results) {
console.log(`${result.email}: ${result.status}`);
}
}
Repositórios
Todos os SDKs são open source. Contribuições, issues e sugestões são bem-vindas.