SignPuddle 3 Interface API


Interface

SignPuddle 3 organizes user interface elements into interface collections. Interface collections are available in three different forms: database, plain text files, and JSON objects

Databases

Each collection is available as an SQLite database. These databases are the primary source and all edits are directly applied to the database.

table entry

  • key

  • message

  • description

  • icon

  • user

  • created_at

  • updated_at

Plain Text Files

Each collection is available as a plain text field where each entry occupies its own line. Each entry contains multiple fields that are divided by tab characters. The plain text files are designed for easy import and export from the databases.

key /t message /t description /t icon /t user /t created_at /t updated_at

JSON Data files

The interface JSON data file is an object. Each key contains an object with three properties: message, description, icon, and updated_at.

{ “name”: “en-US-interface-sp3”, “data”: { “key.example.one”: { “message”: “example message”, “description”: “example description”, “icon”: “example”, “updated_at”: “date-time” } } }

interface

Resources related to interface collections

Interfaces available

Get available interfaces

REQUEST

Parameters
name string sp3

partial interface name

RESPONSE

Headers
Content-Type text/plain
200 text/plain
                        ["en-US-interface-sp3"]

                      
                        
                      
Interface resource

Access to available interfaces

retrieve interface

REQUEST interface text

Parameters
name string en-US-interface-sp3

The name of an interface

update number 1

Forces a rewrite of the interface for json and txt formats

Headers
If-Modified-Since 2019-01-16T16:56:19.175Z
                          null

                        
                          
                        

RESPONSE

Headers
Content-Type text/plain
200 text/plain
                        print.buttons.main   message   description   icon

                      
                        
                      
Interface keys

Access to interface keys

retrieve interface keys

REQUEST interface keys

Parameters
name string en-US-interface-sp3

The name of an interface

Headers
If-Modified-Since 2019-01-16T16:56:19.175Z
Pass 724fd4b4438fba9d0c5ab89d0833e5c9
                          null

                        
                          
                        

RESPONSE

Headers
Content-Type text/plain
200 text/plain
                        ["print.buttons.main"]

                      
                        
                      
Interface entries search

Search interface for text

retrieve matching entries

REQUEST matching interface entries

Parameters
name string en-US-interface-sp3

The name of an interface

text string SignPuddle

The text for searching

Headers
Pass 724fd4b4438fba9d0c5ab89d0833e5c9
                          null

                        
                          
                        

RESPONSE

Headers
Content-Type text/plain
200 text/plain
                        [
  {
    "key": "print.buttons.main",
    "message": "Print it!"
  }
]

                      
                        
                      
Interface entry resource

Entries for interface

add interface entry

REQUEST add new interface entry

Parameters
name string en-US-interface-sp3

The name of an interface

Headers
Content-Type application/json
Pass 724fd4b4438fba9d0c5ab89d0833e5c9
application/json
                          {"key":"new.key.one", "message":"UI text","description":"about the text","icon":"search"}

                        
                          
                        

RESPONSE

Headers
Content-Type text/plain
201 text/plain
                        ...

                      
                        
                      
Interface entry resource for key

Specific entries for interface

retrieve interface entry

REQUEST an interface entry

Parameters
name string en-US-interface-sp3

The name of an interface

key string system.button.open

The name of an interface key

Headers
If-Modified-Since 2019-01-16T16:56:19.175Z
Pass 724fd4b4438fba9d0c5ab89d0833e5c9
                          null

                        
                          
                        

RESPONSE

Headers
Content-Type text/plain
200 text/plain
                        ...

                      
                        
                      

update interface entry

REQUEST an update for an existing entry

Parameters
name string en-US-interface-sp3

The name of an interface

key string system.button.open

The name of an interface key

Headers
Pass 724fd4b4438fba9d0c5ab89d0833e5c9
                          {"key":"new.key.one", "message":"UI text","description":"about the text","icon":"search"}

                        
                          
                        

RESPONSE

Headers

remove interface entry

REQUEST the removal of an interface entry

Parameters
name string en-US-interface-sp3

The name of an interface

key string system.button.open

The name of an interface key

Headers
Pass 724fd4b4438fba9d0c5ab89d0833e5c9
                          null

                        
                          
                        

RESPONSE

Headers