mirror of
https://github.com/nextcloud/documentation.git
synced 2026-01-03 18:26:42 +07:00
140 lines
2.8 KiB
ReStructuredText
140 lines
2.8 KiB
ReStructuredText
=====
|
|
ExApp
|
|
=====
|
|
|
|
OCS APIs for ExApp actions.
|
|
|
|
Get ExApps list
|
|
^^^^^^^^^^^^^^^
|
|
|
|
Get list of installed ExApps.
|
|
|
|
OCS endpoint: ``GET /apps/app_api/api/v1/ex-app/{list}``
|
|
|
|
There are two ``list`` options:
|
|
|
|
- ``enabled``: list only enabled ExApps
|
|
- ``all``: list all ExApps
|
|
|
|
|
|
Response data
|
|
*************
|
|
|
|
The response data is a JSON array of ExApp objects with the following attributes:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"id": "appid of the ExApp",
|
|
"name": "name of the ExApp",
|
|
"version": "version of the ExApp",
|
|
"enabled": "true/false flag",
|
|
"last_check_time": "timestamp of last successful Nextcloud->ExApp connection check",
|
|
"system": "true/false flag indicating system ExApp",
|
|
}
|
|
|
|
Set ExApp init progress
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Used during ExApp :ref:`initialization step <ex_app_lifecycle_init>`.
|
|
|
|
.. note::
|
|
|
|
AppAPIAuth required.
|
|
|
|
OCS endpoint: ``PUT /apps/app_api/ex-app/status``
|
|
|
|
Request data
|
|
************
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"progress": "progress value",
|
|
"error": "optional, error string message"
|
|
}
|
|
|
|
Response data
|
|
*************
|
|
|
|
Returns HTTP 200 on success, HTTP 404 - on error.
|
|
|
|
Get Nextcloud URL
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
It might be necessary for ExApp to know (or update) the Nextcloud URL.
|
|
|
|
OCS endpoint: ``GET /apps/app_api/api/v1/info/nextcloud_url``
|
|
|
|
Response data
|
|
*************
|
|
|
|
Returns the base URL of the Nextcloud instance:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"base_url": "http(s)://nextcloud.example.com"
|
|
}
|
|
|
|
|
|
Make Requests to ExApps
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
There are two endpoints for making requests to ExApps:
|
|
|
|
1. Synchronous request: ``POST /apps/app_api/api/v1/ex-app/request/{appid}``
|
|
2. Synchronous request with ExApp user setup: ``POST /apps/app_api/api/v1/ex-app/request/{appid}/{userId}``
|
|
|
|
Request data
|
|
************
|
|
|
|
The request data params are the same as in ``lib/PublicFunction.php``:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"route": "relative route to ExApp API endpoint",
|
|
"method": "GET/POST/PUT/DELETE",
|
|
"params": {},
|
|
"options": {},
|
|
}
|
|
|
|
.. note::
|
|
|
|
``userId`` and ``appId`` is taken from url params
|
|
|
|
|
|
Response data
|
|
*************
|
|
|
|
Successful request to ExApp OCS data response structure is the following:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"status_code": "HTTP status code",
|
|
"body": "response data from ExApp",
|
|
"headers": "response headers from ExApp",
|
|
}
|
|
|
|
If there is an error, the response object will have only an ``error`` attribute with the error message.
|
|
|
|
|
|
Get ExApp enabled status
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Return the enabled status of the authenticated ExApp.
|
|
|
|
OCS endpoint: ``GET /apps/app_api/api/v1/ex-app/state``
|
|
|
|
.. note::
|
|
|
|
This endpoint can be called by ExApp even if it is disabled on the Nextcloud side,
|
|
and requires :ref:`AppAPIAuth <app_api_auth>`.
|
|
|
|
Response data
|
|
*************
|
|
|
|
Returns 1 if the ExApp is enabled, 0 if it is disabled.
|