منطقة المطور
API وwebhooks والوكلاء الخارجيون وكل ما يحتاجه نظام للتحدث مع Tenka.
كل ما هنا يأتي من الكود الفعلي: الحدود والموارد والأحداث والمنافذ تُقرأ من المنصة لا تُكتب يدوياً. ما يتغير في النظام يتغير في هذه الصفحة.
الخطوات الأولى 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
الخطوات الأولىمن المفتاح إلى أول GET في خمس دقائق.SandboxComo obter acesso e testar sem tocar na produção.المصادقةمفتاح لكل حساب، نطاق لكل مفتاح، مؤلف لكل مستخدم.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.الحدود والأخطاءما تعيده API عندما يفشل شيء.IdempotênciaRepetir uma escrita sem duplicar o registro.VersionamentoO que pode mudar na v1 e o que nunca muda.Webhooksيُخطر Tenka نظامك عندما يحدث شيء.SDKCliente pronto em JavaScript e Python, gerado do contrato.منافذ للأنظمةما بعد API: وكلاء الذكاء الاصطناعي، التوفير، تسجيل الدخول المؤسسي وقنوات الفريق.سجل التغييراتمن غيّر ماذا ومتى في أي سجل.Histórico da APICada mudança de contrato, com data e o que o integrador precisa fazer.أفضل الممارساتما يجعل التكامل يدوم.الأسئلة الشائعةما يسأله المتكاملون أولاً.الحالة وبيئة التجربةقبل فتح تذكرة، تحقق أن كل شيء يعمل.
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.