Difference between revisions of "Mediawiki API"

From PKC
Jump to navigation Jump to search
Line 9: Line 9:
This scenario is to acommodate automation process on behalf of specified user. To enable the process, you will need to prepare your bot account, which can be done by visiting [Special:BotPasswords], then you decide the bot name and Mediawiki will prepare the username and password that can be use to access the API. Please see the right image for reference.
This scenario is to acommodate automation process on behalf of specified user. To enable the process, you will need to prepare your bot account, which can be done by visiting [Special:BotPasswords], then you decide the bot name and Mediawiki will prepare the username and password that can be use to access the API. Please see the right image for reference.
[[File:Bot-password.jpg|thumb|center|Bot Password setup on Mediawiki]]
[[File:Bot-password.jpg|thumb|center|Bot Password setup on Mediawiki]]
First API to call
'''First API to call'''
Type: GET
Type: GET
Endpoint: /api.php?
{| class="wikitable" style="vertical-align:bottom;"
{| class="wikitable" style="vertical-align:bottom;"
|- style="font-weight:bold;"
|- style="font-weight:bold;"
Line 36: Line 37:
             "logintoken": "ed965e6288be0ab007b8eab63637cca762eb3af1+\\"
             "logintoken": "ed965e6288be0ab007b8eab63637cca762eb3af1+\\"
         }
         }
    }
}
</pre>
'''Second API To Call'''
Type: POST
Endpoint: /api.php?
{| class="wikitable" style="vertical-align:bottom;"
|-
! key
! value
! style="font-weight:bold;" | location
|-
| action
| login
| parameter
|-
| format
| json
| parameter
|-
| lgname
| [your-bot-username]
| body
|-
| lgpassword
| [your-bot-password]
| body
|-
| lgtoken
| {from prev API}
| body
|}
Response
<pre>
{
    "login": {
        "result": "Success",
        "lguserid": 9,
        "lgusername": "[your-bot-username]"
     }
     }
}
}

Revision as of 03:25, 4 August 2022

Introduction to Mediawiki API

API stands for Application Programmer Interface, is one way of communicating through a system using a standard way of communication between applications. API Services of this mediawiki can be found in | API Documentation.

Process Flow

This process flow is to documenting on how the front-end application can communicate with instance of Mediawiki, in this context is PKC.

Login Process

Mediawiki API have two different scenarios for handling login process.

1. Using Robot Account

This scenario is to acommodate automation process on behalf of specified user. To enable the process, you will need to prepare your bot account, which can be done by visiting [Special:BotPasswords], then you decide the bot name and Mediawiki will prepare the username and password that can be use to access the API. Please see the right image for reference.

Bot Password setup on Mediawiki

First API to call Type: GET Endpoint: /api.php?

key value
action query
meta tokens
format json
type login

Response:

{
    "batchcomplete": "",
    "query": {
        "tokens": {
            "logintoken": "ed965e6288be0ab007b8eab63637cca762eb3af1+\\"
        }
    }
}

Second API To Call Type: POST Endpoint: /api.php?

key value location
action login parameter
format json parameter
lgname [your-bot-username] body
lgpassword [your-bot-password] body
lgtoken {from prev API} body

Response

{
    "login": {
        "result": "Success",
        "lguserid": 9,
        "lgusername": "[your-bot-username]"
    }
}

2. Using Your Account

This scenario is to acommodate fully interactive process to Mediawiki, and positioning Mediawiki as the backend.

Page Parse Process

1. Retrieving Page

2. Updating Page