Skip to main content

Python SDK for the Vaarhaft FraudScanner API

Project description

Vaarhaft FraudScanner SDK

A modern, async-friendly Python SDK for interacting with the Vaarhaft FraudScanner API.

Pre-requisites

In order to use the Vaarhaft FraudScanner API, you need to have an API key. You can obtain one by requesting it here.

Installation

pip install vaarhaft-fraudscanner

Examples

Basic Usage

import os
import asyncio

from vaarhaft.fraudscanner import FraudScannerClient


async def example_request():
    """Run a basic example of using the FraudScanner SDK."""
    # Set an output directory for attachments
    output_dir = os.path.join(os.path.dirname(__file__), "..", "attachments")

    async with FraudScannerClient(api_key="your_api_key_here", attachments_output_dir=output_dir) as client:
        # Send a request to the FraudScanner API
        response = await client.send(
            file_path="/path/to/your/file.zip",
            case_number="My Case Number 123",
            issue_date="2023-10-01",
        )
        
        # Access metainformation about the request
        print(f"Status code: {response.status_code}")
        print(f"Request duration: {response.duration:.2f} seconds")
        
        # Access the raw JSON response
        print(f"Raw JSON response: {response.raw_json}")
        
        # Access textual information about received attachments
        print(f"Attachments: {response.attachments}")
        
        # Access response level fields regarding the overall response, such as the session ID
        print(f"Session ID: {response.sessionId}")
        
        # Access the processed 'Files' results
        for filename, file in response.Files:
            print(f"Filename: {filename}")
            print(f"The file's suspicion-level: {file.suspicion_level}")
        
        # Access all items in the response
        for id_tuple, item in response.get_all_items():
            print(f"Item in file {id_tuple.file_name} with id {id_tuple.item_uuid}: Suspicion level = {item.suspicion_level}")

async def example_batched():
    """Run an example of using the batch functionality to process multiple files."""
    # Set an output directory for attachments
    output_dir = os.path.join(os.path.dirname(__file__), "..", "attachments")

    async with FraudScannerClient(api_key="your_api_key_here", attachments_output_dir=output_dir) as client:
        # Process an entire directory (containing image or document files, not zips) in batches
        await client.batched(
            input_dir="/path/to/your/input/directory",
            output_file="/path/to/your/output/file.csv",  # CSV file containing an overview of the results
            case_number_base="TestBatch",  # Use max. 10 characters
        )


if __name__ == "__main__":
    asyncio.run(example_request())
    asyncio.run(example_batched())

API Reference

FraudScannerClient

The main client for interacting with the FraudScanner API. Can be used as a context manager (async with; see example above).

client = FraudScannerClient(api_key="your_api_key", attachments_output_dir="attachments")

Parameters

  • api_key (str): The API key for authenticating with the FraudScanner API.
  • attachments_output_dir (str): Directory to save attachments to.

Methods

  • send(case_number, file_path, issue_date=None, contact_email=None): Send a request to the FraudScanner API. Returns a FraudScannerResponse object.
  • batched(case_number_base, input_dir, output_file, issue_date=None, contact_email=None): Send all image and document files in a directory to the FraudScanner API. The results summarized in the specified output CSV file. Useful for getting a large amount of old cases/files into the system in bulk and without much setup.

FraudScannerResponse

The response from the FraudScanner API.

Properties

  • Files: A dictionary of filename to file result pairs. Contains the main results of the analyses. Refer to the API documentation for details on the structure of the results.
  • raw_json: The raw JSON data from the response.
  • attachments: A dictionary mapping filenames to their paths on disk.
  • status_code: The HTTP status code of the response.
  • duration: The duration of the request in seconds.
  • suspicion_level: The overall suspicion level of the request.
  • caseNumber: The case number for the analysis.
  • sessionId: The session ID for the request.
  • modelVersions: The versions of the models used for analysis.

Methods

  • get_all_items(type=None): Get all items from the response, optionally filtered by type (image/document).

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vaarhaft_fraudscanner-0.1.7.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vaarhaft_fraudscanner-0.1.7-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file vaarhaft_fraudscanner-0.1.7.tar.gz.

File metadata

  • Download URL: vaarhaft_fraudscanner-0.1.7.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for vaarhaft_fraudscanner-0.1.7.tar.gz
Algorithm Hash digest
SHA256 4a31134bc1bbf5f929b137202bb8f4f522dfa2ba2b277f03c9f791306c566d25
MD5 927c791ae95ab94153423cb7bbc32ab3
BLAKE2b-256 7ad6160e5915ff35d117763726bfa0b74969dcdace72a3df7f26f3a952fffe36

See more details on using hashes here.

File details

Details for the file vaarhaft_fraudscanner-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for vaarhaft_fraudscanner-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a1b89b8a13dea00c18a960cb4582e077f2a79f6a64361c2e129545b5e5e38a51
MD5 83a62604b3475e155513ddbb05b51cfb
BLAKE2b-256 e411a39c09477f6703608d54c70f4ef880739d8e81e9ac2078fb93757a00b879

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page