Skip to main content
SDK v1 — Documentação Legacy

Esta página documenta o Actions SDK v1. Para a versão atual (v2), consulte a documentação do SDK v2.

Code Secrets

Visão Geral

Code Secrets são credenciais e informações sensíveis (tokens, chaves de API, certificados, URLs de ambientes) que ficam armazenadas de forma segura na plataforma Tech4AI e são injetadas automaticamente no contexto de execução das suas Actions.

Com Code Secrets você não precisa embutir valores sensíveis diretamente no código das suas Actions. Basta referenciar o secret pelo nome e a plataforma cuida de injetar o valor correto.

Criação de Secrets

A criação, atualização e remoção de Code Secrets deve ser solicitada ao time da Tech4.ai.


Tipos de Secret

TipoValorUso
TEXTTexto simplesTokens, chaves de API, URLs, senhas
CERTConteúdo PEMCertificados cliente para autenticação mTLS

Acessando Secrets nas Actions

O dicionário secrets é uma variável pré-injetada no escopo de execução de todas as Actions. Não é necessário importar nada.

# Acessar um secret pelo nome exato cadastrado
api_key = secrets["MINHA_API_KEY"]
api_host = secrets["MINHA_API_HOST"]
Nome do Secret

O nome do secret é definido no cadastro. Use exatamente o mesmo nome (diferencia maiúsculas de minúsculas) ao acessar secrets["NOME_DO_SECRET"].


Exemplos de Uso

Chamada HTTP com chave de API

import requests

def consultar_dados():
headers = {
"Authorization": f"Bearer {secrets['API_TOKEN']}",
"X-API-Key": secrets["API_KEY"],
}
url = f"{secrets['API_HOST']}/v1/dados"

response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
return response.json()

Chamada autenticada com certificado (mTLS)

Use o CertificateClient do SDK em conjunto com um secret do tipo CERT:

def consultar_recurso(recurso_id: str):
cert_client = CertificateClient(cert_content=secrets["CERTIFICADO_PEM"])

headers = {
"X-API-Key": secrets["API_KEY"],
"Authorization": f"Bearer {secrets['ACCESS_TOKEN']}",
}
url = f"{secrets['API_HOST']}/v1/recursos/{recurso_id}"

response = cert_client.get(url=url, headers=headers, timeout=30)
return response.json()

Combinando múltiplos secrets

def autenticar_e_buscar():
# Credenciais de autenticação
auth_url = secrets["AUTH_URL"]
client_id = secrets["CLIENT_ID"]
client_secret = secrets["CLIENT_SECRET"]

# Obter token
auth_response = requests.post(auth_url, data={
"grant_type": "client_credentials",
"client_id": client_id,
"client_secret": client_secret,
})
token = auth_response.json()["access_token"]

# Usar token para chamada protegida
api_host = secrets["API_HOST"]
response = requests.get(
f"{api_host}/v1/dados",
headers={"Authorization": f"Bearer {token}"},
timeout=30,
)
return response.json()

Boas Práticas

Recomendações
  1. Nunca codifique valores sensíveis diretamente no código da Action. Sempre utilize secrets.
  2. Use nomes descritivos para os secrets (ex.: SEGURADORA_API_KEY, INTEGRACAO_HOST) e solicite ao time Tech4.ai no momento da criação.
  3. Secrets do tipo CERT devem ser usados exclusivamente com o CertificateClient — nunca como string em headers.
  4. Não logue o valor dos secrets. Evite print(secrets["..."]) em código de produção.