Skip to main content
POST
/
session
/
s3
/
config
Configuracao S3
curl --request POST \
  --url https://api.example.com/session/s3/config

Descricao

Configura armazenamento S3 para arquivos de midia (imagens, videos, audios, documentos). Quando configurado, midias podem ser armazenadas no S3 ao inves de serem enviadas via base64 no webhook.

Endpoints

MetodoEndpointDescricao
POST/session/s3/configConfigurar S3
GET/session/s3/configObter configuracao atual
POST/session/s3/testTestar conexao
DELETE/session/s3/configRemover configuracao

Configurar S3

Request

POST /session/s3/config

Headers

token: SEU_TOKEN
Content-Type: application/json

Body

{
  "enabled": true,
  "endpoint": "https://s3.amazonaws.com",
  "region": "us-east-1",
  "bucket": "meu-bucket-whatsapp",
  "access_key": "AKIAIOSFODNN7EXAMPLE",
  "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "path_style": false,
  "public_url": "https://cdn.meusite.com",
  "media_delivery": "both",
  "retention_days": 30
}

Campos

CampoTipoDescricao
enabledbooleanAtivar/desativar S3
endpointstringEndpoint do S3 (vazio para AWS)
regionstringRegiao do bucket
bucketstringNome do bucket
access_keystringChave de acesso
secret_keystringChave secreta
path_stylebooleanUsar path style (MinIO)
public_urlstringURL publica/CDN (opcional)
media_deliverystringbase64, s3 ou both
retention_daysnumberDias para reter arquivos (0 = infinito)

Response

{
  "code": 200,
  "data": {
    "Details": "S3 configuration saved successfully"
  },
  "success": true
}

Obter Configuracao

Request

GET /session/s3/config

Response

{
  "code": 200,
  "data": {
    "enabled": true,
    "endpoint": "https://s3.amazonaws.com",
    "region": "us-east-1",
    "bucket": "meu-bucket",
    "access_key": "***",
    "path_style": false,
    "public_url": "",
    "media_delivery": "both",
    "retention_days": 30
  },
  "success": true
}

Testar Conexao

Request

POST /session/s3/test

Response

{
  "code": 200,
  "data": {
    "Details": "S3 connection test successful",
    "Bucket": "meu-bucket",
    "Region": "us-east-1"
  },
  "success": true
}

Exemplos de Provedores

AWS S3

{
  "enabled": true,
  "endpoint": "",
  "region": "us-east-1",
  "bucket": "meu-bucket",
  "access_key": "AKIAIOSFODNN7EXAMPLE",
  "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "path_style": false,
  "media_delivery": "s3"
}

MinIO

{
  "enabled": true,
  "endpoint": "https://minio.meusite.com",
  "region": "us-east-1",
  "bucket": "whatsapp-media",
  "access_key": "minioadmin",
  "secret_key": "minioadmin",
  "path_style": true,
  "media_delivery": "both"
}

Backblaze B2

{
  "enabled": true,
  "endpoint": "https://s3.us-west-004.backblazeb2.com",
  "region": "us-west-004",
  "bucket": "meu-bucket-b2",
  "access_key": "0004b0000000001",
  "secret_key": "K004XXXXXXXXXXXXX",
  "path_style": false,
  "media_delivery": "s3"
}

Media Delivery

OpcaoDescricao
base64Webhook inclui apenas base64 (padrao)
s3Webhook inclui apenas URL do S3
bothWebhook inclui base64 e URL do S3
Para MinIO e outros S3-compativeis, use path_style: true.
Guarde suas credenciais S3 com seguranca. Elas sao criptografadas no banco de dados.