API



Documentación del REST API

Mediante el REST-API podrás conectar fácilmente tu aplicación con las diputaciones forales o generar una factura electrónica (FacturaE) para los organismos públicos.


Endpoints y solicitudes

Los puntos finales de la API de REST están organizados por tipo de recurso. Deberás utilizar diferentes URLs según los requisitos de la aplicación.

Todos los puntos finales de la API de REST siguen este patrón:

https://{entorno}.ticketbaiws.eus/{recurso}/

  • POST Solicitudes para crear nuevas facturas
  • GET Solicitudes para obtener información
  • PUT Solicitudes para actualizar datos
  • DEL Solicitudes para anular facturas

El entorno es api-test para el entorno de pruebas y api para el entorno real. El token de cada uno de los entornos está disponible en el área privada de cada empresa. Todos los parámetros se deberán enviar encapsulados en un objeto JSON

Resultados y respuestas

Las respuestas del API siempre contendrán tres variables: result, return, msg. La variable result siempre será OK o ERROR, la variable return contendrá los datos resultantes (cadena TBAI, código QR...) y la variable msg los posibles mensajes de estado o de error.






GET https://{entorno}.ticketbaiws.eus/status/
$ curl --request GET \
     --url https://api-test.ticketbaiws.eus/status/ \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Token: xxx' \
     --header 'Nif: 00000014Z'
$ composer require guzzlehttp/guzzle
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api-test.ticketbaiws.eus/status/', [
  'body' => '{}',
  'headers' => [
    'Accept' => 'application/json',
    'Content-Type' => 'application/json',
    'Token' => 'xxx',
    'Nif' => '00000014Z'
  ],
]);

echo $response->getBody();
$ python -m pip install requests
import requests

url = "https://api-test.ticketbaiws.eus/status/"
headers = {"Accept": "application/json", "Token" : "xxx", "Nif" : "00000014Z"}
response = requests.request("GET", url, headers=headers)
print(response.text)
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://api-test.ticketbaiws.eus/status/");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Accept: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api-test.ticketbaiws.eus/status/")
  .get()
  .addHeader("Accept", "application/json")
  .addHeader("Token", "xxx")
  .addHeader("Nif", "00000014Z")
  .build();
  
Response response = client.newCall(request).execute();
{ } Response JSON
HTTP/1.1 200 OK
{ 
	"result": "OK", 
	"return": [], 
	"msg": "Ready" 
}