AboplanRestserviceFCGI 0.0.4.882 Linux

Program information

Program File:/srv/aboplan/rest/aboplanrestservicefcgi
Version:0.0.4.882 Linux
File Date:02.12.2025 12:24:18
Ini-File:/srv/aboplan/rest/aboplanrestservicefcgi.conf
Log-File:/var/log/aboplan/aboplanrestapifcgi1.log
Log-Level:1
Hostname:svgd-abo4-l2.svgd.local.(none)
Request URL:aboplan-l2.svgd.de
BaseURL:/aboplan-rest-api/
Locale:de_DE.UTF-8, Fallback = de
Current Time:07.12.2025 19:58:53
WADL:http://aboplan-l2.svgd.de/aboplan-rest-api/wadl?wadl
Markdown:http://aboplan-l2.svgd.de/aboplan-rest-api/markdown/

List of endpoints

Endpoint: Method: Class: Description:
/aboplan-rest-api/amialive/ GET TFpRestWorkerCheckAlive Returns "i am alive" when service is runnning
/aboplan-rest-api/serviceversion/ GET TFpRestWorkerServiceVersion Returns file version of app
/aboplan-rest-api/favicon.ico/ GET TFpRestWorker404 Returns 404 not found
/aboplan-rest-api/*/ OPTIONS TFpRestWorkerOptions Returns poosible http verbs for accessed route
/aboplan-rest-api// GET TFpRestWorkerDokuHtml Shows a website with descriptions of all endpoints
/aboplan-rest-api/doku/ GET TFpRestWorkerDokuHtml Shows a website with descriptions of all endpoints
/aboplan-rest-api/exception/ TFpRestWorkerTestExceptionJson Creates an exception (for testing)
/aboplan-rest-api/wadl/ GET TFpRestWorkerWadl Shows a generated WADL file
/aboplan-rest-api/markdown/ GET TFpRestWorkerMarkdown Generates a Markdown file
/aboplan-rest-api/v1/school/ GET TFpRestWorkerSchoolList returns all valid schools
Response Body
{
  "list" : [
    {
      "id" : "integer: internal id",
      "name" : "string(60): mame of the school"
    }
  ]
}
/aboplan-rest-api/v1/school/:sch_id/application/ GET TFpRestWorkerApplicationListSchool List all open appication orders for the shool, that the user corresponds to
RouteParam
sch_id: Integer
internal ID fo school
Request Header
Authorization: Bearer {Token}
Session Token
Response Body
{
  "applications" : [
    {
      "id" : "integer: internal application id",
      "name" : "string(60): name of the  contract partner",
      "surname" : "string(60): surname",
      "address" : "string(60): street and house number",
      "city" : "string(60): city",
      "postalcode" : "string(10): postalcode of the address",
      "birthdate" : "date: birthdate (ISO8601)",
      "schoolDuration" : "date: first day of the month after the school visit ends"
    }
  ]
}
/aboplan-rest-api/v1/school/application/ GET TFpRestWorkerApplicationSchoolOverview lists all schools with undecided applications
Request Header
Authorization: Bearer {Token}
Session Token
Response Body
[
  {
    "sch_id" : "integer: internal school id",
    "name" : "string: name of the school",
    "count" : "integer: count of open applications"
  }
]
/aboplan-rest-api/v1/school/application/:id/ POST TFpRestWorkerApplicationAcknowledgelSchool sets the appication status in the role of a school
RouteParam
id: Integer
internal application id
Request Header
Authorization: Bearer {Token}
Session Token
Request Body
{
  "schoolDuration" : "date: first day of the month after the school visit ends",
  "state" : "string: ACCEPTED, REJECTED",
  "rejectionReason" : "string: reasoning of the rejection"
}
/aboplan-rest-api/v1/schoolboard/application/ GET TFpRestWorkerApplicationListSchoolBoard List all open appication orders for the school board, that the user corresponds to
Request Header
Authorization: Bearer {Token}
Session Token
Response Body
{
  "applications" : [
    {
      "id" : "integer: internal application id",
      "name" : "string(60): name of the  contract partner",
      "surname" : "string(60): surname",
      "address" : "string(60): street and house number",
      "city" : "string(60): city",
      "postalcode" : "string(10): postalcode of the address",
      "birthdate" : "date: birthdate (ISO8601)",
      "siblings" : [
        {
          "name" : "string(60): name of the sibling",
          "surname" : "string(60): surname of the sibling",
          "sch_id" : "integer: internal id for school",
          "school" : "string(60): name of the school",
          "birthdate" : "date: birthdate of the sibling (ISO8601)",
          "abonr" : "string(30): abonnement number of the sibling"
        }
      ],
      "schoolDuration" : "date: first day of the month after the school visit ends",
      "school" : "string: name of the school"
    }
  ]
}
/aboplan-rest-api/v1/application/application/:id/ POST TFpRestWorkerApplicationAcknowledgeSchoolBoard sets the appication status in the role of school board
RouteParam
id: Integer
internal application id
Request Header
Authorization: Bearer {Token}
Session Token
Request Body
{
  "state" : "string: ACCEPTED, REJECTED",
  "decision" : "string: decision of the school board",
  "comment" : "string: reasoning in case of a rejection"
}
/aboplan-rest-api/v1/article/ GET TFpRestWorkerArticleList returns all valid articles
Response Body
{
  "list" : [
    {
      "id" : "integer: internal id",
      "name" : "string(60): name of the article"
    }
  ]
}
/aboplan-rest-api/v1/article/:articleid/ GET TFpRestWorkerArticleDetail returns details for article
RouteParam
articleid: Integer
id of the article
Response Body
{
  "id" : "integer: internal id",
  "name" : "string(60): name of the article",
  "fields" : [
    {
      "fieldname" : "string: Name of the Field",
      "mandatory" : "Boolean: True if the Field has to be filled out",
      "visible" : "Boolean: True if the Field is visible"
    }
  ]
}
/aboplan-rest-api/v1/article/:articleid/price/ GET TFpRestWorkerArticlePrice Returns price of an article
RouteParam
articleid: Integer
id of the article
QueryParam
date: Date
date on which the price should be valid. Today if not provided (ISO8601)
Response Body
{
  "price" : "Double: price of the article in euro"
}
/aboplan-rest-api/v1/application/order/ POST TFpRestWorkerApplicationOrder Post an application for an abonnement to the system
Request Body
{
  "articleid" : "integer: Internal ID for the requested tickettype",
  "abobegin" : "date: starting date for the abonnement",
  "owner" : {
    "name" : "string(60): name of the ticket owner",
    "surname" : "string(60): surname",
    "address" : "string(60): street and house number",
    "city" : "string(60): city",
    "postalcode" : "string(10): postalcode of the address",
    "gender" : "char: gender of the person (m,w,d)",
    "birthdate" : "date: birthdate (ISO8601)",
    "mail" : "string(60): email address",
    "phone" : "string(60): phone number",
    "bank" : "string(100): name of the bank",
    "iban" : "string(22): iban"
  },
  "contractpartner" : {
    "name" : "string(60): name of the  contract partner",
    "surname" : "string(60): surname",
    "address" : "string(60): street and house number",
    "city" : "string(60): city",
    "postalcode" : "string(10): postalcode of the address",
    "gender" : "char: gender of the person (m,w,d)",
    "birthdate" : "date: birthdate (ISO8601)",
    "mail" : "string(60): email address",
    "phone" : "string(60): phone number",
    "bank" : "string(100): name of the bank",
    "iban" : "string(22): iban"
  },
  "dataprotection" : "boolean: True, if the dataprotection agreement was accepted",
  "advertisement" : "boolean: True, if the 'Datenschutzeigenwerbung' was accepted",
  "research" : "boolean: True, if the 'Markt- und Meinungsforschung' was accepted",
  "tns" : "boolean: True if the Terms and Services are accepted",
  "bikevrr" : "boolean: True if additional article 'Fahhrad VRR' shall be added",
  "bikenrw" : "boolean: True if additional article 'Fahhrad NRW' shall be added",
  "firstclassvrr" : "boolean: True if additional article '1. Klasse VRR' shall be added",
  "firstclassnrw" : "boolean: True if additional article '1. Klasse NRW' shall be added",
  "school" : {
    "sch_id" : "integer: internal id for school",
    "name" : "string(60): name of the school",
    "schoolduration" : "date: first day of the month after the school visit ends"
  },
  "siblings" : [
    {
      "name" : "string(60): name of the sibling",
      "surname" : "string(60): surname of the sibling",
      "sch_id" : "integer: internal id for school",
      "school" : "string(60): name of the school",
      "birthdate" : "date: birthdate of the sibling (ISO8601)",
      "abonr" : "string(30): abonnement number of the sibling"
    }
  ],
  "socialcert" : "boolean: True if a Social Certification is attached to the application",
  "company" : {
    "name" : "string(60): name of the company",
    "contract" : "boolean: True if the contract of the company is attached to the application"
  }
}
Response Body
{
  "applicationid" : "integer: ID of the Created Application."
}
/aboplan-rest-api/v1/application/order/:applicationid/file/ PUT TFpRestWorkerApplicationOrderFile Attaches a file to an application
/aboplan-rest-api/v1/application/cancel/ POST TFpRestWorkerApplicationCancel Post an application for an abonnement cancellation to the system
Request Body
{
  "abonr" : "string(30): abonnement number",
  "aboend" : "date: ending date for the abonnement (ISO8601)",
  "owner" : {
    "name" : "string(60): name of the ticket owner",
    "surname" : "string(60): surname",
    "address" : "string(60): street and house number",
    "city" : "string(60): city",
    "postalcode" : "string(10): postalcode of the address",
    "birthdate" : "date: birthdate (ISO8601)",
    "mail" : "string(60): email address",
    "phone" : "string(60): phone number"
  },
  "contractpartner" : {
    "name" : "string(60): name of the  contract partner",
    "surname" : "string(60): surname",
    "address" : "string(60): street and house number",
    "city" : "string(60): city",
    "postalcode" : "string(10): postalcode of the address",
    "birthdate" : "date: birthdate (ISO8601)",
    "mail" : "string(60): email address",
    "phone" : "string(60): phone number"
  }
}
/aboplan-rest-api/v1/application/change/ POST TFpRestWorkerApplicationChange Post an application for an abonnement change to the system
Request Body
{
  "abonr" : "string(30): abonnement number",
  "validfrom" : "date: changes are valid from this date (ISO8601)",
  "owner" : {
    "name" : "string(60): name of the ticket owner",
    "surname" : "string(60): surname",
    "address" : "string(60): street and house number",
    "city" : "string(60): city",
    "postalcode" : "string(10): postalcode of the address",
    "birthdate" : "date: birthdate (ISO8601)",
    "mail" : "string(60): email address",
    "phone" : "string(60): phone number",
    "bank" : "string(100): name of the bank",
    "iban" : "string(22): iban"
  },
  "contractpartner" : {
    "name" : "string(60): name of the  contract partner",
    "surname" : "string(60): surname",
    "address" : "string(60): street and house number",
    "city" : "string(60): city",
    "postalcode" : "string(10): postalcode of the address",
    "birthdate" : "date: birthdate (ISO8601)",
    "mail" : "string(60): email address",
    "phone" : "string(60): phone number",
    "bank" : "string(100): name of the bank",
    "iban" : "string(22): iban"
  },
  "dataprotection" : "boolean: True, if the dataprotection agreement was accepted",
  "advertisement" : "boolean: True, if the 'Datenschutzeigenwerbung' was accepted",
  "research" : "boolean: True, if the 'Markt- und Meinungsforschung' was accepted"
}
/aboplan-rest-api/v1/checkiban/ POST TFpRestWorkerCheckIBAN Check if the attached IBAN is valid
Request Body
{
  "iban" : "string(22): iban"
}
Response Body
{
  "result" : "boolean: true, if the IBAN is valid"
}
/aboplan-rest-api/v1/accesstokens/ POST TFpRestWorkerTokenLogin Checks login credentials and returns session token if credentials are valid.
Request Body
{
  "username" : "string*: name of the user",
  "password" : "string*: password SHA1 hash base64 coded"
}
Response Body
{
  "token" : "string(38): session token for the user",
  "validityDuration" : "integer: validity duration in milliseconds of the token"
}
/aboplan-rest-api/v1/accesstokens/ DELETE TFpRestWorkerTokenInvalidate Invalidates the provided session token
Request Header
Authorization: Bearer {Token}
Session Token
/aboplan-rest-api/v1/accesstokens/change/ POST TFpRestWorkerTokenChange Changes login credentials for the provided user
Request Header
Authorization: Bearer {Token}
Session Token
Request Body
{
  "password" : "string*: new password SHA1 hash base64 coded"
}
/aboplan-rest-api/v1/accesstokens/reset/ POST TFpRestWorkerTokenReset Reset login credentials for the provided user and sends a recovery mail
Request Body
{
  "username" : "string*: name of the user"
}