View Issue Details

IDProjectCategoryView StatusLast Update
0007949Talerspecificationpublic2025-08-31 17:09
Reportersebasjm Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0007949: unified set of parameters for endpoint with pagination
Descriptioncurrent state:

delta and start
https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-orders

limit and offset
https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-transfers
https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-rewards

proposal:

if we want the result to be paginated it will be enough to have
 * offset: id of the element in the list ( equals product_id in products or order_id in orders)
 * limit: max number of elements in the list

if we need the result to be ordered by some criteria defined by the client (other than the default)
 * order: criteria name in increasing order, a hyphen symbol at the start indicate decreasing

the criteria for witch the order is possible should be explicitly indicated in the endpoint documentation (since it will match some index in the db), for example:
 - creation_time
 - last_update_time
 - execution_time

Additional parameters are considered filters and every filter has its own semantic.
Like "before", "after" in transfers or "date_s" in orders.

modification to the current API
 1 names are always use offset and limit
 2 offset is always the row id or element id
 3 order is specified as a parameter, not in the limit parameter as a hyphen

This will also allow the SPA client to have sorting columns in the table UI in the future.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0007948 informingsebasjm add pagination API for inventory management 

Activities

Christian Grothoff

2025-07-03 15:09

manager   ~0025403

We will keep the minus ("-") for in the "limit" to indicate going backwards, that's IMO still nice and already uniform.
The /private/orders endpoint already supports the new offset/limit style.
However, *bank* APIs still use those, so that still needs to be fixed.

Christian Grothoff

2025-07-03 15:28

manager   ~0025405

Bank code is now also unified in e28159fc7..316caf603

Issue History

Date ModifiedUsernameFieldChange
2023-10-05 12:47sebasjmNew Issue
2023-10-05 12:47sebasjmStatusnew => assigned
2023-10-05 12:47sebasjmAssigned To => Christian Grothoff
2023-10-05 14:43Christian GrothoffAssigned ToChristian Grothoff =>
2023-10-05 14:43Christian GrothoffStatusassigned => implementing
2024-01-12 13:02Christian GrothoffCategorymerchant backend API (HTTP specification) => specification
2024-12-07 22:15Christian GrothoffRelationship addedrelated to 0007948
2024-12-07 22:15Christian GrothoffProduct Versionpost-1.0 => git (master)
2024-12-07 22:15Christian GrothoffTarget Versionpost-1.0 => 1.5
2025-07-03 13:17Christian GrothoffAssigned To => Christian Grothoff
2025-07-03 13:17Christian GrothoffStatusimplementing => assigned
2025-07-03 15:09Christian GrothoffNote Added: 0025403
2025-07-03 15:27Christian GrothoffStatusassigned => informing
2025-07-03 15:27Christian GrothoffResolutionopen => fixed
2025-07-03 15:27Christian GrothoffFixed in Version => 1.0 stretch goals
2025-07-03 15:27Christian GrothoffTarget Version1.5 => 1.0 stretch goals
2025-07-03 15:28Christian GrothoffNote Added: 0025405
2025-08-31 17:09Christian GrothoffStatusinforming => closed