Ochrana uživatelských dat

Vaše data jsou pro nás prioritou. Všechna data zaslaná uživatelem jsou ihned po zpracování nenávratně odstraněna ze serveru. Na serveru se tedy žádná data neuchovávají ani nesdílejí s třetími stranami.

Uživatel se proto nemusí obávat rizika zneužití svých dat – naše API je navrženo tak, aby zaručovalo maximální bezpečnost a soukromí.

Popis základního případu použití API

Základní scénář API spočívá v odeslání požadavku na vytěžení dat z jednoho listu Excelu. Klient by měl provést HTTP požadavek metodou POST s využitím formátu multipart/form-data.

Požadavek musí obsahovat následující klíčové atributy:

  • file: obsahuje samotný soubor ve formátu .xlsx.
  • schema: obsahuje schéma pro zpracování a extrakci dat ve formátu JSON.

Tento přístup umožňuje efektivní a flexibilní zpracování dat na základě specifikovaného schématu.

URL pro požadavek

API požadavek by měl být odeslán na následující URL:

https://tablesnap.a-scan.cz/api/v1/extract

Vzorový požadavek pomocí curl

    
curl --request POST \
  --url https://tablesnap.a-scan.cz/api/v1/extract \
  --header 'Content-Type: multipart/form-data' \
  --header 'User-Agent: insomnia/2023.5.8' \
  --form 'file=@X:\path\to\data\spreadsheet.xlsx' \
  --form 'schema={"worksheet_name":"List1","schema":[{"id":"date_issue","cell":"B5"},{"id":"type_customer","cell":"C4"},{"id":"list_of_values","range":"[A5, A10]"}]}'
    
  

Struktura JSON schématu

JSON schéma, které slouží k definici dat pro vytěžení, může být buď:

  • Objekt: Používá se v případě, že vytěžujete data pouze z jednoho listu.
  • Pole objektů: Používá se v případě, že vytěžujete data z více listů.

Pokud vytěžujete data pouze z jednoho listu, není nutné specifikovat identifikaci listu – automaticky se použije první list v pořadí. Pro identifikaci konkrétního listu je třeba použít jeden z následujících atributů:

  • worksheet_name: Název listu.
  • worksheet_id: Pořadové číslo listu (počítáno od 0).

Další povinný atribut JSON schématu je schema. Tento atribut obsahuje pole objektů, které definují data pro vytěžení. Každý objekt musí mít následující atributy:

  • id: Unikátní identifikátor, pod kterým bude výsledek vrácen.
  • Jeden z následujících atributů:
    • cell: Adresa konkrétní buňky ve formátu A1.
    • range: Rozsah buněk ve formátu [A2, A10], což může být řádek nebo sloupec.

V případě, že schéma nebude validní, vrátí server chybovou hlášku s popisem chyb.

Vzorové JSON schéma

Níže je uveden příklad schématu, které definuje data pro vytěžení z více listů Excelu:

    
[
  {
    "worksheet_name": "List1",
    "schema": [
      {
        "id": "date_issue",
        "cell": "B5"
      },
      {
        "id": "type_customer",
        "cell": "C4"
      },
      {
        "id": "list_of_values",
        "range": "[A5, A10]"
      }
    ]
  },
  {
    "worksheet_name": "List2",
    "schema": [
      {
        "id": "order_number",
        "cell": "A4"
      },
      {
        "id": "delivery_note",
        "cell": "C4"
      },
      {
        "id": "list_of_values",
        "range": "[B5, B10]"
      }
    ]
  }
]
  

Vzorová odpověď

Příklad odpovědi serveru na výše uvedený json - každý list reprezentuje vlastní objekt. Jsou seřazeny tak, jak byly zadány ve schématu:

    
{
	"status": "ok",
	"data": [
		[
			{
				"id": "date_issue",
				"value": "2024-11-11 12:30:17"
			},
			{
				"id": "type_customer",
				"value": "regular"
			},
			{
				"id": "list_of_values",
				"value": [
					"10",
					"20",
					"30",
					"40",
					"50",
					"55"
				]
			}
		],
		[
			{
				"id": "order_number",
				"value": "PO2024-1245"
			},
			{
				"id": "delivery_note",
				"value": "DN20241345"
			},
			{
				"id": "list_of_values",
				"value": [
					"abcd",
					"efgh",
					"ijkl",
					"mnop",
					"qrst",
					"uvwy"
				]
			}
		]
	]
}
  

© 2024 Pavel Trnavský. Všechna práva vyhrazena.