import requests
import json
def upload_with_split(file_path, workspace_id, app_id, secret_code):
    """
    Upload file and enable file splitting function
    """
    url = "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload"
    
    headers = {
        "x-ti-app-id": app_id,
        "x-ti-secret-code": secret_code
    }
    
    params = {
        "workspace_id": workspace_id,
        "split_flag": "true"  # Enable file splitting function
    }
    
    with open(file_path, 'rb') as file:
        files = {'file': file}
        response = requests.post(url, headers=headers, params=params, files=files)
    
    return response.json()
def fetch_split_results(workspace_id, batch_number, app_id, secret_code):
    """
    Query file splitting results
    """
    url = "https://docflow.textin.com/api/app-api/sip/platform/v2/file/fetch"
    
    headers = {
        "x-ti-app-id": app_id,
        "x-ti-secret-code": secret_code
    }
    
    params = {
        "workspace_id": workspace_id,
        "batch_number": batch_number
    }
    
    response = requests.get(url, headers=headers, params=params)
    return response.json()
# Usage example
if __name__ == "__main__":
    # Configuration information
    WORKSPACE_ID = "your-workspace-id"
    APP_ID = "your-app-id"
    SECRET_CODE = "your-secret-code"
    FILE_PATH = "/path/to/multi-page-document.pdf"
    
    # Upload file and enable file splitting
    upload_result = upload_with_split(FILE_PATH, WORKSPACE_ID, APP_ID, SECRET_CODE)
    print("Upload result:", json.dumps(upload_result, indent=2, ensure_ascii=False))
    
    # Get batch number
    batch_number = upload_result.get("result", {}).get("batch_number")
    
    if batch_number:
        # Query file splitting results
        fetch_result = fetch_split_results(WORKSPACE_ID, batch_number, APP_ID, SECRET_CODE)
        print("File splitting result:", json.dumps(fetch_result, indent=2, ensure_ascii=False))