NodeJS
Aprenda a integrar a API Validação Dados Bancários do SintegraWS com NodeJS utilizando exemplos de código práticos.
Siga o exemplo abaixo para implementar a API Validação Dados Bancários com NodeJS no seu ambiente de desenvolvimento e aprimorar a confiabilidade do seu sistema.
(async () => {
// Aqui você define os valores dos parâmetros da API:
// Este código assume Node.js 18+ com fetch e AbortController nativos
const token = 'SEU_TOKEN_AQUI';
const codBanco = '341';
const agencia = '0355';
const agenciaDv = '';
const conta = '04580';
const contaDv = '8';
// Montando a URL com parâmetros codificados
const url = `https://www.sintegraws.com.br/api/v1/execute-api.php?token=${encodeURIComponent(token)}&cod_banco=${encodeURIComponent(codBanco)}&agencia=${encodeURIComponent(agencia)}&agencia_dv=${encodeURIComponent(agenciaDv)}&conta=${encodeURIComponent(conta)}&conta_dv=${encodeURIComponent(contaDv)}&plugin=BANK`;
// Criar AbortController para implementar o timeout manualmente
const controller = new AbortController();
const signal = controller.signal;
// Timeout de 120 segundos
const timeout = setTimeout(() => {
controller.abort();
}, 120000);
try {
const response = await fetch(url, { signal });
if (!response.ok) {
throw new Error(`Erro na requisição: ${response.status} ${response.statusText}`);
}
const data = await response.json();
if (data.status === "OK") {
console.log("Status está OK!");
} else {
console.log("Status não está OK ou não encontrado.");
}
} catch (error) {
console.error('Erro ao chamar a API:', error);
} finally {
clearTimeout(timeout);
}
})();
(async () => {
// Aqui você define os valores dos parâmetros da API:
const token = 'SEU_TOKEN_AQUI';
const codBanco = '341';
const agencia = '0355';
const agenciaDv = '';
const conta = '04580';
const contaDv = '8';
// Montando a URL com os parâmetros codificados para evitar problemas com caracteres especiais
const url = `https://www.sintegraws.com.br/api/v1/execute-api.php?token=${encodeURIComponent(token)}&cod_banco=${encodeURIComponent(codBanco)}&agencia=${encodeURIComponent(agencia)}&agencia_dv=${encodeURIComponent(agenciaDv)}&conta=${encodeURIComponent(conta)}&conta_dv=${encodeURIComponent(contaDv)}&plugin=BANK`;
// Criamos um AbortController para permitir cancelar a requisição, caso atinja o timeout
const controller = new AbortController();
const signal = controller.signal;
// Definimos um timeout de 120 segundos (120.000 milissegundos).
// Se a requisição não responder nesse tempo, abortamos.
const timeout = setTimeout(() => {
controller.abort();
}, 120000);
try {
// Fazendo a requisição GET usando fetch e aguardando a resposta.
// Passamos o 'signal' do AbortController para poder abortar se necessário.
const response = await fetch(url, { signal });
// Verificando se o status da resposta é OK (200)
if (!response.ok) {
// Se não for, lançamos um erro para cair no bloco catch
throw new Error(`Erro na requisição: ${response.status} ${response.statusText}`);
}
// Convertendo a resposta para JSON
const data = await response.json();
// Aqui você pode manipular os dados retornados da API.
// Vamos apenas verificar se o campo "status" é "OK"
if (data.status === "OK") {
console.log("Status está OK!");
} else {
console.log("Status não está OK ou não encontrado.");
}
} catch (error) {
// Tratando qualquer erro que possa ocorrer durante a requisição ou o processamento,
// incluindo o erro de timeout (AbortError) ou problemas de rede.
console.error('Erro ao chamar a API:', error);
} finally {
// Limpamos o timeout, garantindo que não fique pendente após o término da operação.
clearTimeout(timeout);
}
})();
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
"time"
)
func main() {
// Aqui você define os valores dos parâmetros da API:
token := "SEU_TOKEN_AQUI"
codBanco := "341"
agencia := "0355"
agenciaDv := ""
conta := "04580"
contaDv := "8"
// Montando a URL com parâmetros codificados
requestUrl := "https://www.sintegraws.com.br/api/v1/execute-api.php?token=" + url.QueryEscape(token) + "&cod_banco=" + url.QueryEscape(codBanco) + "&agencia=" + url.QueryEscape(agencia) + "&agencia_dv=" + url.QueryEscape(agenciaDv) + "&conta=" + url.QueryEscape(conta) + "&conta_dv=" + url.QueryEscape(contaDv) + "&plugin=BANK"
client := http.Client{
Timeout: 120 * time.Second,
}
resp, err := client.Get(requestUrl)
if err != nil {
fmt.Println("Erro ao chamar a API:", err)
return
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
fmt.Printf("Erro na requisição: %d\n", resp.StatusCode)
return
}
body, err := io.ReadAll(resp.Body)
if err != nil {
fmt.Println("Erro ao ler resposta:", err)
return
}
var data map[string]interface{}
if err := json.Unmarshal(body, &data); err != nil {
fmt.Println("Erro ao converter JSON:", err)
return
}
if data["status"] == "OK" {
fmt.Println("Status está OK!")
} else {
fmt.Println("Status não está OK ou não encontrado.")
}
}
<?php
$token = 'SEU_TOKEN_AQUI';
$codBanco = '341';
$agencia = '0355';
$agenciaDv = '';
$conta = '04580';
$contaDv = '8';
$query = [
'token' => $token,
'cod_banco' => $codBanco,
'agencia' => $agencia,
'agencia_dv' => $agenciaDv,
'conta' => $conta,
'conta_dv' => $contaDv,
'plugin' => 'BANK'
];
$url = 'https://www.sintegraws.com.br/api/v1/execute-api.php?' . http_build_query($query);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 120,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error) {
echo 'Erro ao chamar a API: ' . $error;
exit;
}
$data = json_decode($response, true);
if (isset($data['status']) && $data['status'] === 'OK') {
echo 'Status está OK!';
} else {
echo 'Status não está OK ou não encontrado.';
}
import requests
# Aqui você define os valores dos parâmetros da API:
token = 'SEU_TOKEN_AQUI'
cod_banco = '341'
agencia = '0355'
agencia_dv = ''
conta = '04580'
conta_dv = '8'
params = {
'token': token,
'cod_banco': cod_banco,
'agencia': agencia,
'agencia_dv': agencia_dv,
'conta': conta,
'conta_dv': conta_dv,
'plugin': 'BANK'
}
try:
response = requests.get('https://www.sintegraws.com.br/api/v1/execute-api.php', params=params, timeout=120)
response.raise_for_status()
data = response.json()
if data.get('status') == 'OK':
print('Status está OK!')
else:
print('Status não está OK ou não encontrado.')
except requests.RequestException as error:
print('Erro ao chamar a API:', error)
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
// Aqui você define os valores dos parâmetros da API:
var token = "SEU_TOKEN_AQUI";
var codBanco = "341";
var agencia = "0355";
var agenciaDv = "";
var conta = "04580";
var contaDv = "8";
var url = $"https://www.sintegraws.com.br/api/v1/execute-api.php?token={Uri.EscapeDataString(token)}&cod_banco={Uri.EscapeDataString(codBanco)}&agencia={Uri.EscapeDataString(agencia)}&agencia_dv={Uri.EscapeDataString(agenciaDv)}&conta={Uri.EscapeDataString(conta)}&conta_dv={Uri.EscapeDataString(contaDv)}&plugin=BANK";
using var client = new HttpClient();
client.Timeout = TimeSpan.FromSeconds(120);
try
{
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();
var data = JsonSerializer.Deserialize<JsonElement>(json);
if (data.TryGetProperty("status", out var status) && status.GetString() == "OK")
{
Console.WriteLine("Status está OK!");
}
else
{
Console.WriteLine("Status não está OK ou não encontrado.");
}
}
catch (Exception error)
{
Console.WriteLine($"Erro ao chamar a API: {error.Message}");
}
}
}
import java.io.IOException;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
// Aqui você define os valores dos parâmetros da API:
String token = "SEU_TOKEN_AQUI";
String codBanco = "341";
String agencia = "0355";
String agenciaDv = "";
String conta = "04580";
String contaDv = "8";
String url = "https://www.sintegraws.com.br/api/v1/execute-api.php?token=" + URLEncoder.encode(token, StandardCharsets.UTF_8) + "&cod_banco=" + URLEncoder.encode(codBanco, StandardCharsets.UTF_8) + "&agencia=" + URLEncoder.encode(agencia, StandardCharsets.UTF_8) + "&agencia_dv=" + URLEncoder.encode(agenciaDv, StandardCharsets.UTF_8) + "&conta=" + URLEncoder.encode(conta, StandardCharsets.UTF_8) + "&conta_dv=" + URLEncoder.encode(contaDv, StandardCharsets.UTF_8) + "&plugin=BANK";
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(120))
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.timeout(Duration.ofSeconds(120))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() >= 200 && response.statusCode() < 300) {
System.out.println(response.body());
} else {
System.out.println("Erro na requisição: " + response.statusCode());
}
}
}
import Foundation
// Aqui você define os valores dos parâmetros da API:
let token = "SEU_TOKEN_AQUI"
let codBanco = "341"
let agencia = "0355"
let agenciaDv = ""
let conta = "04580"
let contaDv = "8"
var components = URLComponents(string: "https://www.sintegraws.com.br/api/v1/execute-api.php")!
components.queryItems = [
URLQueryItem(name: "token", value: token),
URLQueryItem(name: "cod_banco", value: codBanco),
URLQueryItem(name: "agencia", value: agencia),
URLQueryItem(name: "agencia_dv", value: agenciaDv),
URLQueryItem(name: "conta", value: conta),
URLQueryItem(name: "conta_dv", value: contaDv),
URLQueryItem(name: "plugin", value: "BANK")
]
let request = URLRequest(url: components.url!, timeoutInterval: 120)
URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Erro ao chamar a API: \(error)")
return
}
guard let data = data else {
print("Resposta vazia")
return
}
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print("Erro ao converter JSON: \(error)")
}
}.resume()
#Include "protheus.ch"
User Function ChamarAPI()
// Aqui você define os valores dos parâmetros da API
Local cToken := "SEU_TOKEN_AQUI"
Local cCodBanco := "341"
Local cAgencia := "0355"
Local cAgenciaDv := ""
Local cConta := "04580"
Local cContaDv := "8"
Local cBaseURL := "https://www.sintegraws.com.br/api/v1/execute-api.php"
Local cURL, cResp := ""
Local nStatus := 0
Local oJson
cURL := cBaseURL + ;
"?token=" + URLEncode(cToken) + ;
"&cod_banco=" + URLEncode(cCodBanco) + ;
"&agencia=" + URLEncode(cAgencia) + ;
"&agencia_dv=" + URLEncode(cAgenciaDv) + ;
"&conta=" + URLEncode(cConta) + ;
"&conta_dv=" + URLEncode(cContaDv) + ;
"&plugin=BANK"
HttpSetTimeOut(120000)
cResp := HttpGet(cURL)
nStatus := HttpResult()
If nStatus <> 200
Conout("Erro na requisição: " + Ltrim(Str(nStatus)))
Return
EndIf
If Empty(cResp)
Conout("Resposta vazia.")
Return
EndIf
oJson := JsonDecode(cResp)
If oJson == Nil
Conout("Erro ao decodificar JSON.")
Return
EndIf
If oJson["status"] == "OK"
Conout("Status está OK!")
Else
Conout("Status não está OK ou não encontrado.")
EndIf
Return
REPORT z_chamar_api.
DATA: lv_token TYPE string VALUE 'SEU_TOKEN_AQUI',
lv_cod_banco TYPE string VALUE '341',
lv_agencia TYPE string VALUE '0355',
lv_agencia_dv TYPE string VALUE '',
lv_conta TYPE string VALUE '04580',
lv_conta_dv TYPE string VALUE '8',
lv_url TYPE string,
lv_response TYPE string,
lv_status_code TYPE i,
lv_encoded_token TYPE string,
lv_encoded_cod_banco TYPE string,
lv_encoded_agencia TYPE string,
lv_encoded_agencia_dv TYPE string,
lv_encoded_conta TYPE string,
lv_encoded_conta_dv TYPE string.
CALL FUNCTION 'ESCAPE_URL'
EXPORTING unescaped = lv_token
IMPORTING escaped = lv_encoded_token.
CALL FUNCTION 'ESCAPE_URL'
EXPORTING unescaped = lv_cod_banco
IMPORTING escaped = lv_encoded_cod_banco.
CALL FUNCTION 'ESCAPE_URL'
EXPORTING unescaped = lv_agencia
IMPORTING escaped = lv_encoded_agencia.
CALL FUNCTION 'ESCAPE_URL'
EXPORTING unescaped = lv_agencia_dv
IMPORTING escaped = lv_encoded_agencia_dv.
CALL FUNCTION 'ESCAPE_URL'
EXPORTING unescaped = lv_conta
IMPORTING escaped = lv_encoded_conta.
CALL FUNCTION 'ESCAPE_URL'
EXPORTING unescaped = lv_conta_dv
IMPORTING escaped = lv_encoded_conta_dv.
lv_url = |https://www.sintegraws.com.br/api/v1/execute-api.php?token={ lv_encoded_token }&cod_banco={ lv_encoded_cod_banco }&agencia={ lv_encoded_agencia }&agencia_dv={ lv_encoded_agencia_dv }&conta={ lv_encoded_conta }&conta_dv={ lv_encoded_conta_dv }&plugin=BANK|.
DATA(lo_http_client) = NEW cl_http_client( ).
CALL METHOD cl_http_client=>create_by_url
EXPORTING url = lv_url
IMPORTING client = lo_http_client
EXCEPTIONS OTHERS = 4.
IF sy-subrc <> 0.
WRITE: / 'Erro ao criar o HTTP Client'.
EXIT.
ENDIF.
lo_http_client->timeout = 120.
lo_http_client->request->set_header_field( name = '~request_method' value = 'GET' ).
CALL METHOD lo_http_client->send
EXCEPTIONS OTHERS = 4.
IF sy-subrc <> 0.
WRITE: / 'Erro ao enviar requisição HTTP.'.
EXIT.
ENDIF.
CALL METHOD lo_http_client->receive
EXCEPTIONS OTHERS = 4.
IF sy-subrc <> 0.
WRITE: / 'Erro ao receber resposta HTTP.'.
EXIT.
ENDIF.
lv_status_code = lo_http_client->response->get_status( ).
IF lv_status_code <> 200.
WRITE: / |Erro na requisição: { lv_status_code }|.
lo_http_client->close( ).
EXIT.
ENDIF.
lv_response = lo_http_client->response->get_data( ).
lo_http_client->close( ).
DATA(lo_json) = NEW /ui2/cl_json( ).
DATA(ls_result) = lo_json->deserialize( EXPORTING json = lv_response ).
DATA(lv_status) = VALUE string( ls_result[ 'status' ] ).
IF lv_status = 'OK'.
WRITE: / 'Status está OK!'.
ELSE.
WRITE: / 'Status não está OK ou não encontrado.'.
ENDIF.