Área del desarrollador
API, webhooks, agentes externos y lo demás que un sistema necesita para hablar con Tenka.
Todo aquí viene del código que está en el aire: límites, recursos, eventos y puertas se leen de la plataforma, no se digitan. Lo que cambie en el sistema cambia en esta página.
Primeros pasos Baixar openapi.json Abrir no Swagger
A primeira chamada
Troque a variável TENKA_API_KEY pela chave criada em Configurações › API. A resposta diz qual conta a chave enxerga.
cURL
curl "https://tenka.app.br/api/v1/me" \
-H "Authorization: Bearer $TENKA_API_KEY"JavaScript
const response = await fetch("https://tenka.app.br/api/v1/me", {
method: "GET",
headers: {
"Authorization": "Bearer " + TENKA_API_KEY
}
});
const data = await response.json();
if (!response.ok || data.erro) throw new Error(response.status + " " + data.erro);
console.log(data);Python
import os
import requests
response = requests.get(
"https://tenka.app.br/api/v1/me",
headers={
"Authorization": f"Bearer {os.environ['TENKA_API_KEY']}",
},
timeout=30,
)
data = response.json()
if not response.ok or "erro" in data:
raise RuntimeError(f"{response.status_code} {data.get('erro')}")
print(data)Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder(URI.create("https://tenka.app.br/api/v1/me"))
.header("Authorization", "Bearer " + System.getenv("TENKA_API_KEY"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());C#
using System.Net.Http.Headers;
using System.Text;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("TENKA_API_KEY"));
var request = new HttpRequestMessage(HttpMethod.Get, "https://tenka.app.br/api/v1/me");
var response = await http.SendAsync(request);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");PHP
<?php
$ch = curl_init("https://tenka.app.br/api/v1/me");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("TENKA_API_KEY"),
],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($body, true);
echo $status . " " . $body;Node (SDK)
// SDK gerado do contrato — baixe em https://tenka.app.br/api/v1/sdk/tenka.js
import { Tenka } from "./tenka.js";
const tenka = new Tenka(process.env.TENKA_API_KEY, "https://tenka.app.br/api/v1");
const data = await tenka.getMe({});
console.log(data);Guias
Primeros pasosDe la clave al primer GET en cinco minutos.SandboxComo obter acesso e testar sem tocar na produção.AutenticaciónClave por cuenta, alcance por clave, autoría por usuario.Paginação e sincronizaçãoPágina a página ou só o que mudou desde a última vez.ErrosToda mensagem que a API devolve, com o motivo e o que fazer.Límites y erroresLo que la API devuelve cuando algo falla.IdempotênciaRepetir uma escrita sem duplicar o registro.VersionamentoO que pode mudar na v1 e o que nunca muda.WebhooksTenka avisa a su sistema cuando algo pasa.SDKCliente pronto em JavaScript e Python, gerado do contrato.Puertas para máquinasMás allá de la API: agentes de IA, aprovisionamiento, inicio de sesión corporativo y canales de equipo.Registro de cambiosQuién cambió qué y cuándo, en cualquier registro.Histórico da APICada mudança de contrato, com data e o que o integrador precisa fazer.Buenas prácticasLo que hace durar la integración.Preguntas frecuentesLo que quien integra pregunta primero.Estado y sandboxAntes de abrir un ticket, vea si todo está en el aire.
Referência por recurso
Tenant1 operaçãoCadastros2 operaçõesCRM1 operaçãoLeitura16 operaçõesComercial1 operaçãoFinanceiro1 operaçãoOperação1 operaçãoTêxtil2 operaçõesAlterações10 operaçõesLote3 operaçõesAnalítico2 operações
Gerado do contrato OpenAPI v1.2.0, o mesmo que o openapi.json publica.