rest-api icon indicating copy to clipboard operation
rest-api copied to clipboard

[META] REST API Feature descriptions

Open oliverklee opened this issue 8 years ago • 0 comments

(moved from https://github.com/phpList/phplist4-core/issues/177)

Feature descriptions

This describes some required features of phpList 4. The features will be used to accommodate inter-dependency between groups of features and related functionality.

Subscribers

  • Subscriber sign-up

    A new subscriber registers themselves

    • Required:
      • Valid subscriber data including preferences is stored
      • Subscriptions to supplied lists are created
      • If no lists are supplied then no subscription is created
      • The confirmation status is unconfirmed
      • An email confirmation request is sent to the supplied address
      • When the confirmation link is visited the subscriber is marked confirmed
    • Optional:
      • Supplied values for existing subscriber attributes are stored
      • Supplied values for non-existing subscriber attributes trigger error
  • Import subscribers

    One or more subscribers are imported by an administrator

    • Required:
      • All validated subscribers are stored
      • Existing subscribers are matched against those being imported based on email address or foreign key (where available)
      • If update subscription is requested then identified subscribers will have their data replaced where it differs
      • Return a summary of the import result with total subscribers imported, updated, duplicated, and errored
    • Optional:
      • If dry run is requested then return a summary of import results but do not store subscribers
      • If send confirmation is requested then imported subscribers are stored unconfirmed
      • If send confirmation is requested then a confirmation link is created and email sent
      • If email validation is requested then subscribers with invalid email addresses will be discarded
      • If old email retention is requested then where old and new email addresses conflict, prefer the old
      • If invalid assignation is requested then parse and apply custom email address where invalid addresses are provided

Subscriptions

To be done

Lists

To be done

oliverklee avatar Jan 05 '18 17:01 oliverklee