Sao kê ngân hàng
1. Các API trích xuất thông tin sao kê
a. API trích xuất sao kê (gồm cả thông tin trong bảng và ngoài bảng)
Trích xuất thông tin Sao kê (gồm cả thông tin trong bảng và ngoài bảng) với đầu vào URL của ảnh hoặc pdf:
API:
Method URL GET https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement
Params:
Key Value Mô tả img
https://example.com/image.png
URL của ảnh hoặc pdf format_type
url
Loại data truyền vào, nhận giá trị: url
,file
,base64
get_thumb
true
/false
TTrả về ảnh sao kê đã được cắt và căn chỉnh Demo Python:
import requestsapi_key = "YOUR_API_KEY"api_secret = "YOUR_API_SECRET"image_url = 'https://example.com/image.png'response = requests.get("https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement?img=%s&format_type=url&get_thumb=false"% image_url,auth=(api_key, api_secret))print(response.json())Trích xuất thông tin Sao kê (gồm cả thông tin trong bảng và ngoài bảng) với đầu vào file ảnh hoặc file pdf:
API:
Method URL content-type POST https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement
multipart/form-data
Params:
Key Value Mô tả format_type
file
Loại data truyền vào, nhận giá trị: url
,file
,base64
get_thumb
true
/false
Trả về ảnh của Sao kê ngân hàng đã được căn chỉnh Body:
Key Type Value Mô tả img
file
example.jpg
Đường dẫn đến ảnh hoặc file pdf của sao kê Demo Python:
import requestsapi_key = "YOUR_API_KEY"api_secret = "YOUR_API_SECRET"image_path = '/path/to/your/image.jpg'response = requests.post("https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement?format_type=file&get_thumb=false",auth=(api_key, api_secret),files={'img': open(image_path, 'rb')})print(response.json())Trích xuất thông tin Sao kê (gồm cả thông tin trong bảng và ngoài bảng) với đầu vào JSON:
API:
Method URL content-type POST https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement
application/json
Params:
Key Value Mô tả format_type
base64
Loại data truyền vào, nhận giá trị: url
,file
,base64
get_thumb
true
/false
Trả về ảnh của Sao kê ngân hàng đã được căn chỉnh Body:
{"img": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh hoặc pdf cần trích xuất}Demo Python:
import base64import ioimport requestsfrom PIL import Imagedef get_byte_img(img):img_byte_arr = io.BytesIO()img.save(img_byte_arr, format='PNG')encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')return encoded_imgapi_key = "YOUR_API_KEY"api_secret = "YOUR_API_SECRET"img_name = "path_img"encode_cmt = get_byte_img(Image.open(img_name))response = requests.post("https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement?format_type=base64&get_thumb=false",auth=(api_key, api_secret),json={'img' : encode_cmt})print(response.json())
b. API trích xuất toàn bộ thông tin bảng trong sao kê
Trích xuất Toàn bộ thông tin bảng trong sao kê với đầu vào URL của ảnh hoặc pdf:
API:
Method URL GET https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement_general
Params:
Key Value Mô tả img
https://example.com/image.png
URL của ảnh hoặc pdf format_type
url
Loại data truyền vào, nhận giá trị: url
,file
,base64
get_thumb
true
/false
Trả về ảnh của Sao kê ngân hàng đã được căn chỉnh Demo Python:
import requestsapi_key = "YOUR_API_KEY"api_secret = "YOUR_API_SECRET"image_url = 'https://example.com/image.png'response = requests.get("https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement_general?img=%s&format_type=url&get_thumb=false"% image_url,auth=(api_key, api_secret))print(response.json())Trích xuất Toàn bộ thông tin bảng trong sao kê với đầu vào file ảnh hoặc file pdf:
API:
Method URL content-type POST https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement_general
multipart/form-data
Params:
Key Value Mô tả format_type
file
Loại data truyền vào, nhận giá trị: url
,file
,base64
get_thumb
true
/false
Trả về ảnh của Sao kê ngân hàng đã được căn chỉnh Body:
Key Type Value Mô tả img
file
example.jpg
Đường dẫn đến ảnh hoặc file pdf của sao kê Demo Python:
import requestsapi_key = "YOUR_API_KEY"api_secret = "YOUR_API_SECRET"image_path = '/path/to/your/image.jpg'response = requests.post("https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement_general?format_type=file&get_thumb=false",auth=(api_key, api_secret),files={'img': open(image_path, 'rb')})print(response.json())Trích xuất Toàn bộ thông tin bảng trong sao kê với đầu vào JSON:
API:
Method URL content-type POST https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement_general
application/json
Params:
Key Value Mô tả format_type
base64
Loại data truyền vào, nhận giá trị: url
,file
,base64
get_thumb
true
/false
Trả về ảnh của Sao kê ngân hàng đã được căn chỉnh Body:
{"img": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh hoặc pdf cần trích xuất}Demo Python:
import base64import ioimport requestsfrom PIL import Imagedef get_byte_img(img):img_byte_arr = io.BytesIO()img.save(img_byte_arr, format='PNG')encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')return encoded_imgapi_key = "YOUR_API_KEY"api_secret = "YOUR_API_SECRET"img_name = "path_img"encode_cmt = get_byte_img(Image.open(img_name))response = requests.post("https://demo.computervision.com.vn/api/v2/ocr/document/bank_statement_general?format_type=base64&get_thumb=false",auth=(api_key, api_secret),json={'img' : encode_cmt})print(response.json())
2. Thông tin trả về
a. Thông tin trả về sao kê (gồm cả thông tin trong bảng và ngoài bảng)
Phản hồi sẽ là một JSON với định dạng sau:
{"data": dictionary,"errorCode": string, // Mã lỗi"errorMessage": string // Thông báo lỗi}
Trường data là một dictionary có định dạng như sau:
{"type": "sao_ke", // Thể hiện loại giấy tờ ở đây là sao kê"info": [xxxx]}info
: Thông tin trích xuất được từ sao kê, là một dictionary gồm các trường thông tin sau:ngan_hang
: Tên ngân hàngngan_hang_box
: Tọa độ tên ngân hàng là một list gồm [left, top, right, bottom]ngan_hang_confidence
: Độ tin cậy tên ngân hàngngan_hang_id
: Index trường tên ngân hàng trong list ảnh trả vềso_tai_khoan
: Số tài khoảnso_tai_khoan_box
: Tọa độ số tài khoản là một list gồm [left, top, right, bottom]so_tai_khoan_confidence
: Độ tin cậy số tài khoảnso_tai_khoan_id
: Index trường số tài khoản trong list ảnh trả vềten_khach_hang
: Tên khách hàngten_khach_hang_box
: Tọa độ tên khách hàng là một list gồm [left, top, right, bottom]ten_khach_hang_confidence
: Độ tin cậy tên khách hàngten_khach_hang_id
: Index trường tên khách hàng trong list ảnh trả vềso_du_dau_ky
: Số dư đầu kỳso_du_dau_ky_box
: Tọa độ số dư đầu kỳ là một list gồm [left, top, right, bottom]so_du_dau_ky_confidence
: Độ tin cậy số dư đầu kỳso_du_dau_ky_id
: Index trường số dư đầu kỳ trong list ảnh trả vềso_du_cuoi_ky
: Số dư cuối kỳso_du_cuoi_ky_box
: Tọa độ số dư cuối kỳ là một list gồm [left, top, right, bottom]so_du_cuoi_ky_confidence
: Độ tin cậy số dư cuối kỳso_du_cuoi_ky_id
: Index trường số dư cuối kỳ trong list ảnh trả vềthoi_gian_in
: Thời gian in. Là một dictionary gồm các trường thông tin sau:tu_ngay
: Từ ngàytu_ngay_box
: Tọa độ từ ngày là một list gồm [left, top, right, bottom]tu_ngay_confidence
: Độ tin cậy từ ngàytu_ngay_id
: Index trường từ ngày trong list ảnh trả vềden_ngay
: Đến ngàyden_ngay_box
: Tọa độ đến ngày là một list gồm [left, top, right, bottom]den_ngay_confidence
: Độ tin cậy đến ngàyden_ngay_id
: Index trường đến ngày trong list ảnh trả về
cong_phat_sinh_trong_ky
: Cộng phát sinh trong kỳ. Là một dictionary gồm các trường thông tin sau:phat_sinh_co
: Phát sinh cóphat_sinh_co_box
: Tọa độ phát sinh có là một list gồm [left, top, right, bottom]phat_sinh_co_confidence
: Độ tin cậy phát sinh cóphat_sinh_co_id
: Index trường phát sinh có trong list ảnh trả vềphat_sinh_no
: Phát sinh nợphat_sinh_no_box
: Tọa độ phát sinh nợ là một list gồm [left, top, right, bottom]phat_sinh_no_confidence
: Độ tin cậy phát sinh nợphat_sinh_no_id
: Index trường phát sinh nợ trong list ảnh trả về
image
: List ảnh định dạng base64 đã được căn chỉnhtable
: Thông tin trích xuất được từ phần bảng trong sao kê. Trả về là một list tương ứng với từng trang được trích xuất. Mỗi phần tử trong list có thể lànull
(đối với trường hợp trang đó không có bảng), hoặc có thể là dictionary như sau:{“image_table": // Là list ảnh table trong trang đó“json": // Là list thông tin đi với từng ảnh trong image_table}Mỗi phần tử trong mảng
json
có cấu trúc như sau:[[json_0, json_1, json_2, json_3, json_4, json_5, json_6, json_7], // Biểu thị từng bảng[...],...] //biểu thị cả bảngTrong đó:
json_0
: Thông tin trường Ngày.json_1
: Thông tin trường Mô tả.json_2
: Thông tin trường Nợ.json_3
: Thông tin trường Có.json_4
: Thông tin trường Số dư.json_5
: Thông tin trường Số thứ tự.json_6
: Thông tin trường Mã giao dịch.json_7
: Thông tin trường Đối tác nhận.Mỗi
JSON
này có cấu trúc như sau:{"value": // Giá trị text trong ô"score": // Độ tin cậy"box": // Ví trí của ô trong bảng}
b. Thông tin trả về toàn bộ thông tin bảng trong sao kê
Phản hồi sẽ là một JSON với định dạng sau:
{"data": list,"errorCode": string, // Mã lỗi"errorMessage": string // Thông báo lỗi}Trường
data
là một list, mỗi phần tử trong list tương ứng với một bảng trích xuất được. Mỗi phần từ này là một dictionary gồm các thông tin sau đây:image
: Ảnh bảng đã được cắt và căn chỉnh.json
: Thông tin trích xuất được từ bảng có cấu trúc như sau:[[json1, json2, json3, ... jsonN], // Biểu thị thông tin của 1 hàng[...],...] // Biểu thị thông tin trích xuất được từ bảng- Mỗi
json
trong [json1, json2, json3, ... jsonN] có cấu trúc như sau:value
: Nội dung của cell.score
: Độ tin cậy nội dung cell.box
: Box của vùng nội dung cell.
- Mỗi
Bảng mã lỗi:
Mã lỗi | Message | Mô tả |
---|---|---|
0 | Success | Thành công |
1 | Incorrect image format | Ảnh bị lỗi |
2 | Url is unavailable | Link ảnh bị lỗi |
3 | The photo does not contain content | Ảnh không chứa nội dung |
4 | Incorrect api_key or api_secret | api_key hoặc api_secret sai |
5 | Out of requests | Hết số lượng requests hữu dụng |
6 | Error when processing the request | Lỗi khi xử lý request |