Login

1. Authenticate Requests

Generate an authentication token for all requests.

POST https://developer.tingg.africa/checkout/v2/custom/oauth/token

Every request made to the extra functions API is authorized using an access_token which is obtained by sending a client_secret and client_id to the authentication route.

📘

Auth Token Expiry

For security reasons, the authentication token expires in 120 seconds.

It is advisable, you generate a token before each request.

Header: Content-Type: application/json

Request Parameters

Parameter NameTypeDescriptionDefault Value
grant_typestringThe grant expected by the OAuth server.client_credentials
client_idstringThe API Client IDN/A
client_secretstringThe API Client SecretN/A

Example

{
    "grant_type": "client_credentials",
    "client_id": "<CLIENT_KEY>",
    "client_secret": "<CLIENT_SECRET>"
}

Response Parameters

Parameter NameTypeDescription
token_typestringThe type of token returned.
expires_inintegerToken expiry time in seconds.
access_tokenstringToken used to authorize requests.

Example

Success Response

{
    "token_type": "Bearer",
    "expires_in": 120,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE3MDFlYWNjNzE5MDAwNWViYjUyZjU3YmZjN2IwMjFhYjUxYjEyMjU1NjU2MGEwOTJjYWRiOGJiMzRlNmVlYTVmMjIyYmZlOTMyMTE1OTc1In0.eyJhdWQiOiI0NTUiLCJqdGkiOiIxNzAxZWFjYzcxOTAwMDVlYmI1MmY1N2JmYzdiMDIxYWI1MWIxMjI1NTY1NjBhMDkyY2FkYjhiYjM0ZTZlZWE1ZjIyMmJmZTkzMjExNTk3NSIsImlhdCI6MTU5ODUxMzE4MiwibmJmIjoxNTk4NTEzMTgyLCJleHAiOjE1OTg1MTMzMDIsInN1YiI6IiIsInNjb3BlcyI6W119.s9EUECRnVtcw8kWPSVr93-LVu5EBcv4nPeGAp409hEzvLUufS1hdxS9epvhWKBznG2y-ys9iaacx8aUlkNgocP9Meghrw6yY2VL8g3Y7qLmOAj3vdTAt30DCLZxLhn8bh4ihsb-Kz9FIXt4ed6bW_eWRSwLNO1JJuVi_GZNzWYXITdEa5qOlu2DJe7eKoM0r1JBQPSIjUNG01_qN2dX8HbKNlWKg2FrzuwHPJQe_w-s17OwVAdlmEuOGHVuRX0RYgC7NL1ised6k9Ba3Gz8birLZqapjx1H0gDiQxE1aT5BZL9yxuS94W8pBCiyuDumoRHJ0MmPEdAev-SiGFc9EpRC8V3LUPwYd5HFtMmEgIn0xJ-uhS5SLctQ13u3pVLdz3X_YCGsLi64Ab9zEvAN8u341LHZ41W_qsH0Hp_qB2TpEowYeaJIqdlFSFGkaVozffdEjbHBWn4wEYTdWBNKqfIz8Jv-ok5Q_kiwhgYrVaiROQAP2nukzeIitnbDvOqAxBCnMY7Z3lExKDe7ZdCkZK68IttGSoXOKtpUq8rXbb13os1pjcNEyG7K2de5ehNK0yF32pyQxleQEKPQ9FexfQvCHJ1o-8176UT127Y9KNccDhKI1AZtWcqsBeLz_TS_GY6QVBuQXwBOE2c_V1W4VBO8S30niH7dKDQRWUZDNgTk"
}

Failure Response

{
    "error": "Unauthenticated",
    "message": "Client not found"
}