Data models
Signal Data Models
Data models purpose
This chapter is a reference guide for advanced Signal users. In all Signal operating modes, data models are handled automatically, without user intervention.
You can use the GUI, CLI, or API without learning how the data models work.
Understanding the data models is necessary when using the Python library or modifying the default behavior of the GUI, CLI, and API.
Signal stores data in instances of data models. A data model is a structured representation of system data, such as transaction data, configuration, and other entities. Signal uses several data models to hold the information needed for transaction processing.
Learn more about data models on the Pydantic website.
Signal uses the following public data models.
| Data Model | Description | Supported formats |
|---|---|---|
| Transaction | Payment transaction data: MTI, transaction data fields Used for incoming and outgoing transactions |
JSON, DUMP, INI |
| Specification | Field formats, validation rules, descriptions, and hierarchy | JSON |
| Config | General configuration data and base settings for all operating modes | JSON |
Data can be loaded into Signal in several ways.
| Data models | GUI | CLI | API |
|---|---|---|---|
| Transaction | • Hotkey Ctrl + O • Button Open File• Drop a file into the Signal GUI main window |
--file FILE or --dir DIR |
/api/transactions |
| Specification | • Hotkey Ctrl + O,• Button Open File• Drop a file into the Signal GUI specification window |
--specification SPECIFICATION |
/api/specifications |
| Config | Configure in Tools → Settings interface |
--config-file CONFIG_FILE |
/api/config |