MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Admin

Lister les recharges effectuées

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/paymentsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1,
    \"user_id\": 14,
    \"status\": \"canceled\",
    \"filter_value\": \"0\"
}"
const url = new URL(
    "https://api.waklass.com/api/paymentsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1,
    "user_id": 14,
    "status": "canceled",
    "filter_value": "0"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/paymentsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
            'user_id' => 14,
            'status' => 'canceled',
            'filter_value' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

POST api/paymentsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

user_id   integer  optional  

The id of an existing record in the users table. Example: 14

status   string  optional  

Example: canceled

Must be one of:
  • initiated
  • pending
  • success
  • failed
  • canceled
filter_value   string.  optional  

Example: 0

Settings

Lister les variables de configuration

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/settingsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1,
    \"filter_value\": \"nihil\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/settingsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1,
    "filter_value": "nihil"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/settingsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
            'filter_value' => 'nihil',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/settingsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

filter_value   string  optional  

Example: nihil

Détails d'une variable de configuration

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/settings/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/settings/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/settings/2';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

GET api/admin/settings/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

maj de la valeur d'une variable de configuration

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/settings/vel" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"value\": 18
}"
const url = new URL(
    "https://api.waklass.com/api/admin/settings/vel"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "value": 18
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/settings/vel';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'value' => 18,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

PUT api/admin/settings/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the setting. Example: vel

Body Parameters

value   integer   

Example: 18

Statistiques

Statistiques Dashboard Admin

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/stats" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/stats"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/stats';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

GET api/admin/stats

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Deposits

Lister les recharges des étudiants

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/depositsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 12,
    \"user_id\": 12,
    \"status\": \"success\",
    \"filter_value\": \"aut\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/depositsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 12,
    "user_id": 12,
    "status": "success",
    "filter_value": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/depositsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 12,
            'user_id' => 12,
            'status' => 'success',
            'filter_value' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/depositsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

Must be at least 1. Example: 12

user_id   integer  optional  

The id of an existing record in the users table. Example: 12

status   string  optional  

Example: success

Must be one of:
  • initiated
  • pending
  • success
  • failed
  • canceled
filter_value   string  optional  

Example: aut

Afficher les details d'une recharge étudiant

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/deposits/blanditiis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/deposits/blanditiis"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/deposits/blanditiis';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

GET api/admin/deposits/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the deposit. Example: blanditiis

Withdrawals

Lister les retraits des enseignants

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/withdrawalsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 45,
    \"user_id\": 7,
    \"status\": \"pending\",
    \"filter_value\": \"itaque\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/withdrawalsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 45,
    "user_id": 7,
    "status": "pending",
    "filter_value": "itaque"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/withdrawalsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 45,
            'user_id' => 7,
            'status' => 'pending',
            'filter_value' => 'itaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/withdrawalsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

Must be at least 1. Example: 45

user_id   integer  optional  

The id of an existing record in the users table. Example: 7

status   string  optional  

Example: pending

Must be one of:
  • initiated
  • pending
  • success
  • failed
  • canceled
filter_value   string  optional  

Example: itaque

Afficher les détails d'un retrait enseignant

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/withdrawals/aut" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/withdrawals/aut"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/withdrawals/aut';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

GET api/admin/withdrawals/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the withdrawal. Example: aut

Modifier une demande de retrait

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/withdrawals/laborum" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"pending\",
    \"details\": \"doloremque\",
    \"ref\": \"voluptas\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/withdrawals/laborum"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "pending",
    "details": "doloremque",
    "ref": "voluptas"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/withdrawals/laborum';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'status' => 'pending',
            'details' => 'doloremque',
            'ref' => 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

PUT api/admin/withdrawals/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the withdrawal. Example: laborum

Body Parameters

status   string   

Example: pending

Must be one of:
  • initiated
  • pending
  • success
  • failed
  • canceled
details   string  optional  

Example: doloremque

ref   string  optional  

Example: voluptas

Support Technique

Lister les discussions avec les utilisateurs

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/rooms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/rooms"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/rooms';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": [
        {
            "uuid": "acb83edf-6627-11ef-9d00-144f8a6f9384",
            "user": {
                "id": 35,
                "name": "Rose perpetue Eone",
                "email": "eoneroseperpetue@gmail.com",
                "phone_number": ""
            },
            "last_message": null
        }
    ]
}
 

Request   

GET api/admin/rooms

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Lister les messages d'une discussion particulière des admins avec un utilisateur

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/rooms/3f23fa51-1652-3033-8ce3-ce03b215f129" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/rooms/3f23fa51-1652-3033-8ce3-ce03b215f129"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/rooms/3f23fa51-1652-3033-8ce3-ce03b215f129';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "uuid": "acb83edf-6627-11ef-9d00-144f8a6f9384",
        "user_id": 35,
        "last_message_at": "",
        "created_at": "2024-08-29T17:56:08.000000Z",
        "updated_at": "2024-08-29T17:56:08.000000Z",
        "messages": []
    }
}
 

Request   

GET api/admin/rooms/{uuid}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

uuid   string   

Example: 3f23fa51-1652-3033-8ce3-ce03b215f129

Admins

Lister les admins dans le système

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/admins" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/admins"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/admins';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": [
        {
            "id": 1,
            "name": "Admin des Admins",
            "email": "admin@example.com",
            "phone_number": null,
            "status": "active",
            "level": "su",
            "created_at": null,
            "updated_at": null
        },
        {
            "id": 7,
            "name": "Admin 2",
            "email": "admin3@example.com",
            "phone_number": "6450 54054",
            "status": "inactive",
            "level": "default",
            "created_at": "2024-09-02T07:03:45.000000Z",
            "updated_at": "2024-09-02T07:03:45.000000Z"
        },
        {
            "id": 8,
            "name": "Admin 2",
            "email": "admin4@example.com",
            "phone_number": "645054054",
            "status": "active",
            "level": "default",
            "created_at": "2024-09-02T07:06:37.000000Z",
            "updated_at": "2024-09-02T07:06:37.000000Z"
        },
        {
            "id": 9,
            "name": "Admin 2",
            "email": "admin5@example.com",
            "phone_number": "64505544054",
            "status": "active",
            "level": "default",
            "created_at": "2024-09-02T07:07:18.000000Z",
            "updated_at": "2024-09-02T07:07:18.000000Z"
        }
    ]
}
 

Request   

GET api/admin/admins

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Afficher les informations d'un Admin

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/admins/9" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/admins/9"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/admins/9';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "id": 9,
        "name": "Admin 2",
        "email": "admin5@example.com",
        "phone_number": "64505544054",
        "status": "active",
        "level": "default",
        "created_at": "2024-09-02T07:07:18.000000Z",
        "updated_at": "2024-09-02T07:07:18.000000Z"
    }
}
 

Request   

GET api/admin/admins/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

Example: 9

Ajouter un admin

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/admins" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"doloribus\",
    \"email\": \"wilber.dickinson@example.com\",
    \"password\": \"^\\\\E.G2a_7G\",
    \"phone_number\": \"tenetur\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/admins"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "doloribus",
    "email": "wilber.dickinson@example.com",
    "password": "^\\E.G2a_7G",
    "phone_number": "tenetur"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/admins';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'doloribus',
            'email' => 'wilber.dickinson@example.com',
            'password' => '^\\E.G2a_7G',
            'phone_number' => 'tenetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 201,
    "data": "Admin successfully added."
}
 

Request   

POST api/admin/admins

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: doloribus

email   string   

Must be a valid email address. Example: wilber.dickinson@example.com

password   string   

Must be at least 8 characters. Example: ^\E.G2a_7G

phone_number   string   

Example: tenetur

Modifier le statut d'un admin

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/admins/9" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"active\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/admins/9"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "active"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/admins/9';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'status' => 'active',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "message": "Admin updated successfully"
    }
}
 

Request   

PUT api/admin/admins/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

Example: 9

Body Parameters

status   string   

Example: active

Must be one of:
  • active
  • inactive

Appels audio/vidéo

Initier un appel audio/vidéo (#STUDENT)

requires authentication

L'étudiant initie l'appel et il va donc aussi générer le token que lui et l'enseignant utiliseront pour rester dans leur room privé du p.o.v de Agora

Example request:
curl --request POST \
    "https://api.waklass.com/api/call/init" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"teacher_user_id\": 42,
    \"call_type\": \"audio\"
}"
const url = new URL(
    "https://api.waklass.com/api/call/init"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "teacher_user_id": 42,
    "call_type": "audio"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/call/init';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'teacher_user_id' => 42,
            'call_type' => 'audio',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "message": "Call initiated.",
        "channel": "5e533d17-601d-482b-8afe-84e9d1d617da",
        "token": "0068378c5073a874f9db5cca26980fa2afeIADF2bSOzlbFGRrhZu4OnG9E3s1tKtlitqVOQ7JgJxT8wfxGxpoAAAAAIgAURAAAw2vpZgQAAQBTKOhmAwBTKOhmAgBTKOhmBABTKOhm"
    }
}
 

Request   

POST api/call/init

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

teacher_user_id   integer   

Example: 42

call_type   string   

Example: audio

Must be one of:
  • video
  • audio

Rejeter l'appel d'un étudiant (#TEACHER)

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/call/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_user_id\": 39
}"
const url = new URL(
    "https://api.waklass.com/api/call/reject"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_user_id": 39
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/call/reject';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'student_user_id' => 39,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": []
}
 

Request   

POST api/call/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_user_id   integer   

Example: 39

Accepter l'appel d'un étudiant (#TEACHER)

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/call/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"student_user_id\": 39,
    \"call_type\": \"video\"
}"
const url = new URL(
    "https://api.waklass.com/api/call/accept"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "student_user_id": 39,
    "call_type": "video"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/call/accept';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'student_user_id' => 39,
            'call_type' => 'video',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "transaction": {
            "service_id": 3,
            "student_id": 20,
            "teacher_id": 25,
            "plan_id": 2,
            "identifier": "dc74ac99b0182978a9ffb18db006fcfa",
            "updated_at": "2024-09-16T11:51:33.000000Z",
            "created_at": "2024-09-16T11:51:33.000000Z",
            "id": 118,
            "total_cost": 0,
            "total_duration": null,
            "teacher": {
                "id": 25,
                "name": "Sung Jeon",
                "plan_id": 2,
                "domains": "sport, dessin",
                "experience": 15,
                "availability": "toujours",
                "bio": null,
                "verified": "1",
                "created_at": "2024-04-10T12:40:06.000000Z",
                "updated_at": "2024-04-10T12:40:06.000000Z",
                "transactions_count": 64
            },
            "service": {
                "id": 3,
                "name": "VIDEO",
                "iterator": "60",
                "base_cost": "5",
                "iterator_cost": "1",
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "plan": {
                "id": 2,
                "name": "B",
                "points": 25000,
                "image_cost": 600,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            }
        },
        "service": {
            "id": 3,
            "name": "VIDEO",
            "iterator": "60",
            "base_cost": "5",
            "iterator_cost": "1",
            "created_at": "2023-10-12T08:57:54.000000Z",
            "updated_at": "2023-10-12T08:57:54.000000Z"
        },
        "channel": "5e533d17-601d-482b-8afe-84e9d1d617da",
        "token": "0068378c5073a874f9db5cca26980fa2afeIAD9XX5evvjee7SyD8sS/H6M4uMT+MsiaETsy/MPy5VP4vxGxpoAAAAAIgAhKQAAl2zpZgQAAQAnKehmAwAnKehmAgAnKehmBAAnKehm"
    }
}
 

Request   

POST api/call/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

student_user_id   integer   

Example: 39

call_type   string   

Example: video

Must be one of:
  • video
  • audio

Facturer un appel (#TEACHER)

requires authentication

Déduire le pourcentage approprié du compte de l'étudiant et l'envoyer chez l'enseignant

Example request:
curl --request POST \
    "https://api.waklass.com/api/call/bill" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"identifier\": \"dc74ac99b0182978a9ffb18db006fcfa\"
}"
const url = new URL(
    "https://api.waklass.com/api/call/bill"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "identifier": "dc74ac99b0182978a9ffb18db006fcfa"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/call/bill';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'identifier' => 'dc74ac99b0182978a9ffb18db006fcfa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": []
}
 

Example response (500):


{
    "success": false,
    "statusCode": 500,
    "message": "Impossible de facturer l'appel"
}
 

Request   

POST api/call/bill

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

identifier   string   

Example: dc74ac99b0182978a9ffb18db006fcfa

Mettre fin à un appel

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/call/end" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"room_uuid\": \"45e650e9-de6e-3533-8964-79dd0023abc9\",
    \"identifier\": \"velit\"
}"
const url = new URL(
    "https://api.waklass.com/api/call/end"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "room_uuid": "45e650e9-de6e-3533-8964-79dd0023abc9",
    "identifier": "velit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/call/end';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'room_uuid' => '45e650e9-de6e-3533-8964-79dd0023abc9',
            'identifier' => 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": []
}
 

Request   

POST api/call/end

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

room_uuid   string   

Must be a valid UUID. The uuid of an existing record in the rooms table. Example: 45e650e9-de6e-3533-8964-79dd0023abc9

identifier   string   

The identifier of an existing record in the transactions table. Example: velit

Authentication

Se connecter

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"email@example.com\",
    \"password\": \"password\",
    \"gauth_type\": \"email\",
    \"platform\": \"student\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "email@example.com",
    "password": "password",
    "gauth_type": "email",
    "platform": "student"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/login';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'email@example.com',
            'password' => 'password',
            'gauth_type' => 'email',
            'platform' => 'student',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
 

{
    "success": false,
    "statusCode": 404,
    "message": "Invalid credentials"
}
 

Request   

POST api/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string.  optional  

Example: email@example.com

password   string.  optional  

Example: password

gauth_type   string.  optional  

Example: email

platform   string.  optional  

Example: student

Mettre à jour le device_key d'un utilisateur (version mobile)

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/getToken" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"suscipit\",
    \"password\": \"est\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/getToken"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "suscipit",
    "password": "est"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/getToken';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'suscipit',
            'password' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
 

{
    "success": false,
    "statusCode": 404,
    "message": "No query results for model [App\\Models\\User]."
}
 

Request   

POST api/auth/getToken

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Example: suscipit

password   string   

Example: est

Créer un compte

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/register" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"iste\",
    \"email\": \"jazmin34@example.net\",
    \"phone_number\": \"ut\",
    \"password\": \"{6^A~S;H9y,K\",
    \"platform\": \"student\",
    \"address\": \"dolores\",
    \"city\": \"sit\",
    \"country\": \"natus\",
    \"about_me\": \"sequi\",
    \"gauth_type\": \"email\",
    \"gauth_token\": \"aut\",
    \"plan\": 20,
    \"domains\": [
        9
    ],
    \"experience\": 19,
    \"availability\": \"dicta\",
    \"bio\": \"quis\",
    \"verified\": false,
    \"level_study\": \"quia\",
    \"subjects_interest\": \"sit\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/register"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "iste",
    "email": "jazmin34@example.net",
    "phone_number": "ut",
    "password": "{6^A~S;H9y,K",
    "platform": "student",
    "address": "dolores",
    "city": "sit",
    "country": "natus",
    "about_me": "sequi",
    "gauth_type": "email",
    "gauth_token": "aut",
    "plan": 20,
    "domains": [
        9
    ],
    "experience": 19,
    "availability": "dicta",
    "bio": "quis",
    "verified": false,
    "level_study": "quia",
    "subjects_interest": "sit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/register';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'iste',
            'email' => 'jazmin34@example.net',
            'phone_number' => 'ut',
            'password' => '{6^A~S;H9y,K',
            'platform' => 'student',
            'address' => 'dolores',
            'city' => 'sit',
            'country' => 'natus',
            'about_me' => 'sequi',
            'gauth_type' => 'email',
            'gauth_token' => 'aut',
            'plan' => 20,
            'domains' => [
                9,
            ],
            'experience' => 19,
            'availability' => 'dicta',
            'bio' => 'quis',
            'verified' => false,
            'level_study' => 'quia',
            'subjects_interest' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
 

{
    "message": "The selected plan is invalid. (and 1 more error)",
    "errors": {
        "plan": [
            "The selected plan is invalid."
        ],
        "domains.0": [
            "The selected domains.0 is invalid."
        ]
    }
}
 

Request   

POST api/auth/register

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: iste

email   string   

Must be a valid email address. Example: jazmin34@example.net

phone_number   string   

Example: ut

password   string  optional  

This field is required when gauth_type is email. Must be at least 8 characters. Example: {6^A~S;H9y,K

platform   string   

Example: student

Must be one of:
  • student
  • teacher
photo   string  optional  
address   string  optional  

Example: dolores

city   string  optional  

Example: sit

country   string  optional  

Example: natus

about_me   string  optional  

Example: sequi

gauth_type   string   

Example: email

Must be one of:
  • email
  • google
  • facebook
  • apple
  • phone_number
gauth_token   string  optional  

Example: aut

plan   integer  optional  

This field is required when platform is teacher. The id of an existing record in the plans table. Example: 20

domains   integer[]   

The id of an existing record in the skills table.

experience   integer  optional  

Example: 19

availability   string  optional  

Example: dicta

bio   string  optional  

Example: quis

verified   boolean  optional  

Example: false

level_study   string  optional  

Example: quia

subjects_interest   string  optional  

Example: sit

Vérifier l'inscription d'un nouvel utilisateur avec le code reçu par mail/SMS

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/register/verify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"gottlieb.malvina@example.net\",
    \"phone_number\": \"culpa\",
    \"code\": \"bumktkfbazleebgncgi\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/register/verify"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "gottlieb.malvina@example.net",
    "phone_number": "culpa",
    "code": "bumktkfbazleebgncgi"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/register/verify';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'gottlieb.malvina@example.net',
            'phone_number' => 'culpa',
            'code' => 'bumktkfbazleebgncgi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
 

{
    "success": false,
    "statusCode": 404,
    "message": {
        "message": "User not found in our database. Please restart the process."
    }
}
 

Request   

POST api/auth/register/verify

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Example: gottlieb.malvina@example.net

phone_number   string   

Example: culpa

code   string   

Must be at least 6 characters. Example: bumktkfbazleebgncgi

Déconnecter l'utilisateur actuel

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/logout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/auth/logout"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/logout';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "message": "Déconnexion réussie"
    }
}
 

Request   

POST api/auth/logout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Reset Password

Demande de réinitialisation du mot de passe

Envoi du code par email (si l'email existe dans le système)

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/reset-password-send-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"email@example.com\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/reset-password-send-code"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "email@example.com"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/reset-password-send-code';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'email@example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
access-control-allow-origin: *
 

{
    "success": true,
    "statusCode": 200,
    "data": {
        "message": "Vérifiez votre boite mail pour le code de réinitialisation de mot de passe."
    }
}
 

Request   

POST api/auth/reset-password-send-code

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string.  optional  

Example: email@example.com

Vérification du code reçu pour réinitialiser le mot de passe

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/reset-password-verify-code" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"email@example.com\",
    \"code\": \"PDZQ96O\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/reset-password-verify-code"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "email@example.com",
    "code": "PDZQ96O"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/reset-password-verify-code';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'email@example.com',
            'code' => 'PDZQ96O',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
access-control-allow-origin: *
 

{
    "success": false,
    "statusCode": 404,
    "message": "Code invalide."
}
 

Request   

POST api/auth/reset-password-verify-code

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string.  optional  

Example: email@example.com

code   string.  optional  

Example: PDZQ96O

Réinitialisation du mot de passe

Example request:
curl --request POST \
    "https://api.waklass.com/api/auth/reset-password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"email@example.com\",
    \"password\": \"password\"
}"
const url = new URL(
    "https://api.waklass.com/api/auth/reset-password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "email@example.com",
    "password": "password"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/auth/reset-password';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'email@example.com',
            'password' => 'password',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 53
access-control-allow-origin: *
 

{
    "success": false,
    "statusCode": 404,
    "message": "Une erreur est survenue. Veuillez recommencer"
}
 

Request   

POST api/auth/reset-password

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string.  optional  

Example: email@example.com

password   string.  optional  

Example: password

Chat-Messagerie

Rooms

Lister les conversations d'un utilisateur

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/rooms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/rooms"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/rooms';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": [
        {
            "uuid": "410a22c6-113f-44a3-b52c-d9a21f4867f7",
            "agora_token": "0068378c5073a874f9db5cca26980fa2afeIAAA07bXIUJErYQJkk4RLTg/cM8AMI38sF9EGrVvSuk3RP+dT4YAAAAAIgBlHAAAnc+9ZQQAAQAtjLxlAwAtjLxlAgAtjLxlBAAtjLxl",
            "student": {
                "id": 9,
                "name": "Ngeryi Andy",
                "email": "ngeryiandy05@gmail.comm",
                "level_study": null,
                "subjects_interest": "Management",
                "photo": "https://waklass.com/uploads/profiles/image_1704679696862.jpg"
            },
            "teacher": {
                "id": 12,
                "name": "kevine Doria Wandjignou",
                "email": "wandjignoukevinedoria@gmail.com",
                "domains": "History",
                "experience": 6,
                "availability": null,
                "photo": "https://waklass.com/uploads/profiles/963C71B1-ACEB-44A9-93E2-AE15A53F6F33.jpeg"
            },
            "last_message": {
                "id": 16,
                "room_uuid": "410a22c6-113f-44a3-b52c-d9a21f4867f7",
                "sender_id": 11,
                "message": "Et j peux aussi t envoyer les photos",
                "time": "6 months before",
                "status": "read",
                "type": "message",
                "created_at": "2024-02-02T06:32:48.000000Z",
                "updated_at": "2024-02-02T08:33:25.000000Z",
                "message_link": null
            },
            "created_at": "2024-02-01T17:32:24.000000Z",
            "updated_at": "2024-02-02T06:32:48.000000Z"
        }
    ]
}
 

Request   

GET api/rooms

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Créer une nouvelle discussion (Student uniquement)

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/rooms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"teacher_id\": 22
}"
const url = new URL(
    "https://api.waklass.com/api/rooms"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "teacher_id": 22
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/rooms';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'teacher_id' => 22,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "uuid": "1f0ae95d-a91b-4871-895a-274ce4fab758",
        "agora_token": null,
        "student": {
            "id": 9,
            "name": "Ngeryi Andy",
            "email": "ngeryiandy05@gmail.comm",
            "level_study": null,
            "subjects_interest": "Management",
            "photo": "https://waklass.com/uploads/profiles/image_1704679696862.jpg"
        },
        "teacher": {
            "id": 22,
            "name": "SEGUEDIE Ronald",
            "email": "seguedieronald8@gmail.com",
            "domains": "Biologie, zootechnie",
            "experience": 3,
            "availability": null,
            "photo": "https://waklass.com/assets/images/avatars/unknown.png"
        },
        "last_message": null,
        "created_at": "2024-08-30T09:03:13.000000Z",
        "updated_at": "2024-08-30T09:03:13.000000Z"
    }
}
 

Request   

POST api/rooms

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

teacher_id   integer   

Example: 22

Afficher les messages d'une conversation

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/rooms/dab192ae-d7d7-43aa-9101-2b9482f87ebd" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/rooms/dab192ae-d7d7-43aa-9101-2b9482f87ebd"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/rooms/dab192ae-d7d7-43aa-9101-2b9482f87ebd';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": [
        {
            "id": 48,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender": {
                "id": 9,
                "name": "Ngeryi Andy",
                "email": "ngeryiandy05@gmail.comm",
                "solde": 819425,
                "level_study": null,
                "subjects_interest": "Management",
                "phone_number": null,
                "photo": "https://waklass.com/uploads/profiles/image_1704679696862.jpg",
                "address": null,
                "city": null,
                "country": null,
                "about_me": "Love reading and understanding business concepts",
                "status": "active",
                "created_at": "2024-01-27T06:57:32.000000Z",
                "updated_at": "2024-02-01T22:23:58.000000Z"
            },
            "message": "Bnjr",
            "time": "5 months before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-03-03T21:22:20.000000Z",
            "updated_at": "2024-03-03T21:22:20.000000Z",
            "message_link": null
        }
    ]
}
 

Request   

GET api/rooms/{uuid}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

uuid   string   

Example: dab192ae-d7d7-43aa-9101-2b9482f87ebd

Messages

Afficher les messages d'une conversation

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/rooms/86b3c682-3143-382e-8523-87f4a88616e9/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/rooms/86b3c682-3143-382e-8523-87f4a88616e9/messages"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/rooms/86b3c682-3143-382e-8523-87f4a88616e9/messages';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": [
        {
            "id": 48,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Bnjr",
            "time": "5 months before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-03-03T21:22:20.000000Z",
            "updated_at": "2024-03-03T21:22:20.000000Z",
            "message_link": null
        },
        {
            "id": 100,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Hello. Still there ?",
            "time": "15 minutes before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-08-30T09:24:38.000000Z",
            "updated_at": "2024-08-30T09:24:38.000000Z",
            "message_link": null
        },
        {
            "id": 101,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Hello. Still there ?",
            "time": "14 minutes before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-08-30T09:25:36.000000Z",
            "updated_at": "2024-08-30T09:25:36.000000Z",
            "message_link": null
        },
        {
            "id": 102,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Hello. Still there ?",
            "time": "2 minutes before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-08-30T09:37:40.000000Z",
            "updated_at": "2024-08-30T09:37:40.000000Z",
            "message_link": null
        },
        {
            "id": 103,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Hello. Still there ?",
            "time": "2 minutes before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-08-30T09:38:26.000000Z",
            "updated_at": "2024-08-30T09:38:26.000000Z",
            "message_link": null
        },
        {
            "id": 104,
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Hello. Still there ?",
            "time": "1 minute before",
            "status": "unread",
            "type": "message",
            "created_at": "2024-08-30T09:38:40.000000Z",
            "updated_at": "2024-08-30T09:38:40.000000Z",
            "message_link": null
        }
    ]
}
 

Request   

GET api/rooms/{uuid}/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

uuid   string   

Example: 86b3c682-3143-382e-8523-87f4a88616e9

Envoyer un message dans une discussion

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/rooms/6a1ee842-8178-33d4-b226-7984065bfa2b/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"fwoompncvcut\",
    \"type\": \"message\"
}"
const url = new URL(
    "https://api.waklass.com/api/rooms/6a1ee842-8178-33d4-b226-7984065bfa2b/messages"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "message": "fwoompncvcut",
    "type": "message"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/rooms/6a1ee842-8178-33d4-b226-7984065bfa2b/messages';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'message' => 'fwoompncvcut',
            'type' => 'message',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 201,
    "data": {
        "message": {
            "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
            "sender_id": 11,
            "message": "Hello. Still there ?",
            "status": "unread",
            "type": "message",
            "time": "0 seconds before",
            "updated_at": "2024-08-30T09:38:40.000000Z",
            "created_at": "2024-08-30T09:38:40.000000Z",
            "id": 104,
            "message_link": null
        },
        "points": "818,525"
    }
}
 

Request   

POST api/rooms/{uuid}/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

uuid   string   

Example: 6a1ee842-8178-33d4-b226-7984065bfa2b

Body Parameters

message   string   

Must not be greater than 512 characters. Example: fwoompncvcut

type   string   

Example: message

Must be one of:
  • message
  • image
  • file

Marquer un message comme lu dans une discussion

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/messages/104" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/messages/104"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/messages/104';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "id": 104,
        "room_uuid": "dab192ae-d7d7-43aa-9101-2b9482f87ebd",
        "sender_id": 11,
        "message": "Hello. Still there ?",
        "time": "2 minutes before",
        "status": "read",
        "type": "message",
        "created_at": "2024-08-30T09:38:40.000000Z",
        "updated_at": "2024-08-30T09:41:22.000000Z",
        "message_link": null
    }
}
 

Request   

GET api/messages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

Example: 104

POST api/rooms/{uuid}/messages/mobile

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/rooms/4d952f7c-8dc7-3340-b16a-bf8c61773705/messages/mobile" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"fmefuwqjnncczmnyqadg\",
    \"type\": \"image\"
}"
const url = new URL(
    "https://api.waklass.com/api/rooms/4d952f7c-8dc7-3340-b16a-bf8c61773705/messages/mobile"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "message": "fmefuwqjnncczmnyqadg",
    "type": "image"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/rooms/4d952f7c-8dc7-3340-b16a-bf8c61773705/messages/mobile';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'message' => 'fmefuwqjnncczmnyqadg',
            'type' => 'image',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

POST api/rooms/{uuid}/messages/mobile

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

uuid   string   

Example: 4d952f7c-8dc7-3340-b16a-bf8c61773705

Body Parameters

message   string   

Must not be greater than 512 characters. Example: fmefuwqjnncczmnyqadg

type   string   

Example: image

Must be one of:
  • message
  • image
  • file

CountryStateCity

Liste de pays

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/countries" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/countries"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/countries';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 50
access-control-allow-origin: *
 

[
    {
        "id": 1,
        "name": "Afghanistan",
        "iso2": "AF",
        "iso3": "AFG",
        "phonecode": "93",
        "capital": "Kabul",
        "currency": "AFN",
        "native": "افغانستان",
        "emoji": "🇦🇫"
    },
    {
        "id": 2,
        "name": "Aland Islands",
        "iso2": "AX",
        "iso3": "ALA",
        "phonecode": "+358-18",
        "capital": "Mariehamn",
        "currency": "EUR",
        "native": "Åland",
        "emoji": "🇦🇽"
    },
    {
        "id": 3,
        "name": "Albania",
        "iso2": "AL",
        "iso3": "ALB",
        "phonecode": "355",
        "capital": "Tirana",
        "currency": "ALL",
        "native": "Shqipëria",
        "emoji": "🇦🇱"
    },
    {
        "id": 4,
        "name": "Algeria",
        "iso2": "DZ",
        "iso3": "DZA",
        "phonecode": "213",
        "capital": "Algiers",
        "currency": "DZD",
        "native": "الجزائر",
        "emoji": "🇩🇿"
    },
    {
        "id": 5,
        "name": "American Samoa",
        "iso2": "AS",
        "iso3": "ASM",
        "phonecode": "+1-684",
        "capital": "Pago Pago",
        "currency": "USD",
        "native": "American Samoa",
        "emoji": "🇦🇸"
    },
    {
        "id": 6,
        "name": "Andorra",
        "iso2": "AD",
        "iso3": "AND",
        "phonecode": "376",
        "capital": "Andorra la Vella",
        "currency": "EUR",
        "native": "Andorra",
        "emoji": "🇦🇩"
    },
    {
        "id": 7,
        "name": "Angola",
        "iso2": "AO",
        "iso3": "AGO",
        "phonecode": "244",
        "capital": "Luanda",
        "currency": "AOA",
        "native": "Angola",
        "emoji": "🇦🇴"
    },
    {
        "id": 8,
        "name": "Anguilla",
        "iso2": "AI",
        "iso3": "AIA",
        "phonecode": "+1-264",
        "capital": "The Valley",
        "currency": "XCD",
        "native": "Anguilla",
        "emoji": "🇦🇮"
    },
    {
        "id": 9,
        "name": "Antarctica",
        "iso2": "AQ",
        "iso3": "ATA",
        "phonecode": "672",
        "capital": "",
        "currency": "AAD",
        "native": "Antarctica",
        "emoji": "🇦🇶"
    },
    {
        "id": 10,
        "name": "Antigua And Barbuda",
        "iso2": "AG",
        "iso3": "ATG",
        "phonecode": "+1-268",
        "capital": "St. John's",
        "currency": "XCD",
        "native": "Antigua and Barbuda",
        "emoji": "🇦🇬"
    },
    {
        "id": 11,
        "name": "Argentina",
        "iso2": "AR",
        "iso3": "ARG",
        "phonecode": "54",
        "capital": "Buenos Aires",
        "currency": "ARS",
        "native": "Argentina",
        "emoji": "🇦🇷"
    },
    {
        "id": 12,
        "name": "Armenia",
        "iso2": "AM",
        "iso3": "ARM",
        "phonecode": "374",
        "capital": "Yerevan",
        "currency": "AMD",
        "native": "Հայաստան",
        "emoji": "🇦🇲"
    },
    {
        "id": 13,
        "name": "Aruba",
        "iso2": "AW",
        "iso3": "ABW",
        "phonecode": "297",
        "capital": "Oranjestad",
        "currency": "AWG",
        "native": "Aruba",
        "emoji": "🇦🇼"
    },
    {
        "id": 14,
        "name": "Australia",
        "iso2": "AU",
        "iso3": "AUS",
        "phonecode": "61",
        "capital": "Canberra",
        "currency": "AUD",
        "native": "Australia",
        "emoji": "🇦🇺"
    },
    {
        "id": 15,
        "name": "Austria",
        "iso2": "AT",
        "iso3": "AUT",
        "phonecode": "43",
        "capital": "Vienna",
        "currency": "EUR",
        "native": "Österreich",
        "emoji": "🇦🇹"
    },
    {
        "id": 16,
        "name": "Azerbaijan",
        "iso2": "AZ",
        "iso3": "AZE",
        "phonecode": "994",
        "capital": "Baku",
        "currency": "AZN",
        "native": "Azərbaycan",
        "emoji": "🇦🇿"
    },
    {
        "id": 17,
        "name": "The Bahamas",
        "iso2": "BS",
        "iso3": "BHS",
        "phonecode": "+1-242",
        "capital": "Nassau",
        "currency": "BSD",
        "native": "Bahamas",
        "emoji": "🇧🇸"
    },
    {
        "id": 18,
        "name": "Bahrain",
        "iso2": "BH",
        "iso3": "BHR",
        "phonecode": "973",
        "capital": "Manama",
        "currency": "BHD",
        "native": "‏البحرين",
        "emoji": "🇧🇭"
    },
    {
        "id": 19,
        "name": "Bangladesh",
        "iso2": "BD",
        "iso3": "BGD",
        "phonecode": "880",
        "capital": "Dhaka",
        "currency": "BDT",
        "native": "Bangladesh",
        "emoji": "🇧🇩"
    },
    {
        "id": 20,
        "name": "Barbados",
        "iso2": "BB",
        "iso3": "BRB",
        "phonecode": "+1-246",
        "capital": "Bridgetown",
        "currency": "BBD",
        "native": "Barbados",
        "emoji": "🇧🇧"
    },
    {
        "id": 21,
        "name": "Belarus",
        "iso2": "BY",
        "iso3": "BLR",
        "phonecode": "375",
        "capital": "Minsk",
        "currency": "BYN",
        "native": "Белару́сь",
        "emoji": "🇧🇾"
    },
    {
        "id": 22,
        "name": "Belgium",
        "iso2": "BE",
        "iso3": "BEL",
        "phonecode": "32",
        "capital": "Brussels",
        "currency": "EUR",
        "native": "België",
        "emoji": "🇧🇪"
    },
    {
        "id": 23,
        "name": "Belize",
        "iso2": "BZ",
        "iso3": "BLZ",
        "phonecode": "501",
        "capital": "Belmopan",
        "currency": "BZD",
        "native": "Belize",
        "emoji": "🇧🇿"
    },
    {
        "id": 24,
        "name": "Benin",
        "iso2": "BJ",
        "iso3": "BEN",
        "phonecode": "229",
        "capital": "Porto-Novo",
        "currency": "XOF",
        "native": "Bénin",
        "emoji": "🇧🇯"
    },
    {
        "id": 25,
        "name": "Bermuda",
        "iso2": "BM",
        "iso3": "BMU",
        "phonecode": "+1-441",
        "capital": "Hamilton",
        "currency": "BMD",
        "native": "Bermuda",
        "emoji": "🇧🇲"
    },
    {
        "id": 26,
        "name": "Bhutan",
        "iso2": "BT",
        "iso3": "BTN",
        "phonecode": "975",
        "capital": "Thimphu",
        "currency": "BTN",
        "native": "ʼbrug-yul",
        "emoji": "🇧🇹"
    },
    {
        "id": 27,
        "name": "Bolivia",
        "iso2": "BO",
        "iso3": "BOL",
        "phonecode": "591",
        "capital": "Sucre",
        "currency": "BOB",
        "native": "Bolivia",
        "emoji": "🇧🇴"
    },
    {
        "id": 28,
        "name": "Bosnia and Herzegovina",
        "iso2": "BA",
        "iso3": "BIH",
        "phonecode": "387",
        "capital": "Sarajevo",
        "currency": "BAM",
        "native": "Bosna i Hercegovina",
        "emoji": "🇧🇦"
    },
    {
        "id": 29,
        "name": "Botswana",
        "iso2": "BW",
        "iso3": "BWA",
        "phonecode": "267",
        "capital": "Gaborone",
        "currency": "BWP",
        "native": "Botswana",
        "emoji": "🇧🇼"
    },
    {
        "id": 30,
        "name": "Bouvet Island",
        "iso2": "BV",
        "iso3": "BVT",
        "phonecode": "0055",
        "capital": "",
        "currency": "NOK",
        "native": "Bouvetøya",
        "emoji": "🇧🇻"
    },
    {
        "id": 31,
        "name": "Brazil",
        "iso2": "BR",
        "iso3": "BRA",
        "phonecode": "55",
        "capital": "Brasilia",
        "currency": "BRL",
        "native": "Brasil",
        "emoji": "🇧🇷"
    },
    {
        "id": 32,
        "name": "British Indian Ocean Territory",
        "iso2": "IO",
        "iso3": "IOT",
        "phonecode": "246",
        "capital": "Diego Garcia",
        "currency": "USD",
        "native": "British Indian Ocean Territory",
        "emoji": "🇮🇴"
    },
    {
        "id": 33,
        "name": "Brunei",
        "iso2": "BN",
        "iso3": "BRN",
        "phonecode": "673",
        "capital": "Bandar Seri Begawan",
        "currency": "BND",
        "native": "Negara Brunei Darussalam",
        "emoji": "🇧🇳"
    },
    {
        "id": 34,
        "name": "Bulgaria",
        "iso2": "BG",
        "iso3": "BGR",
        "phonecode": "359",
        "capital": "Sofia",
        "currency": "BGN",
        "native": "България",
        "emoji": "🇧🇬"
    },
    {
        "id": 35,
        "name": "Burkina Faso",
        "iso2": "BF",
        "iso3": "BFA",
        "phonecode": "226",
        "capital": "Ouagadougou",
        "currency": "XOF",
        "native": "Burkina Faso",
        "emoji": "🇧🇫"
    },
    {
        "id": 36,
        "name": "Burundi",
        "iso2": "BI",
        "iso3": "BDI",
        "phonecode": "257",
        "capital": "Bujumbura",
        "currency": "BIF",
        "native": "Burundi",
        "emoji": "🇧🇮"
    },
    {
        "id": 37,
        "name": "Cambodia",
        "iso2": "KH",
        "iso3": "KHM",
        "phonecode": "855",
        "capital": "Phnom Penh",
        "currency": "KHR",
        "native": "Kâmpŭchéa",
        "emoji": "🇰🇭"
    },
    {
        "id": 38,
        "name": "Cameroon",
        "iso2": "CM",
        "iso3": "CMR",
        "phonecode": "237",
        "capital": "Yaounde",
        "currency": "XAF",
        "native": "Cameroon",
        "emoji": "🇨🇲"
    },
    {
        "id": 39,
        "name": "Canada",
        "iso2": "CA",
        "iso3": "CAN",
        "phonecode": "1",
        "capital": "Ottawa",
        "currency": "CAD",
        "native": "Canada",
        "emoji": "🇨🇦"
    },
    {
        "id": 40,
        "name": "Cape Verde",
        "iso2": "CV",
        "iso3": "CPV",
        "phonecode": "238",
        "capital": "Praia",
        "currency": "CVE",
        "native": "Cabo Verde",
        "emoji": "🇨🇻"
    },
    {
        "id": 41,
        "name": "Cayman Islands",
        "iso2": "KY",
        "iso3": "CYM",
        "phonecode": "+1-345",
        "capital": "George Town",
        "currency": "KYD",
        "native": "Cayman Islands",
        "emoji": "🇰🇾"
    },
    {
        "id": 42,
        "name": "Central African Republic",
        "iso2": "CF",
        "iso3": "CAF",
        "phonecode": "236",
        "capital": "Bangui",
        "currency": "XAF",
        "native": "Ködörösêse tî Bêafrîka",
        "emoji": "🇨🇫"
    },
    {
        "id": 43,
        "name": "Chad",
        "iso2": "TD",
        "iso3": "TCD",
        "phonecode": "235",
        "capital": "N'Djamena",
        "currency": "XAF",
        "native": "Tchad",
        "emoji": "🇹🇩"
    },
    {
        "id": 44,
        "name": "Chile",
        "iso2": "CL",
        "iso3": "CHL",
        "phonecode": "56",
        "capital": "Santiago",
        "currency": "CLP",
        "native": "Chile",
        "emoji": "🇨🇱"
    },
    {
        "id": 45,
        "name": "China",
        "iso2": "CN",
        "iso3": "CHN",
        "phonecode": "86",
        "capital": "Beijing",
        "currency": "CNY",
        "native": "中国",
        "emoji": "🇨🇳"
    },
    {
        "id": 46,
        "name": "Christmas Island",
        "iso2": "CX",
        "iso3": "CXR",
        "phonecode": "61",
        "capital": "Flying Fish Cove",
        "currency": "AUD",
        "native": "Christmas Island",
        "emoji": "🇨🇽"
    },
    {
        "id": 47,
        "name": "Cocos (Keeling) Islands",
        "iso2": "CC",
        "iso3": "CCK",
        "phonecode": "61",
        "capital": "West Island",
        "currency": "AUD",
        "native": "Cocos (Keeling) Islands",
        "emoji": "🇨🇨"
    },
    {
        "id": 48,
        "name": "Colombia",
        "iso2": "CO",
        "iso3": "COL",
        "phonecode": "57",
        "capital": "Bogotá",
        "currency": "COP",
        "native": "Colombia",
        "emoji": "🇨🇴"
    },
    {
        "id": 49,
        "name": "Comoros",
        "iso2": "KM",
        "iso3": "COM",
        "phonecode": "269",
        "capital": "Moroni",
        "currency": "KMF",
        "native": "Komori",
        "emoji": "🇰🇲"
    },
    {
        "id": 50,
        "name": "Congo",
        "iso2": "CG",
        "iso3": "COG",
        "phonecode": "242",
        "capital": "Brazzaville",
        "currency": "XAF",
        "native": "République du Congo",
        "emoji": "🇨🇬"
    },
    {
        "id": 51,
        "name": "Democratic Republic of the Congo",
        "iso2": "CD",
        "iso3": "COD",
        "phonecode": "243",
        "capital": "Kinshasa",
        "currency": "CDF",
        "native": "République démocratique du Congo",
        "emoji": "🇨🇩"
    },
    {
        "id": 52,
        "name": "Cook Islands",
        "iso2": "CK",
        "iso3": "COK",
        "phonecode": "682",
        "capital": "Avarua",
        "currency": "NZD",
        "native": "Cook Islands",
        "emoji": "🇨🇰"
    },
    {
        "id": 53,
        "name": "Costa Rica",
        "iso2": "CR",
        "iso3": "CRI",
        "phonecode": "506",
        "capital": "San Jose",
        "currency": "CRC",
        "native": "Costa Rica",
        "emoji": "🇨🇷"
    },
    {
        "id": 54,
        "name": "Cote D'Ivoire (Ivory Coast)",
        "iso2": "CI",
        "iso3": "CIV",
        "phonecode": "225",
        "capital": "Yamoussoukro",
        "currency": "XOF",
        "native": null,
        "emoji": "🇨🇮"
    },
    {
        "id": 55,
        "name": "Croatia",
        "iso2": "HR",
        "iso3": "HRV",
        "phonecode": "385",
        "capital": "Zagreb",
        "currency": "HRK",
        "native": "Hrvatska",
        "emoji": "🇭🇷"
    },
    {
        "id": 56,
        "name": "Cuba",
        "iso2": "CU",
        "iso3": "CUB",
        "phonecode": "53",
        "capital": "Havana",
        "currency": "CUP",
        "native": "Cuba",
        "emoji": "🇨🇺"
    },
    {
        "id": 57,
        "name": "Cyprus",
        "iso2": "CY",
        "iso3": "CYP",
        "phonecode": "357",
        "capital": "Nicosia",
        "currency": "EUR",
        "native": "Κύπρος",
        "emoji": "🇨🇾"
    },
    {
        "id": 58,
        "name": "Czech Republic",
        "iso2": "CZ",
        "iso3": "CZE",
        "phonecode": "420",
        "capital": "Prague",
        "currency": "CZK",
        "native": "Česká republika",
        "emoji": "🇨🇿"
    },
    {
        "id": 59,
        "name": "Denmark",
        "iso2": "DK",
        "iso3": "DNK",
        "phonecode": "45",
        "capital": "Copenhagen",
        "currency": "DKK",
        "native": "Danmark",
        "emoji": "🇩🇰"
    },
    {
        "id": 60,
        "name": "Djibouti",
        "iso2": "DJ",
        "iso3": "DJI",
        "phonecode": "253",
        "capital": "Djibouti",
        "currency": "DJF",
        "native": "Djibouti",
        "emoji": "🇩🇯"
    },
    {
        "id": 61,
        "name": "Dominica",
        "iso2": "DM",
        "iso3": "DMA",
        "phonecode": "+1-767",
        "capital": "Roseau",
        "currency": "XCD",
        "native": "Dominica",
        "emoji": "🇩🇲"
    },
    {
        "id": 62,
        "name": "Dominican Republic",
        "iso2": "DO",
        "iso3": "DOM",
        "phonecode": "+1-809 and 1-829",
        "capital": "Santo Domingo",
        "currency": "DOP",
        "native": "República Dominicana",
        "emoji": "🇩🇴"
    },
    {
        "id": 63,
        "name": "East Timor",
        "iso2": "TL",
        "iso3": "TLS",
        "phonecode": "670",
        "capital": "Dili",
        "currency": "USD",
        "native": "Timor-Leste",
        "emoji": "🇹🇱"
    },
    {
        "id": 64,
        "name": "Ecuador",
        "iso2": "EC",
        "iso3": "ECU",
        "phonecode": "593",
        "capital": "Quito",
        "currency": "USD",
        "native": "Ecuador",
        "emoji": "🇪🇨"
    },
    {
        "id": 65,
        "name": "Egypt",
        "iso2": "EG",
        "iso3": "EGY",
        "phonecode": "20",
        "capital": "Cairo",
        "currency": "EGP",
        "native": "مصر‎",
        "emoji": "🇪🇬"
    },
    {
        "id": 66,
        "name": "El Salvador",
        "iso2": "SV",
        "iso3": "SLV",
        "phonecode": "503",
        "capital": "San Salvador",
        "currency": "USD",
        "native": "El Salvador",
        "emoji": "🇸🇻"
    },
    {
        "id": 67,
        "name": "Equatorial Guinea",
        "iso2": "GQ",
        "iso3": "GNQ",
        "phonecode": "240",
        "capital": "Malabo",
        "currency": "XAF",
        "native": "Guinea Ecuatorial",
        "emoji": "🇬🇶"
    },
    {
        "id": 68,
        "name": "Eritrea",
        "iso2": "ER",
        "iso3": "ERI",
        "phonecode": "291",
        "capital": "Asmara",
        "currency": "ERN",
        "native": "ኤርትራ",
        "emoji": "🇪🇷"
    },
    {
        "id": 69,
        "name": "Estonia",
        "iso2": "EE",
        "iso3": "EST",
        "phonecode": "372",
        "capital": "Tallinn",
        "currency": "EUR",
        "native": "Eesti",
        "emoji": "🇪🇪"
    },
    {
        "id": 70,
        "name": "Ethiopia",
        "iso2": "ET",
        "iso3": "ETH",
        "phonecode": "251",
        "capital": "Addis Ababa",
        "currency": "ETB",
        "native": "ኢትዮጵያ",
        "emoji": "🇪🇹"
    },
    {
        "id": 71,
        "name": "Falkland Islands",
        "iso2": "FK",
        "iso3": "FLK",
        "phonecode": "500",
        "capital": "Stanley",
        "currency": "FKP",
        "native": "Falkland Islands",
        "emoji": "🇫🇰"
    },
    {
        "id": 72,
        "name": "Faroe Islands",
        "iso2": "FO",
        "iso3": "FRO",
        "phonecode": "298",
        "capital": "Torshavn",
        "currency": "DKK",
        "native": "Føroyar",
        "emoji": "🇫🇴"
    },
    {
        "id": 73,
        "name": "Fiji Islands",
        "iso2": "FJ",
        "iso3": "FJI",
        "phonecode": "679",
        "capital": "Suva",
        "currency": "FJD",
        "native": "Fiji",
        "emoji": "🇫🇯"
    },
    {
        "id": 74,
        "name": "Finland",
        "iso2": "FI",
        "iso3": "FIN",
        "phonecode": "358",
        "capital": "Helsinki",
        "currency": "EUR",
        "native": "Suomi",
        "emoji": "🇫🇮"
    },
    {
        "id": 75,
        "name": "France",
        "iso2": "FR",
        "iso3": "FRA",
        "phonecode": "33",
        "capital": "Paris",
        "currency": "EUR",
        "native": "France",
        "emoji": "🇫🇷"
    },
    {
        "id": 76,
        "name": "French Guiana",
        "iso2": "GF",
        "iso3": "GUF",
        "phonecode": "594",
        "capital": "Cayenne",
        "currency": "EUR",
        "native": "Guyane française",
        "emoji": "🇬🇫"
    },
    {
        "id": 77,
        "name": "French Polynesia",
        "iso2": "PF",
        "iso3": "PYF",
        "phonecode": "689",
        "capital": "Papeete",
        "currency": "XPF",
        "native": "Polynésie française",
        "emoji": "🇵🇫"
    },
    {
        "id": 78,
        "name": "French Southern Territories",
        "iso2": "TF",
        "iso3": "ATF",
        "phonecode": "262",
        "capital": "Port-aux-Francais",
        "currency": "EUR",
        "native": "Territoire des Terres australes et antarctiques fr",
        "emoji": "🇹🇫"
    },
    {
        "id": 79,
        "name": "Gabon",
        "iso2": "GA",
        "iso3": "GAB",
        "phonecode": "241",
        "capital": "Libreville",
        "currency": "XAF",
        "native": "Gabon",
        "emoji": "🇬🇦"
    },
    {
        "id": 80,
        "name": "Gambia The",
        "iso2": "GM",
        "iso3": "GMB",
        "phonecode": "220",
        "capital": "Banjul",
        "currency": "GMD",
        "native": "Gambia",
        "emoji": "🇬🇲"
    },
    {
        "id": 81,
        "name": "Georgia",
        "iso2": "GE",
        "iso3": "GEO",
        "phonecode": "995",
        "capital": "Tbilisi",
        "currency": "GEL",
        "native": "საქართველო",
        "emoji": "🇬🇪"
    },
    {
        "id": 82,
        "name": "Germany",
        "iso2": "DE",
        "iso3": "DEU",
        "phonecode": "49",
        "capital": "Berlin",
        "currency": "EUR",
        "native": "Deutschland",
        "emoji": "🇩🇪"
    },
    {
        "id": 83,
        "name": "Ghana",
        "iso2": "GH",
        "iso3": "GHA",
        "phonecode": "233",
        "capital": "Accra",
        "currency": "GHS",
        "native": "Ghana",
        "emoji": "🇬🇭"
    },
    {
        "id": 84,
        "name": "Gibraltar",
        "iso2": "GI",
        "iso3": "GIB",
        "phonecode": "350",
        "capital": "Gibraltar",
        "currency": "GIP",
        "native": "Gibraltar",
        "emoji": "🇬🇮"
    },
    {
        "id": 85,
        "name": "Greece",
        "iso2": "GR",
        "iso3": "GRC",
        "phonecode": "30",
        "capital": "Athens",
        "currency": "EUR",
        "native": "Ελλάδα",
        "emoji": "🇬🇷"
    },
    {
        "id": 86,
        "name": "Greenland",
        "iso2": "GL",
        "iso3": "GRL",
        "phonecode": "299",
        "capital": "Nuuk",
        "currency": "DKK",
        "native": "Kalaallit Nunaat",
        "emoji": "🇬🇱"
    },
    {
        "id": 87,
        "name": "Grenada",
        "iso2": "GD",
        "iso3": "GRD",
        "phonecode": "+1-473",
        "capital": "St. George's",
        "currency": "XCD",
        "native": "Grenada",
        "emoji": "🇬🇩"
    },
    {
        "id": 88,
        "name": "Guadeloupe",
        "iso2": "GP",
        "iso3": "GLP",
        "phonecode": "590",
        "capital": "Basse-Terre",
        "currency": "EUR",
        "native": "Guadeloupe",
        "emoji": "🇬🇵"
    },
    {
        "id": 89,
        "name": "Guam",
        "iso2": "GU",
        "iso3": "GUM",
        "phonecode": "+1-671",
        "capital": "Hagatna",
        "currency": "USD",
        "native": "Guam",
        "emoji": "🇬🇺"
    },
    {
        "id": 90,
        "name": "Guatemala",
        "iso2": "GT",
        "iso3": "GTM",
        "phonecode": "502",
        "capital": "Guatemala City",
        "currency": "GTQ",
        "native": "Guatemala",
        "emoji": "🇬🇹"
    },
    {
        "id": 91,
        "name": "Guernsey and Alderney",
        "iso2": "GG",
        "iso3": "GGY",
        "phonecode": "+44-1481",
        "capital": "St Peter Port",
        "currency": "GBP",
        "native": "Guernsey",
        "emoji": "🇬🇬"
    },
    {
        "id": 92,
        "name": "Guinea",
        "iso2": "GN",
        "iso3": "GIN",
        "phonecode": "224",
        "capital": "Conakry",
        "currency": "GNF",
        "native": "Guinée",
        "emoji": "🇬🇳"
    },
    {
        "id": 93,
        "name": "Guinea-Bissau",
        "iso2": "GW",
        "iso3": "GNB",
        "phonecode": "245",
        "capital": "Bissau",
        "currency": "XOF",
        "native": "Guiné-Bissau",
        "emoji": "🇬🇼"
    },
    {
        "id": 94,
        "name": "Guyana",
        "iso2": "GY",
        "iso3": "GUY",
        "phonecode": "592",
        "capital": "Georgetown",
        "currency": "GYD",
        "native": "Guyana",
        "emoji": "🇬🇾"
    },
    {
        "id": 95,
        "name": "Haiti",
        "iso2": "HT",
        "iso3": "HTI",
        "phonecode": "509",
        "capital": "Port-au-Prince",
        "currency": "HTG",
        "native": "Haïti",
        "emoji": "🇭🇹"
    },
    {
        "id": 96,
        "name": "Heard Island and McDonald Islands",
        "iso2": "HM",
        "iso3": "HMD",
        "phonecode": "672",
        "capital": "",
        "currency": "AUD",
        "native": "Heard Island and McDonald Islands",
        "emoji": "🇭🇲"
    },
    {
        "id": 97,
        "name": "Honduras",
        "iso2": "HN",
        "iso3": "HND",
        "phonecode": "504",
        "capital": "Tegucigalpa",
        "currency": "HNL",
        "native": "Honduras",
        "emoji": "🇭🇳"
    },
    {
        "id": 98,
        "name": "Hong Kong S.A.R.",
        "iso2": "HK",
        "iso3": "HKG",
        "phonecode": "852",
        "capital": "Hong Kong",
        "currency": "HKD",
        "native": "香港",
        "emoji": "🇭🇰"
    },
    {
        "id": 99,
        "name": "Hungary",
        "iso2": "HU",
        "iso3": "HUN",
        "phonecode": "36",
        "capital": "Budapest",
        "currency": "HUF",
        "native": "Magyarország",
        "emoji": "🇭🇺"
    },
    {
        "id": 100,
        "name": "Iceland",
        "iso2": "IS",
        "iso3": "ISL",
        "phonecode": "354",
        "capital": "Reykjavik",
        "currency": "ISK",
        "native": "Ísland",
        "emoji": "🇮🇸"
    },
    {
        "id": 101,
        "name": "India",
        "iso2": "IN",
        "iso3": "IND",
        "phonecode": "91",
        "capital": "New Delhi",
        "currency": "INR",
        "native": "भारत",
        "emoji": "🇮🇳"
    },
    {
        "id": 102,
        "name": "Indonesia",
        "iso2": "ID",
        "iso3": "IDN",
        "phonecode": "62",
        "capital": "Jakarta",
        "currency": "IDR",
        "native": "Indonesia",
        "emoji": "🇮🇩"
    },
    {
        "id": 103,
        "name": "Iran",
        "iso2": "IR",
        "iso3": "IRN",
        "phonecode": "98",
        "capital": "Tehran",
        "currency": "IRR",
        "native": "ایران",
        "emoji": "🇮🇷"
    },
    {
        "id": 104,
        "name": "Iraq",
        "iso2": "IQ",
        "iso3": "IRQ",
        "phonecode": "964",
        "capital": "Baghdad",
        "currency": "IQD",
        "native": "العراق",
        "emoji": "🇮🇶"
    },
    {
        "id": 105,
        "name": "Ireland",
        "iso2": "IE",
        "iso3": "IRL",
        "phonecode": "353",
        "capital": "Dublin",
        "currency": "EUR",
        "native": "Éire",
        "emoji": "🇮🇪"
    },
    {
        "id": 106,
        "name": "Israel",
        "iso2": "IL",
        "iso3": "ISR",
        "phonecode": "972",
        "capital": "Jerusalem",
        "currency": "ILS",
        "native": "יִשְׂרָאֵל",
        "emoji": "🇮🇱"
    },
    {
        "id": 107,
        "name": "Italy",
        "iso2": "IT",
        "iso3": "ITA",
        "phonecode": "39",
        "capital": "Rome",
        "currency": "EUR",
        "native": "Italia",
        "emoji": "🇮🇹"
    },
    {
        "id": 108,
        "name": "Jamaica",
        "iso2": "JM",
        "iso3": "JAM",
        "phonecode": "+1-876",
        "capital": "Kingston",
        "currency": "JMD",
        "native": "Jamaica",
        "emoji": "🇯🇲"
    },
    {
        "id": 109,
        "name": "Japan",
        "iso2": "JP",
        "iso3": "JPN",
        "phonecode": "81",
        "capital": "Tokyo",
        "currency": "JPY",
        "native": "日本",
        "emoji": "🇯🇵"
    },
    {
        "id": 110,
        "name": "Jersey",
        "iso2": "JE",
        "iso3": "JEY",
        "phonecode": "+44-1534",
        "capital": "Saint Helier",
        "currency": "GBP",
        "native": "Jersey",
        "emoji": "🇯🇪"
    },
    {
        "id": 111,
        "name": "Jordan",
        "iso2": "JO",
        "iso3": "JOR",
        "phonecode": "962",
        "capital": "Amman",
        "currency": "JOD",
        "native": "الأردن",
        "emoji": "🇯🇴"
    },
    {
        "id": 112,
        "name": "Kazakhstan",
        "iso2": "KZ",
        "iso3": "KAZ",
        "phonecode": "7",
        "capital": "Astana",
        "currency": "KZT",
        "native": "Қазақстан",
        "emoji": "🇰🇿"
    },
    {
        "id": 113,
        "name": "Kenya",
        "iso2": "KE",
        "iso3": "KEN",
        "phonecode": "254",
        "capital": "Nairobi",
        "currency": "KES",
        "native": "Kenya",
        "emoji": "🇰🇪"
    },
    {
        "id": 114,
        "name": "Kiribati",
        "iso2": "KI",
        "iso3": "KIR",
        "phonecode": "686",
        "capital": "Tarawa",
        "currency": "AUD",
        "native": "Kiribati",
        "emoji": "🇰🇮"
    },
    {
        "id": 115,
        "name": "North Korea",
        "iso2": "KP",
        "iso3": "PRK",
        "phonecode": "850",
        "capital": "Pyongyang",
        "currency": "KPW",
        "native": "북한",
        "emoji": "🇰🇵"
    },
    {
        "id": 116,
        "name": "South Korea",
        "iso2": "KR",
        "iso3": "KOR",
        "phonecode": "82",
        "capital": "Seoul",
        "currency": "KRW",
        "native": "대한민국",
        "emoji": "🇰🇷"
    },
    {
        "id": 117,
        "name": "Kuwait",
        "iso2": "KW",
        "iso3": "KWT",
        "phonecode": "965",
        "capital": "Kuwait City",
        "currency": "KWD",
        "native": "الكويت",
        "emoji": "🇰🇼"
    },
    {
        "id": 118,
        "name": "Kyrgyzstan",
        "iso2": "KG",
        "iso3": "KGZ",
        "phonecode": "996",
        "capital": "Bishkek",
        "currency": "KGS",
        "native": "Кыргызстан",
        "emoji": "🇰🇬"
    },
    {
        "id": 119,
        "name": "Laos",
        "iso2": "LA",
        "iso3": "LAO",
        "phonecode": "856",
        "capital": "Vientiane",
        "currency": "LAK",
        "native": "ສປປລາວ",
        "emoji": "🇱🇦"
    },
    {
        "id": 120,
        "name": "Latvia",
        "iso2": "LV",
        "iso3": "LVA",
        "phonecode": "371",
        "capital": "Riga",
        "currency": "EUR",
        "native": "Latvija",
        "emoji": "🇱🇻"
    },
    {
        "id": 121,
        "name": "Lebanon",
        "iso2": "LB",
        "iso3": "LBN",
        "phonecode": "961",
        "capital": "Beirut",
        "currency": "LBP",
        "native": "لبنان",
        "emoji": "🇱🇧"
    },
    {
        "id": 122,
        "name": "Lesotho",
        "iso2": "LS",
        "iso3": "LSO",
        "phonecode": "266",
        "capital": "Maseru",
        "currency": "LSL",
        "native": "Lesotho",
        "emoji": "🇱🇸"
    },
    {
        "id": 123,
        "name": "Liberia",
        "iso2": "LR",
        "iso3": "LBR",
        "phonecode": "231",
        "capital": "Monrovia",
        "currency": "LRD",
        "native": "Liberia",
        "emoji": "🇱🇷"
    },
    {
        "id": 124,
        "name": "Libya",
        "iso2": "LY",
        "iso3": "LBY",
        "phonecode": "218",
        "capital": "Tripolis",
        "currency": "LYD",
        "native": "‏ليبيا",
        "emoji": "🇱🇾"
    },
    {
        "id": 125,
        "name": "Liechtenstein",
        "iso2": "LI",
        "iso3": "LIE",
        "phonecode": "423",
        "capital": "Vaduz",
        "currency": "CHF",
        "native": "Liechtenstein",
        "emoji": "🇱🇮"
    },
    {
        "id": 126,
        "name": "Lithuania",
        "iso2": "LT",
        "iso3": "LTU",
        "phonecode": "370",
        "capital": "Vilnius",
        "currency": "EUR",
        "native": "Lietuva",
        "emoji": "🇱🇹"
    },
    {
        "id": 127,
        "name": "Luxembourg",
        "iso2": "LU",
        "iso3": "LUX",
        "phonecode": "352",
        "capital": "Luxembourg",
        "currency": "EUR",
        "native": "Luxembourg",
        "emoji": "🇱🇺"
    },
    {
        "id": 128,
        "name": "Macau S.A.R.",
        "iso2": "MO",
        "iso3": "MAC",
        "phonecode": "853",
        "capital": "Macao",
        "currency": "MOP",
        "native": "澳門",
        "emoji": "🇲🇴"
    },
    {
        "id": 129,
        "name": "North Macedonia",
        "iso2": "MK",
        "iso3": "MKD",
        "phonecode": "389",
        "capital": "Skopje",
        "currency": "MKD",
        "native": "Северна Македонија",
        "emoji": "🇲🇰"
    },
    {
        "id": 130,
        "name": "Madagascar",
        "iso2": "MG",
        "iso3": "MDG",
        "phonecode": "261",
        "capital": "Antananarivo",
        "currency": "MGA",
        "native": "Madagasikara",
        "emoji": "🇲🇬"
    },
    {
        "id": 131,
        "name": "Malawi",
        "iso2": "MW",
        "iso3": "MWI",
        "phonecode": "265",
        "capital": "Lilongwe",
        "currency": "MWK",
        "native": "Malawi",
        "emoji": "🇲🇼"
    },
    {
        "id": 132,
        "name": "Malaysia",
        "iso2": "MY",
        "iso3": "MYS",
        "phonecode": "60",
        "capital": "Kuala Lumpur",
        "currency": "MYR",
        "native": "Malaysia",
        "emoji": "🇲🇾"
    },
    {
        "id": 133,
        "name": "Maldives",
        "iso2": "MV",
        "iso3": "MDV",
        "phonecode": "960",
        "capital": "Male",
        "currency": "MVR",
        "native": "Maldives",
        "emoji": "🇲🇻"
    },
    {
        "id": 134,
        "name": "Mali",
        "iso2": "ML",
        "iso3": "MLI",
        "phonecode": "223",
        "capital": "Bamako",
        "currency": "XOF",
        "native": "Mali",
        "emoji": "🇲🇱"
    },
    {
        "id": 135,
        "name": "Malta",
        "iso2": "MT",
        "iso3": "MLT",
        "phonecode": "356",
        "capital": "Valletta",
        "currency": "EUR",
        "native": "Malta",
        "emoji": "🇲🇹"
    },
    {
        "id": 136,
        "name": "Man (Isle of)",
        "iso2": "IM",
        "iso3": "IMN",
        "phonecode": "+44-1624",
        "capital": "Douglas, Isle of Man",
        "currency": "GBP",
        "native": "Isle of Man",
        "emoji": "🇮🇲"
    },
    {
        "id": 137,
        "name": "Marshall Islands",
        "iso2": "MH",
        "iso3": "MHL",
        "phonecode": "692",
        "capital": "Majuro",
        "currency": "USD",
        "native": "M̧ajeļ",
        "emoji": "🇲🇭"
    },
    {
        "id": 138,
        "name": "Martinique",
        "iso2": "MQ",
        "iso3": "MTQ",
        "phonecode": "596",
        "capital": "Fort-de-France",
        "currency": "EUR",
        "native": "Martinique",
        "emoji": "🇲🇶"
    },
    {
        "id": 139,
        "name": "Mauritania",
        "iso2": "MR",
        "iso3": "MRT",
        "phonecode": "222",
        "capital": "Nouakchott",
        "currency": "MRO",
        "native": "موريتانيا",
        "emoji": "🇲🇷"
    },
    {
        "id": 140,
        "name": "Mauritius",
        "iso2": "MU",
        "iso3": "MUS",
        "phonecode": "230",
        "capital": "Port Louis",
        "currency": "MUR",
        "native": "Maurice",
        "emoji": "🇲🇺"
    },
    {
        "id": 141,
        "name": "Mayotte",
        "iso2": "YT",
        "iso3": "MYT",
        "phonecode": "262",
        "capital": "Mamoudzou",
        "currency": "EUR",
        "native": "Mayotte",
        "emoji": "🇾🇹"
    },
    {
        "id": 142,
        "name": "Mexico",
        "iso2": "MX",
        "iso3": "MEX",
        "phonecode": "52",
        "capital": "Ciudad de México",
        "currency": "MXN",
        "native": "México",
        "emoji": "🇲🇽"
    },
    {
        "id": 143,
        "name": "Micronesia",
        "iso2": "FM",
        "iso3": "FSM",
        "phonecode": "691",
        "capital": "Palikir",
        "currency": "USD",
        "native": "Micronesia",
        "emoji": "🇫🇲"
    },
    {
        "id": 144,
        "name": "Moldova",
        "iso2": "MD",
        "iso3": "MDA",
        "phonecode": "373",
        "capital": "Chisinau",
        "currency": "MDL",
        "native": "Moldova",
        "emoji": "🇲🇩"
    },
    {
        "id": 145,
        "name": "Monaco",
        "iso2": "MC",
        "iso3": "MCO",
        "phonecode": "377",
        "capital": "Monaco",
        "currency": "EUR",
        "native": "Monaco",
        "emoji": "🇲🇨"
    },
    {
        "id": 146,
        "name": "Mongolia",
        "iso2": "MN",
        "iso3": "MNG",
        "phonecode": "976",
        "capital": "Ulan Bator",
        "currency": "MNT",
        "native": "Монгол улс",
        "emoji": "🇲🇳"
    },
    {
        "id": 147,
        "name": "Montenegro",
        "iso2": "ME",
        "iso3": "MNE",
        "phonecode": "382",
        "capital": "Podgorica",
        "currency": "EUR",
        "native": "Црна Гора",
        "emoji": "🇲🇪"
    },
    {
        "id": 148,
        "name": "Montserrat",
        "iso2": "MS",
        "iso3": "MSR",
        "phonecode": "+1-664",
        "capital": "Plymouth",
        "currency": "XCD",
        "native": "Montserrat",
        "emoji": "🇲🇸"
    },
    {
        "id": 149,
        "name": "Morocco",
        "iso2": "MA",
        "iso3": "MAR",
        "phonecode": "212",
        "capital": "Rabat",
        "currency": "MAD",
        "native": "المغرب",
        "emoji": "🇲🇦"
    },
    {
        "id": 150,
        "name": "Mozambique",
        "iso2": "MZ",
        "iso3": "MOZ",
        "phonecode": "258",
        "capital": "Maputo",
        "currency": "MZN",
        "native": "Moçambique",
        "emoji": "🇲🇿"
    },
    {
        "id": 151,
        "name": "Myanmar",
        "iso2": "MM",
        "iso3": "MMR",
        "phonecode": "95",
        "capital": "Nay Pyi Taw",
        "currency": "MMK",
        "native": "မြန်မာ",
        "emoji": "🇲🇲"
    },
    {
        "id": 152,
        "name": "Namibia",
        "iso2": "NA",
        "iso3": "NAM",
        "phonecode": "264",
        "capital": "Windhoek",
        "currency": "NAD",
        "native": "Namibia",
        "emoji": "🇳🇦"
    },
    {
        "id": 153,
        "name": "Nauru",
        "iso2": "NR",
        "iso3": "NRU",
        "phonecode": "674",
        "capital": "Yaren",
        "currency": "AUD",
        "native": "Nauru",
        "emoji": "🇳🇷"
    },
    {
        "id": 154,
        "name": "Nepal",
        "iso2": "NP",
        "iso3": "NPL",
        "phonecode": "977",
        "capital": "Kathmandu",
        "currency": "NPR",
        "native": "नपल",
        "emoji": "🇳🇵"
    },
    {
        "id": 155,
        "name": "Bonaire, Sint Eustatius and Saba",
        "iso2": "BQ",
        "iso3": "BES",
        "phonecode": "599",
        "capital": "Kralendijk",
        "currency": "USD",
        "native": "Caribisch Nederland",
        "emoji": "🇧🇶"
    },
    {
        "id": 156,
        "name": "Netherlands",
        "iso2": "NL",
        "iso3": "NLD",
        "phonecode": "31",
        "capital": "Amsterdam",
        "currency": "EUR",
        "native": "Nederland",
        "emoji": "🇳🇱"
    },
    {
        "id": 157,
        "name": "New Caledonia",
        "iso2": "NC",
        "iso3": "NCL",
        "phonecode": "687",
        "capital": "Noumea",
        "currency": "XPF",
        "native": "Nouvelle-Calédonie",
        "emoji": "🇳🇨"
    },
    {
        "id": 158,
        "name": "New Zealand",
        "iso2": "NZ",
        "iso3": "NZL",
        "phonecode": "64",
        "capital": "Wellington",
        "currency": "NZD",
        "native": "New Zealand",
        "emoji": "🇳🇿"
    },
    {
        "id": 159,
        "name": "Nicaragua",
        "iso2": "NI",
        "iso3": "NIC",
        "phonecode": "505",
        "capital": "Managua",
        "currency": "NIO",
        "native": "Nicaragua",
        "emoji": "🇳🇮"
    },
    {
        "id": 160,
        "name": "Niger",
        "iso2": "NE",
        "iso3": "NER",
        "phonecode": "227",
        "capital": "Niamey",
        "currency": "XOF",
        "native": "Niger",
        "emoji": "🇳🇪"
    },
    {
        "id": 161,
        "name": "Nigeria",
        "iso2": "NG",
        "iso3": "NGA",
        "phonecode": "234",
        "capital": "Abuja",
        "currency": "NGN",
        "native": "Nigeria",
        "emoji": "🇳🇬"
    },
    {
        "id": 162,
        "name": "Niue",
        "iso2": "NU",
        "iso3": "NIU",
        "phonecode": "683",
        "capital": "Alofi",
        "currency": "NZD",
        "native": "Niuē",
        "emoji": "🇳🇺"
    },
    {
        "id": 163,
        "name": "Norfolk Island",
        "iso2": "NF",
        "iso3": "NFK",
        "phonecode": "672",
        "capital": "Kingston",
        "currency": "AUD",
        "native": "Norfolk Island",
        "emoji": "🇳🇫"
    },
    {
        "id": 164,
        "name": "Northern Mariana Islands",
        "iso2": "MP",
        "iso3": "MNP",
        "phonecode": "+1-670",
        "capital": "Saipan",
        "currency": "USD",
        "native": "Northern Mariana Islands",
        "emoji": "🇲🇵"
    },
    {
        "id": 165,
        "name": "Norway",
        "iso2": "NO",
        "iso3": "NOR",
        "phonecode": "47",
        "capital": "Oslo",
        "currency": "NOK",
        "native": "Norge",
        "emoji": "🇳🇴"
    },
    {
        "id": 166,
        "name": "Oman",
        "iso2": "OM",
        "iso3": "OMN",
        "phonecode": "968",
        "capital": "Muscat",
        "currency": "OMR",
        "native": "عمان",
        "emoji": "🇴🇲"
    },
    {
        "id": 167,
        "name": "Pakistan",
        "iso2": "PK",
        "iso3": "PAK",
        "phonecode": "92",
        "capital": "Islamabad",
        "currency": "PKR",
        "native": "Pakistan",
        "emoji": "🇵🇰"
    },
    {
        "id": 168,
        "name": "Palau",
        "iso2": "PW",
        "iso3": "PLW",
        "phonecode": "680",
        "capital": "Melekeok",
        "currency": "USD",
        "native": "Palau",
        "emoji": "🇵🇼"
    },
    {
        "id": 169,
        "name": "Palestinian Territory Occupied",
        "iso2": "PS",
        "iso3": "PSE",
        "phonecode": "970",
        "capital": "East Jerusalem",
        "currency": "ILS",
        "native": "فلسطين",
        "emoji": "🇵🇸"
    },
    {
        "id": 170,
        "name": "Panama",
        "iso2": "PA",
        "iso3": "PAN",
        "phonecode": "507",
        "capital": "Panama City",
        "currency": "PAB",
        "native": "Panamá",
        "emoji": "🇵🇦"
    },
    {
        "id": 171,
        "name": "Papua new Guinea",
        "iso2": "PG",
        "iso3": "PNG",
        "phonecode": "675",
        "capital": "Port Moresby",
        "currency": "PGK",
        "native": "Papua Niugini",
        "emoji": "🇵🇬"
    },
    {
        "id": 172,
        "name": "Paraguay",
        "iso2": "PY",
        "iso3": "PRY",
        "phonecode": "595",
        "capital": "Asuncion",
        "currency": "PYG",
        "native": "Paraguay",
        "emoji": "🇵🇾"
    },
    {
        "id": 173,
        "name": "Peru",
        "iso2": "PE",
        "iso3": "PER",
        "phonecode": "51",
        "capital": "Lima",
        "currency": "PEN",
        "native": "Perú",
        "emoji": "🇵🇪"
    },
    {
        "id": 174,
        "name": "Philippines",
        "iso2": "PH",
        "iso3": "PHL",
        "phonecode": "63",
        "capital": "Manila",
        "currency": "PHP",
        "native": "Pilipinas",
        "emoji": "🇵🇭"
    },
    {
        "id": 175,
        "name": "Pitcairn Island",
        "iso2": "PN",
        "iso3": "PCN",
        "phonecode": "870",
        "capital": "Adamstown",
        "currency": "NZD",
        "native": "Pitcairn Islands",
        "emoji": "🇵🇳"
    },
    {
        "id": 176,
        "name": "Poland",
        "iso2": "PL",
        "iso3": "POL",
        "phonecode": "48",
        "capital": "Warsaw",
        "currency": "PLN",
        "native": "Polska",
        "emoji": "🇵🇱"
    },
    {
        "id": 177,
        "name": "Portugal",
        "iso2": "PT",
        "iso3": "PRT",
        "phonecode": "351",
        "capital": "Lisbon",
        "currency": "EUR",
        "native": "Portugal",
        "emoji": "🇵🇹"
    },
    {
        "id": 178,
        "name": "Puerto Rico",
        "iso2": "PR",
        "iso3": "PRI",
        "phonecode": "+1-787 and 1-939",
        "capital": "San Juan",
        "currency": "USD",
        "native": "Puerto Rico",
        "emoji": "🇵🇷"
    },
    {
        "id": 179,
        "name": "Qatar",
        "iso2": "QA",
        "iso3": "QAT",
        "phonecode": "974",
        "capital": "Doha",
        "currency": "QAR",
        "native": "قطر",
        "emoji": "🇶🇦"
    },
    {
        "id": 180,
        "name": "Reunion",
        "iso2": "RE",
        "iso3": "REU",
        "phonecode": "262",
        "capital": "Saint-Denis",
        "currency": "EUR",
        "native": "La Réunion",
        "emoji": "🇷🇪"
    },
    {
        "id": 181,
        "name": "Romania",
        "iso2": "RO",
        "iso3": "ROU",
        "phonecode": "40",
        "capital": "Bucharest",
        "currency": "RON",
        "native": "România",
        "emoji": "🇷🇴"
    },
    {
        "id": 182,
        "name": "Russia",
        "iso2": "RU",
        "iso3": "RUS",
        "phonecode": "7",
        "capital": "Moscow",
        "currency": "RUB",
        "native": "Россия",
        "emoji": "🇷🇺"
    },
    {
        "id": 183,
        "name": "Rwanda",
        "iso2": "RW",
        "iso3": "RWA",
        "phonecode": "250",
        "capital": "Kigali",
        "currency": "RWF",
        "native": "Rwanda",
        "emoji": "🇷🇼"
    },
    {
        "id": 184,
        "name": "Saint Helena",
        "iso2": "SH",
        "iso3": "SHN",
        "phonecode": "290",
        "capital": "Jamestown",
        "currency": "SHP",
        "native": "Saint Helena",
        "emoji": "🇸🇭"
    },
    {
        "id": 185,
        "name": "Saint Kitts And Nevis",
        "iso2": "KN",
        "iso3": "KNA",
        "phonecode": "+1-869",
        "capital": "Basseterre",
        "currency": "XCD",
        "native": "Saint Kitts and Nevis",
        "emoji": "🇰🇳"
    },
    {
        "id": 186,
        "name": "Saint Lucia",
        "iso2": "LC",
        "iso3": "LCA",
        "phonecode": "+1-758",
        "capital": "Castries",
        "currency": "XCD",
        "native": "Saint Lucia",
        "emoji": "🇱🇨"
    },
    {
        "id": 187,
        "name": "Saint Pierre and Miquelon",
        "iso2": "PM",
        "iso3": "SPM",
        "phonecode": "508",
        "capital": "Saint-Pierre",
        "currency": "EUR",
        "native": "Saint-Pierre-et-Miquelon",
        "emoji": "🇵🇲"
    },
    {
        "id": 188,
        "name": "Saint Vincent And The Grenadines",
        "iso2": "VC",
        "iso3": "VCT",
        "phonecode": "+1-784",
        "capital": "Kingstown",
        "currency": "XCD",
        "native": "Saint Vincent and the Grenadines",
        "emoji": "🇻🇨"
    },
    {
        "id": 189,
        "name": "Saint-Barthelemy",
        "iso2": "BL",
        "iso3": "BLM",
        "phonecode": "590",
        "capital": "Gustavia",
        "currency": "EUR",
        "native": "Saint-Barthélemy",
        "emoji": "🇧🇱"
    },
    {
        "id": 190,
        "name": "Saint-Martin (French part)",
        "iso2": "MF",
        "iso3": "MAF",
        "phonecode": "590",
        "capital": "Marigot",
        "currency": "EUR",
        "native": "Saint-Martin",
        "emoji": "🇲🇫"
    },
    {
        "id": 191,
        "name": "Samoa",
        "iso2": "WS",
        "iso3": "WSM",
        "phonecode": "685",
        "capital": "Apia",
        "currency": "WST",
        "native": "Samoa",
        "emoji": "🇼🇸"
    },
    {
        "id": 192,
        "name": "San Marino",
        "iso2": "SM",
        "iso3": "SMR",
        "phonecode": "378",
        "capital": "San Marino",
        "currency": "EUR",
        "native": "San Marino",
        "emoji": "🇸🇲"
    },
    {
        "id": 193,
        "name": "Sao Tome and Principe",
        "iso2": "ST",
        "iso3": "STP",
        "phonecode": "239",
        "capital": "Sao Tome",
        "currency": "STD",
        "native": "São Tomé e Príncipe",
        "emoji": "🇸🇹"
    },
    {
        "id": 194,
        "name": "Saudi Arabia",
        "iso2": "SA",
        "iso3": "SAU",
        "phonecode": "966",
        "capital": "Riyadh",
        "currency": "SAR",
        "native": "المملكة العربية السعودية",
        "emoji": "🇸🇦"
    },
    {
        "id": 195,
        "name": "Senegal",
        "iso2": "SN",
        "iso3": "SEN",
        "phonecode": "221",
        "capital": "Dakar",
        "currency": "XOF",
        "native": "Sénégal",
        "emoji": "🇸🇳"
    },
    {
        "id": 196,
        "name": "Serbia",
        "iso2": "RS",
        "iso3": "SRB",
        "phonecode": "381",
        "capital": "Belgrade",
        "currency": "RSD",
        "native": "Србија",
        "emoji": "🇷🇸"
    },
    {
        "id": 197,
        "name": "Seychelles",
        "iso2": "SC",
        "iso3": "SYC",
        "phonecode": "248",
        "capital": "Victoria",
        "currency": "SCR",
        "native": "Seychelles",
        "emoji": "🇸🇨"
    },
    {
        "id": 198,
        "name": "Sierra Leone",
        "iso2": "SL",
        "iso3": "SLE",
        "phonecode": "232",
        "capital": "Freetown",
        "currency": "SLL",
        "native": "Sierra Leone",
        "emoji": "🇸🇱"
    },
    {
        "id": 199,
        "name": "Singapore",
        "iso2": "SG",
        "iso3": "SGP",
        "phonecode": "65",
        "capital": "Singapur",
        "currency": "SGD",
        "native": "Singapore",
        "emoji": "🇸🇬"
    },
    {
        "id": 200,
        "name": "Slovakia",
        "iso2": "SK",
        "iso3": "SVK",
        "phonecode": "421",
        "capital": "Bratislava",
        "currency": "EUR",
        "native": "Slovensko",
        "emoji": "🇸🇰"
    },
    {
        "id": 201,
        "name": "Slovenia",
        "iso2": "SI",
        "iso3": "SVN",
        "phonecode": "386",
        "capital": "Ljubljana",
        "currency": "EUR",
        "native": "Slovenija",
        "emoji": "🇸🇮"
    },
    {
        "id": 202,
        "name": "Solomon Islands",
        "iso2": "SB",
        "iso3": "SLB",
        "phonecode": "677",
        "capital": "Honiara",
        "currency": "SBD",
        "native": "Solomon Islands",
        "emoji": "🇸🇧"
    },
    {
        "id": 203,
        "name": "Somalia",
        "iso2": "SO",
        "iso3": "SOM",
        "phonecode": "252",
        "capital": "Mogadishu",
        "currency": "SOS",
        "native": "Soomaaliya",
        "emoji": "🇸🇴"
    },
    {
        "id": 204,
        "name": "South Africa",
        "iso2": "ZA",
        "iso3": "ZAF",
        "phonecode": "27",
        "capital": "Pretoria",
        "currency": "ZAR",
        "native": "South Africa",
        "emoji": "🇿🇦"
    },
    {
        "id": 205,
        "name": "South Georgia",
        "iso2": "GS",
        "iso3": "SGS",
        "phonecode": "500",
        "capital": "Grytviken",
        "currency": "GBP",
        "native": "South Georgia",
        "emoji": "🇬🇸"
    },
    {
        "id": 206,
        "name": "South Sudan",
        "iso2": "SS",
        "iso3": "SSD",
        "phonecode": "211",
        "capital": "Juba",
        "currency": "SSP",
        "native": "South Sudan",
        "emoji": "🇸🇸"
    },
    {
        "id": 207,
        "name": "Spain",
        "iso2": "ES",
        "iso3": "ESP",
        "phonecode": "34",
        "capital": "Madrid",
        "currency": "EUR",
        "native": "España",
        "emoji": "🇪🇸"
    },
    {
        "id": 208,
        "name": "Sri Lanka",
        "iso2": "LK",
        "iso3": "LKA",
        "phonecode": "94",
        "capital": "Colombo",
        "currency": "LKR",
        "native": "śrī laṃkāva",
        "emoji": "🇱🇰"
    },
    {
        "id": 209,
        "name": "Sudan",
        "iso2": "SD",
        "iso3": "SDN",
        "phonecode": "249",
        "capital": "Khartoum",
        "currency": "SDG",
        "native": "السودان",
        "emoji": "🇸🇩"
    },
    {
        "id": 210,
        "name": "Suriname",
        "iso2": "SR",
        "iso3": "SUR",
        "phonecode": "597",
        "capital": "Paramaribo",
        "currency": "SRD",
        "native": "Suriname",
        "emoji": "🇸🇷"
    },
    {
        "id": 211,
        "name": "Svalbard And Jan Mayen Islands",
        "iso2": "SJ",
        "iso3": "SJM",
        "phonecode": "47",
        "capital": "Longyearbyen",
        "currency": "NOK",
        "native": "Svalbard og Jan Mayen",
        "emoji": "🇸🇯"
    },
    {
        "id": 212,
        "name": "Swaziland",
        "iso2": "SZ",
        "iso3": "SWZ",
        "phonecode": "268",
        "capital": "Mbabane",
        "currency": "SZL",
        "native": "Swaziland",
        "emoji": "🇸🇿"
    },
    {
        "id": 213,
        "name": "Sweden",
        "iso2": "SE",
        "iso3": "SWE",
        "phonecode": "46",
        "capital": "Stockholm",
        "currency": "SEK",
        "native": "Sverige",
        "emoji": "🇸🇪"
    },
    {
        "id": 214,
        "name": "Switzerland",
        "iso2": "CH",
        "iso3": "CHE",
        "phonecode": "41",
        "capital": "Bern",
        "currency": "CHF",
        "native": "Schweiz",
        "emoji": "🇨🇭"
    },
    {
        "id": 215,
        "name": "Syria",
        "iso2": "SY",
        "iso3": "SYR",
        "phonecode": "963",
        "capital": "Damascus",
        "currency": "SYP",
        "native": "سوريا",
        "emoji": "🇸🇾"
    },
    {
        "id": 216,
        "name": "Taiwan",
        "iso2": "TW",
        "iso3": "TWN",
        "phonecode": "886",
        "capital": "Taipei",
        "currency": "TWD",
        "native": "臺灣",
        "emoji": "🇹🇼"
    },
    {
        "id": 217,
        "name": "Tajikistan",
        "iso2": "TJ",
        "iso3": "TJK",
        "phonecode": "992",
        "capital": "Dushanbe",
        "currency": "TJS",
        "native": "Тоҷикистон",
        "emoji": "🇹🇯"
    },
    {
        "id": 218,
        "name": "Tanzania",
        "iso2": "TZ",
        "iso3": "TZA",
        "phonecode": "255",
        "capital": "Dodoma",
        "currency": "TZS",
        "native": "Tanzania",
        "emoji": "🇹🇿"
    },
    {
        "id": 219,
        "name": "Thailand",
        "iso2": "TH",
        "iso3": "THA",
        "phonecode": "66",
        "capital": "Bangkok",
        "currency": "THB",
        "native": "ประเทศไทย",
        "emoji": "🇹🇭"
    },
    {
        "id": 220,
        "name": "Togo",
        "iso2": "TG",
        "iso3": "TGO",
        "phonecode": "228",
        "capital": "Lome",
        "currency": "XOF",
        "native": "Togo",
        "emoji": "🇹🇬"
    },
    {
        "id": 221,
        "name": "Tokelau",
        "iso2": "TK",
        "iso3": "TKL",
        "phonecode": "690",
        "capital": "",
        "currency": "NZD",
        "native": "Tokelau",
        "emoji": "🇹🇰"
    },
    {
        "id": 222,
        "name": "Tonga",
        "iso2": "TO",
        "iso3": "TON",
        "phonecode": "676",
        "capital": "Nuku'alofa",
        "currency": "TOP",
        "native": "Tonga",
        "emoji": "🇹🇴"
    },
    {
        "id": 223,
        "name": "Trinidad And Tobago",
        "iso2": "TT",
        "iso3": "TTO",
        "phonecode": "+1-868",
        "capital": "Port of Spain",
        "currency": "TTD",
        "native": "Trinidad and Tobago",
        "emoji": "🇹🇹"
    },
    {
        "id": 224,
        "name": "Tunisia",
        "iso2": "TN",
        "iso3": "TUN",
        "phonecode": "216",
        "capital": "Tunis",
        "currency": "TND",
        "native": "تونس",
        "emoji": "🇹🇳"
    },
    {
        "id": 225,
        "name": "Turkey",
        "iso2": "TR",
        "iso3": "TUR",
        "phonecode": "90",
        "capital": "Ankara",
        "currency": "TRY",
        "native": "Türkiye",
        "emoji": "🇹🇷"
    },
    {
        "id": 226,
        "name": "Turkmenistan",
        "iso2": "TM",
        "iso3": "TKM",
        "phonecode": "993",
        "capital": "Ashgabat",
        "currency": "TMT",
        "native": "Türkmenistan",
        "emoji": "🇹🇲"
    },
    {
        "id": 227,
        "name": "Turks And Caicos Islands",
        "iso2": "TC",
        "iso3": "TCA",
        "phonecode": "+1-649",
        "capital": "Cockburn Town",
        "currency": "USD",
        "native": "Turks and Caicos Islands",
        "emoji": "🇹🇨"
    },
    {
        "id": 228,
        "name": "Tuvalu",
        "iso2": "TV",
        "iso3": "TUV",
        "phonecode": "688",
        "capital": "Funafuti",
        "currency": "AUD",
        "native": "Tuvalu",
        "emoji": "🇹🇻"
    },
    {
        "id": 229,
        "name": "Uganda",
        "iso2": "UG",
        "iso3": "UGA",
        "phonecode": "256",
        "capital": "Kampala",
        "currency": "UGX",
        "native": "Uganda",
        "emoji": "🇺🇬"
    },
    {
        "id": 230,
        "name": "Ukraine",
        "iso2": "UA",
        "iso3": "UKR",
        "phonecode": "380",
        "capital": "Kyiv",
        "currency": "UAH",
        "native": "Україна",
        "emoji": "🇺🇦"
    },
    {
        "id": 231,
        "name": "United Arab Emirates",
        "iso2": "AE",
        "iso3": "ARE",
        "phonecode": "971",
        "capital": "Abu Dhabi",
        "currency": "AED",
        "native": "دولة الإمارات العربية المتحدة",
        "emoji": "🇦🇪"
    },
    {
        "id": 232,
        "name": "United Kingdom",
        "iso2": "GB",
        "iso3": "GBR",
        "phonecode": "44",
        "capital": "London",
        "currency": "GBP",
        "native": "United Kingdom",
        "emoji": "🇬🇧"
    },
    {
        "id": 233,
        "name": "United States",
        "iso2": "US",
        "iso3": "USA",
        "phonecode": "1",
        "capital": "Washington",
        "currency": "USD",
        "native": "United States",
        "emoji": "🇺🇸"
    },
    {
        "id": 234,
        "name": "United States Minor Outlying Islands",
        "iso2": "UM",
        "iso3": "UMI",
        "phonecode": "1",
        "capital": "",
        "currency": "USD",
        "native": "United States Minor Outlying Islands",
        "emoji": "🇺🇲"
    },
    {
        "id": 235,
        "name": "Uruguay",
        "iso2": "UY",
        "iso3": "URY",
        "phonecode": "598",
        "capital": "Montevideo",
        "currency": "UYU",
        "native": "Uruguay",
        "emoji": "🇺🇾"
    },
    {
        "id": 236,
        "name": "Uzbekistan",
        "iso2": "UZ",
        "iso3": "UZB",
        "phonecode": "998",
        "capital": "Tashkent",
        "currency": "UZS",
        "native": "O‘zbekiston",
        "emoji": "🇺🇿"
    },
    {
        "id": 237,
        "name": "Vanuatu",
        "iso2": "VU",
        "iso3": "VUT",
        "phonecode": "678",
        "capital": "Port Vila",
        "currency": "VUV",
        "native": "Vanuatu",
        "emoji": "🇻🇺"
    },
    {
        "id": 238,
        "name": "Vatican City State (Holy See)",
        "iso2": "VA",
        "iso3": "VAT",
        "phonecode": "379",
        "capital": "Vatican City",
        "currency": "EUR",
        "native": "Vaticano",
        "emoji": "🇻🇦"
    },
    {
        "id": 239,
        "name": "Venezuela",
        "iso2": "VE",
        "iso3": "VEN",
        "phonecode": "58",
        "capital": "Caracas",
        "currency": "VES",
        "native": "Venezuela",
        "emoji": "🇻🇪"
    },
    {
        "id": 240,
        "name": "Vietnam",
        "iso2": "VN",
        "iso3": "VNM",
        "phonecode": "84",
        "capital": "Hanoi",
        "currency": "VND",
        "native": "Việt Nam",
        "emoji": "🇻🇳"
    },
    {
        "id": 241,
        "name": "Virgin Islands (British)",
        "iso2": "VG",
        "iso3": "VGB",
        "phonecode": "+1-284",
        "capital": "Road Town",
        "currency": "USD",
        "native": "British Virgin Islands",
        "emoji": "🇻🇬"
    },
    {
        "id": 242,
        "name": "Virgin Islands (US)",
        "iso2": "VI",
        "iso3": "VIR",
        "phonecode": "+1-340",
        "capital": "Charlotte Amalie",
        "currency": "USD",
        "native": "United States Virgin Islands",
        "emoji": "🇻🇮"
    },
    {
        "id": 243,
        "name": "Wallis And Futuna Islands",
        "iso2": "WF",
        "iso3": "WLF",
        "phonecode": "681",
        "capital": "Mata Utu",
        "currency": "XPF",
        "native": "Wallis et Futuna",
        "emoji": "🇼🇫"
    },
    {
        "id": 244,
        "name": "Western Sahara",
        "iso2": "EH",
        "iso3": "ESH",
        "phonecode": "212",
        "capital": "El-Aaiun",
        "currency": "MAD",
        "native": "الصحراء الغربية",
        "emoji": "🇪🇭"
    },
    {
        "id": 245,
        "name": "Yemen",
        "iso2": "YE",
        "iso3": "YEM",
        "phonecode": "967",
        "capital": "Sanaa",
        "currency": "YER",
        "native": "اليَمَن",
        "emoji": "🇾🇪"
    },
    {
        "id": 246,
        "name": "Zambia",
        "iso2": "ZM",
        "iso3": "ZMB",
        "phonecode": "260",
        "capital": "Lusaka",
        "currency": "ZMW",
        "native": "Zambia",
        "emoji": "🇿🇲"
    },
    {
        "id": 247,
        "name": "Zimbabwe",
        "iso2": "ZW",
        "iso3": "ZWE",
        "phonecode": "263",
        "capital": "Harare",
        "currency": "ZWL",
        "native": "Zimbabwe",
        "emoji": "🇿🇼"
    },
    {
        "id": 248,
        "name": "Kosovo",
        "iso2": "XK",
        "iso3": "XKX",
        "phonecode": "383",
        "capital": "Pristina",
        "currency": "EUR",
        "native": "Republika e Kosovës",
        "emoji": "🇽🇰"
    },
    {
        "id": 249,
        "name": "Curaçao",
        "iso2": "CW",
        "iso3": "CUW",
        "phonecode": "599",
        "capital": "Willemstad",
        "currency": "ANG",
        "native": "Curaçao",
        "emoji": "🇨🇼"
    },
    {
        "id": 250,
        "name": "Sint Maarten (Dutch part)",
        "iso2": "SX",
        "iso3": "SXM",
        "phonecode": "1721",
        "capital": "Philipsburg",
        "currency": "ANG",
        "native": "Sint Maarten",
        "emoji": "🇸🇽"
    }
]
 

Request   

GET api/countries

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Liste de villes en fonction du pays

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/countries/CM/cities" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/countries/CM/cities"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/countries/CM/cities';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 49
access-control-allow-origin: *
 

[
    {
        "id": 19132,
        "name": "Abong Mbang"
    },
    {
        "id": 19133,
        "name": "Akom II"
    },
    {
        "id": 19134,
        "name": "Akono"
    },
    {
        "id": 19135,
        "name": "Akonolinga"
    },
    {
        "id": 19136,
        "name": "Ambam"
    },
    {
        "id": 19137,
        "name": "Babanki"
    },
    {
        "id": 19138,
        "name": "Bafang"
    },
    {
        "id": 19139,
        "name": "Bafia"
    },
    {
        "id": 19140,
        "name": "Bafoussam"
    },
    {
        "id": 19141,
        "name": "Bali"
    },
    {
        "id": 19142,
        "name": "Bamenda"
    },
    {
        "id": 19143,
        "name": "Bamendjou"
    },
    {
        "id": 19144,
        "name": "Bamusso"
    },
    {
        "id": 19145,
        "name": "Bana"
    },
    {
        "id": 19146,
        "name": "Bandjoun"
    },
    {
        "id": 19147,
        "name": "Bangangté"
    },
    {
        "id": 19148,
        "name": "Bankim"
    },
    {
        "id": 19149,
        "name": "Bansoa"
    },
    {
        "id": 19150,
        "name": "Banyo"
    },
    {
        "id": 19151,
        "name": "Batibo"
    },
    {
        "id": 19152,
        "name": "Batouri"
    },
    {
        "id": 19153,
        "name": "Bazou"
    },
    {
        "id": 19154,
        "name": "Bekondo"
    },
    {
        "id": 19155,
        "name": "Belo"
    },
    {
        "id": 19156,
        "name": "Bertoua"
    },
    {
        "id": 19157,
        "name": "Bogo"
    },
    {
        "id": 19158,
        "name": "Bonabéri"
    },
    {
        "id": 19159,
        "name": "Boyo"
    },
    {
        "id": 19160,
        "name": "Buea"
    },
    {
        "id": 19161,
        "name": "Bélabo"
    },
    {
        "id": 19162,
        "name": "Bélel"
    },
    {
        "id": 19163,
        "name": "Bétaré Oya"
    },
    {
        "id": 19164,
        "name": "Diang"
    },
    {
        "id": 19165,
        "name": "Dibombari"
    },
    {
        "id": 19166,
        "name": "Dimako"
    },
    {
        "id": 19167,
        "name": "Dizangué"
    },
    {
        "id": 19168,
        "name": "Djohong"
    },
    {
        "id": 19169,
        "name": "Douala"
    },
    {
        "id": 19170,
        "name": "Doumé"
    },
    {
        "id": 19171,
        "name": "Dschang"
    },
    {
        "id": 19172,
        "name": "Edéa"
    },
    {
        "id": 19173,
        "name": "Essé"
    },
    {
        "id": 19174,
        "name": "Eséka"
    },
    {
        "id": 19175,
        "name": "Fako Division"
    },
    {
        "id": 19176,
        "name": "Faro Department"
    },
    {
        "id": 19177,
        "name": "Fontem"
    },
    {
        "id": 19178,
        "name": "Foumban"
    },
    {
        "id": 19179,
        "name": "Foumbot"
    },
    {
        "id": 19180,
        "name": "Fundong"
    },
    {
        "id": 19181,
        "name": "Garoua"
    },
    {
        "id": 19182,
        "name": "Garoua Boulaï"
    },
    {
        "id": 19183,
        "name": "Guider"
    },
    {
        "id": 19184,
        "name": "Hauts-Plateaux"
    },
    {
        "id": 19185,
        "name": "Jakiri"
    },
    {
        "id": 19186,
        "name": "Kaélé"
    },
    {
        "id": 19187,
        "name": "Kontcha"
    },
    {
        "id": 19188,
        "name": "Koung-Khi"
    },
    {
        "id": 19189,
        "name": "Kousséri"
    },
    {
        "id": 19190,
        "name": "Koza"
    },
    {
        "id": 19191,
        "name": "Kribi"
    },
    {
        "id": 19192,
        "name": "Kumba"
    },
    {
        "id": 19193,
        "name": "Kumbo"
    },
    {
        "id": 19194,
        "name": "Lagdo"
    },
    {
        "id": 19195,
        "name": "Lebialem"
    },
    {
        "id": 19196,
        "name": "Limbe"
    },
    {
        "id": 19197,
        "name": "Lolodorf"
    },
    {
        "id": 19198,
        "name": "Loum"
    },
    {
        "id": 19199,
        "name": "Makary"
    },
    {
        "id": 19200,
        "name": "Mamfe"
    },
    {
        "id": 19201,
        "name": "Manjo"
    },
    {
        "id": 19202,
        "name": "Maroua"
    },
    {
        "id": 19203,
        "name": "Mayo-Banyo"
    },
    {
        "id": 19204,
        "name": "Mayo-Louti"
    },
    {
        "id": 19205,
        "name": "Mayo-Rey"
    },
    {
        "id": 19206,
        "name": "Mayo-Sava"
    },
    {
        "id": 19207,
        "name": "Mayo-Tsanaga"
    },
    {
        "id": 19208,
        "name": "Mbalmayo"
    },
    {
        "id": 19209,
        "name": "Mbam-Et-Inoubou"
    },
    {
        "id": 19210,
        "name": "Mbandjok"
    },
    {
        "id": 19211,
        "name": "Mbang"
    },
    {
        "id": 19212,
        "name": "Mbanga"
    },
    {
        "id": 19213,
        "name": "Mbankomo"
    },
    {
        "id": 19214,
        "name": "Mbengwi"
    },
    {
        "id": 19215,
        "name": "Mbouda"
    },
    {
        "id": 19216,
        "name": "Mefou-et-Akono"
    },
    {
        "id": 19217,
        "name": "Melong"
    },
    {
        "id": 19218,
        "name": "Meïganga"
    },
    {
        "id": 19219,
        "name": "Mfoundi"
    },
    {
        "id": 19220,
        "name": "Mindif"
    },
    {
        "id": 19221,
        "name": "Minta"
    },
    {
        "id": 19222,
        "name": "Mme-Bafumen"
    },
    {
        "id": 19223,
        "name": "Mokolo"
    },
    {
        "id": 19224,
        "name": "Mora"
    },
    {
        "id": 19225,
        "name": "Mouanko"
    },
    {
        "id": 19226,
        "name": "Mundemba"
    },
    {
        "id": 19227,
        "name": "Mutengene"
    },
    {
        "id": 19228,
        "name": "Muyuka"
    },
    {
        "id": 19229,
        "name": "Mvangué"
    },
    {
        "id": 19230,
        "name": "Mvila"
    },
    {
        "id": 19231,
        "name": "Nanga Eboko"
    },
    {
        "id": 19232,
        "name": "Ndelele"
    },
    {
        "id": 19233,
        "name": "Ndikiniméki"
    },
    {
        "id": 19234,
        "name": "Ndom"
    },
    {
        "id": 19235,
        "name": "Ngambé"
    },
    {
        "id": 19236,
        "name": "Ngaoundéré"
    },
    {
        "id": 19237,
        "name": "Ngomedzap"
    },
    {
        "id": 19238,
        "name": "Ngoro"
    },
    {
        "id": 19239,
        "name": "Ngou"
    },
    {
        "id": 19240,
        "name": "Nguti"
    },
    {
        "id": 19241,
        "name": "Njinikom"
    },
    {
        "id": 19242,
        "name": "Nkongsamba"
    },
    {
        "id": 19243,
        "name": "Nkoteng"
    },
    {
        "id": 19244,
        "name": "Noun"
    },
    {
        "id": 19245,
        "name": "Ntui"
    },
    {
        "id": 19246,
        "name": "Obala"
    },
    {
        "id": 19247,
        "name": "Okoa"
    },
    {
        "id": 19248,
        "name": "Okola"
    },
    {
        "id": 19249,
        "name": "Ombésa"
    },
    {
        "id": 19250,
        "name": "Penja"
    },
    {
        "id": 19251,
        "name": "Pitoa"
    },
    {
        "id": 19252,
        "name": "Poli"
    },
    {
        "id": 19253,
        "name": "Rey Bouba"
    },
    {
        "id": 19254,
        "name": "Saa"
    },
    {
        "id": 19255,
        "name": "Sangmélima"
    },
    {
        "id": 19256,
        "name": "Somié"
    },
    {
        "id": 19257,
        "name": "Tcholliré"
    },
    {
        "id": 19258,
        "name": "Tibati"
    },
    {
        "id": 19259,
        "name": "Tignère"
    },
    {
        "id": 19260,
        "name": "Tiko"
    },
    {
        "id": 19261,
        "name": "Tonga"
    },
    {
        "id": 19262,
        "name": "Vina"
    },
    {
        "id": 19263,
        "name": "Wum"
    },
    {
        "id": 19264,
        "name": "Yabassi"
    },
    {
        "id": 19265,
        "name": "Yagoua"
    },
    {
        "id": 19266,
        "name": "Yaoundé"
    },
    {
        "id": 19267,
        "name": "Yokadouma"
    },
    {
        "id": 19268,
        "name": "Yoko"
    },
    {
        "id": 19269,
        "name": "Ébolowa"
    },
    {
        "id": 19270,
        "name": "Évodoula"
    }
]
 

Request   

GET api/countries/{ciso}/cities

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ciso   string   

Le code ISO du pays. Example: CM

Favoris

Lister tous les enseignants favoris d'un Etudiant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/student/favoris" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 10,
    \"filter_value\": \"quibusdam\"
}"
const url = new URL(
    "https://api.waklass.com/api/student/favoris"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 10,
    "filter_value": "quibusdam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/student/favoris';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 10,
            'filter_value' => 'quibusdam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "statusCode": 200,
    "success": true,
    "data": [],
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "total_results": 0
    }
}
 

Request   

POST api/student/favoris

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

Must be at least 1. Example: 10

filter_value   string  optional  

Example: quibusdam

Ajouter un Enseignant à la liste des favoris d'un Etudiant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/student/favoris/add" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"teacher_id\": 6
}"
const url = new URL(
    "https://api.waklass.com/api/student/favoris/add"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "teacher_id": 6
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/student/favoris/add';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'teacher_id' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 201,
    "data": []
}
 

Request   

POST api/student/favoris/add

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

teacher_id   integer   

The id of an existing record in the teachers table. Example: 6

Retirer un Enseignant de la liste des favoris d'un Etudiant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/student/favoris/remove" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"teacher_id\": 20
}"
const url = new URL(
    "https://api.waklass.com/api/student/favoris/remove"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "teacher_id": 20
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/student/favoris/remove';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'teacher_id' => 20,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 204,
    "data": []
}
 

Request   

POST api/student/favoris/remove

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

teacher_id   integer   

The id of an existing record in the teachers table. Example: 20

Notifications

Lister les notifications envoyées par l'admin

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/adminnotificationsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"TestDoc\",
    \"pageItems\": 1
}"
const url = new URL(
    "https://api.waklass.com/api/adminnotificationsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "TestDoc",
    "pageItems": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/adminnotificationsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'type' => 'TestDoc',
            'pageItems' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

POST api/adminnotificationsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

type   string  optional  

required. Example: TestDoc

pageItems   integer  optional  

required. Example: 1

Supprimer une notification admin

requires authentication

Example request:
curl --request DELETE \
    "https://api.waklass.com/api/adminnotifications/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/adminnotifications/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/adminnotifications/2';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 204,
    "data": []
}
 

Request   

DELETE api/adminnotifications/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Notifier les utilisateurs

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/notifications" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"TestDoc\",
    \"to\": \"both\",
    \"message\": \"ScribeTestDoc\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/notifications"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "TestDoc",
    "to": "both",
    "message": "ScribeTestDoc"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/notifications';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'type' => 'TestDoc',
            'to' => 'both',
            'message' => 'ScribeTestDoc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/notifications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

type   string  optional  

required. Example: TestDoc

to   string  optional  

required. Example: both

message   string  optional  

required. Example: ScribeTestDoc

Payment Operators

Lister les opérateurs de paiement

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/paymentoperatorsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1,
    \"filter_value\": \"et\"
}"
const url = new URL(
    "https://api.waklass.com/api/paymentoperatorsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1,
    "filter_value": "et"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/paymentoperatorsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
            'filter_value' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
"success": true,
"statusCode": 200,
"data": [
{
"id": 5,
"name": "Admin Recharge",
"created_at": null,
"updated_at": null
},
{
"id": 3,
"name": "Express-Union Mobile",
"created_at": null,
"updated_at": null
}
{...}
],
"meta": {
"current_page": 1,
"last_page": 1,
"total_results": 5
}
}
 

Request   

POST api/paymentoperatorsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

filter_value   string  optional  

Example: et

Afficher les détails d'un opératreur de paiement

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/payment-operators/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/payment-operators/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/payment-operators/2';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

GET api/admin/payment-operators/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Ajouter un opérateur de paiement

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/payment-operators" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Bitcoin\",
    \"is_available\": false,
    \"available_on_web\": true,
    \"available_on_mobile\": true,
    \"supports_deposit\": true,
    \"supports_withdrawal\": true
}"
const url = new URL(
    "https://api.waklass.com/api/admin/payment-operators"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Bitcoin",
    "is_available": false,
    "available_on_web": true,
    "available_on_mobile": true,
    "supports_deposit": true,
    "supports_withdrawal": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/payment-operators';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Bitcoin',
            'is_available' => false,
            'available_on_web' => true,
            'available_on_mobile' => true,
            'supports_deposit' => true,
            'supports_withdrawal' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/payment-operators

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string  optional  

required. Example: Bitcoin

is_available   boolean  optional  

Example: false

available_on_web   boolean  optional  

Example: true

available_on_mobile   boolean  optional  

Example: true

supports_deposit   boolean  optional  

Example: true

supports_withdrawal   boolean  optional  

Example: true

maj d'un opérateur de paiement

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/payment-operators/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"ScribeNewPOValue\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/payment-operators/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "ScribeNewPOValue"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/payment-operators/2';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'ScribeNewPOValue',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

PUT api/admin/payment-operators/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Body Parameters

name   string  optional  

required. Example: ScribeNewPOValue

Supprimer un opérateur de paiement

requires authentication

Example request:
curl --request DELETE \
    "https://api.waklass.com/api/admin/payment-operators/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/payment-operators/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/payment-operators/2';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

DELETE api/admin/payment-operators/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Plans

Lister les plans des enseignants dans le système

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/plansall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filter_value\": \"vitae\"
}"
const url = new URL(
    "https://api.waklass.com/api/plansall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filter_value": "vitae"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/plansall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'filter_value' => 'vitae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 52
access-control-allow-origin: *
 

{
    "statusCode": 200,
    "success": true,
    "data": [],
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "total_results": 0
    }
}
 

Request   

POST api/plansall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

filter_value   string  optional  

Example: vitae

Afficher les détails d'un plan

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/plans/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/plans/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/plans/2';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

GET api/admin/plans/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Ajouter un nouveau plan

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/plans" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"corporis\",
    \"points\": 4,
    \"image_cost\": 22
}"
const url = new URL(
    "https://api.waklass.com/api/admin/plans"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "corporis",
    "points": 4,
    "image_cost": 22
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/plans';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'corporis',
            'points' => 4,
            'image_cost' => 22,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/plans

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: corporis

points   integer   

Must be at least 1. Example: 4

image_cost   integer   

Must be at least 1. Example: 22

maj d'un Plan

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/plans/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"soluta\",
    \"points\": 20,
    \"image_cost\": 22
}"
const url = new URL(
    "https://api.waklass.com/api/admin/plans/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "soluta",
    "points": 20,
    "image_cost": 22
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/plans/2';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'soluta',
            'points' => 20,
            'image_cost' => 22,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

PUT api/admin/plans/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Body Parameters

name   string   

Example: soluta

points   integer   

Must be at least 1. Example: 20

image_cost   integer   

Must be at least 1. Example: 22

Supprimer un Plan.

requires authentication

Example request:
curl --request DELETE \
    "https://api.waklass.com/api/admin/plans/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/plans/2"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/plans/2';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

DELETE api/admin/plans/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 2

Stats Account

Statistiques du compte

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/teacher/stats" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/teacher/stats"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/teacher/stats';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "account_balance": "0",
        "total_paid": 0,
        "total_consultations": 3,
        "duree_consultation": 4
    }
}
 

Request   

GET api/teacher/stats

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Statistiques du compte

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/student/stats" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/student/stats"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/student/stats';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "account_balance": "0",
        "total_paid": 0,
        "total_consultations": 3,
        "duree_consultation": 4
    }
}
 

Request   

GET api/student/stats

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Students

Afficher les infos d'un étudiant

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/students/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/students/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/students/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "id": 3,
        "name": "Fabisin Clovis",
        "email": "fabisin.clovis@gmail.com",
        "solde": 328900,
        "level_study": null,
        "subjects_interest": null,
        "phone_number": null,
        "photo": "https://waklass.com/assets/images/avatars/unknown.png",
        "address": null,
        "city": null,
        "country": null,
        "about_me": null,
        "status": "inactive",
        "created_at": "2024-01-26T18:06:31.000000Z",
        "updated_at": "2024-01-26T18:06:31.000000Z"
    }
}
 

Request   

GET api/students/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 1

Lister les étudiants

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/studentsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1
}"
const url = new URL(
    "https://api.waklass.com/api/admin/studentsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/studentsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/studentsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

Ajouter un étudiant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/students" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"illum\",
    \"email\": \"isabel.dare@example.com\",
    \"password\": \"#a|SNDZ\",
    \"phone_number\": \"nesciunt\",
    \"gender\": \"M\",
    \"address\": \"consequuntur\",
    \"country\": \"enim\",
    \"city\": \"quo\",
    \"about_me\": \"molestiae\",
    \"level_study\": \"cumque\",
    \"subjects_interest\": \"aut\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/students"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "illum",
    "email": "isabel.dare@example.com",
    "password": "#a|SNDZ",
    "phone_number": "nesciunt",
    "gender": "M",
    "address": "consequuntur",
    "country": "enim",
    "city": "quo",
    "about_me": "molestiae",
    "level_study": "cumque",
    "subjects_interest": "aut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/students';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'illum',
            'email' => 'isabel.dare@example.com',
            'password' => '#a|SNDZ',
            'phone_number' => 'nesciunt',
            'gender' => 'M',
            'address' => 'consequuntur',
            'country' => 'enim',
            'city' => 'quo',
            'about_me' => 'molestiae',
            'level_study' => 'cumque',
            'subjects_interest' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/students

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: illum

email   string   

Must be a valid email address. Example: isabel.dare@example.com

password   string  optional  

Must be at least 8 characters. Example: #a|SNDZ

phone_number   string   

Example: nesciunt

gender   string   

Example: M

Must be one of:
  • M
  • F
address   string  optional  

Example: consequuntur

country   string  optional  

Example: enim

city   string  optional  

Example: quo

about_me   string  optional  

Example: molestiae

level_study   string  optional  

Example: cumque

subjects_interest   string  optional  

Example: aut

Mettre à jour le compte d'un étudiant

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/students/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 100,
    \"status\": \"inactive\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/students/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "amount": 100,
    "status": "inactive"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/students/1';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'amount' => 100,
            'status' => 'inactive',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

PUT api/admin/students/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 1

Body Parameters

amount   integer  optional  

Must be at least 100. Example: 100

status   string  optional  

Example: inactive

Must be one of:
  • active
  • inactive

Modifier le statut d'un compte Utilisateur

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/update-status/teacher/3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"active\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/update-status/teacher/3"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "active"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/update-status/teacher/3';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'status' => 'active',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "message": "Account status updated successfully"
    }
}
 

Request   

PUT api/admin/update-status/{type}/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

type   string   

Example: teacher

id   integer   

Example: 3

Body Parameters

status   string   

Example: active

Must be one of:
  • active
  • inactive

Afficher les recharges d'un Etudiant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/student/rechargesall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1
}"
const url = new URL(
    "https://api.waklass.com/api/student/rechargesall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/student/rechargesall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
 "success": true,
 "statusCode": 201,
 "meta":{
     "current_page":1,
     "last_page":2,
     "total_results":16
 }
 "data": [
      "id" : 10,
      "tracking_code" : "WTN6497452",
      "payment_operator" : {
          "name":"MTN Mobile Money"
      },
      "user" : {...},
      "status" : "success",
      "type" : "withdrawal",
      "amount" : 15000,
      "date_transaction" : "04-05-2024 15:30:45",
      "ref" : "987qsd456qsd",
      "phone_number" : "237 601 020 304",
      "created_at" : "04-05-2024 15:30:45",
      "updated_at" : "04-05-2024 15:30:45",
    ]
 }
 

Request   

POST api/student/rechargesall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

Initialiser une recharge de crédits

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/student/recharges" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"minus\",
    \"email\": \"xherzog@example.com\",
    \"phone_number\": \"odio\",
    \"amount\": 15,
    \"payment_operator\": 18
}"
const url = new URL(
    "https://api.waklass.com/api/student/recharges"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "minus",
    "email": "xherzog@example.com",
    "phone_number": "odio",
    "amount": 15,
    "payment_operator": 18
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/student/recharges';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'minus',
            'email' => 'xherzog@example.com',
            'phone_number' => 'odio',
            'amount' => 15,
            'payment_operator' => 18,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 404,
    "data": "KO start : compte marchand introuvable. Contactez le service client."
}
 

Request   

POST api/student/recharges

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: minus

email   string   

Must be a valid email address. Example: xherzog@example.com

phone_number   string   

Example: odio

amount   integer   

Example: 15

payment_operator   integer   

The id of an existing record in the payment_operators table. Example: 18

Support Technique

Récupérer les messages d'une conversation avec les admins

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/rooms/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/rooms/messages"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/rooms/messages';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

GET api/admin/rooms/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Envoyer un mesage dans la discussion avec les admins

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"kovoakv\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/messages"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "message": "kovoakv"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/messages';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'message' => 'kovoakv',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 201,
    "data": {
        "message": {
            "admin_room_uuid": "acb83edf-6627-11ef-9d00-144f8a6f9384",
            "sender_id": 14,
            "message": "C'est comment ???",
            "status": "unread",
            "type": "admin",
            "time": "0 seconds before",
            "updated_at": "2024-08-29T17:50:19.000000Z",
            "created_at": "2024-08-29T17:50:19.000000Z",
            "id": 3
        }
    }
}
 

Request   

POST api/admin/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

message   string   

Must not be greater than 500 characters. Example: kovoakv

Marquer un message comme lu dans la discussion avec les admins

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/admin/messages/asperiores" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/admin/messages/asperiores"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/messages/asperiores';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

GET api/admin/messages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the message. Example: asperiores

Teachers

Lister les enseignants

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/teachersall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1,
    \"filter_value\": \"officia\",
    \"domain_id\": 6
}"
const url = new URL(
    "https://api.waklass.com/api/teachersall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1,
    "filter_value": "officia",
    "domain_id": 6
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/teachersall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
            'filter_value' => 'officia',
            'domain_id' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "statusCode": 200,
    "success": true,
    "data": [
        {
            "id": 33,
            "name": "Amidou Hyacinthe",
            "email": "babanaamidou@gmail.com",
            "domains": null,
            "experience": 2,
            "availability": null,
            "phone_number": "690996179",
            "address": "Kondengui",
            "city": "Yaoundé",
            "country": "Cameroun",
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 1,
                "name": "A",
                "points": 30000,
                "image_cost": 700,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-05-03T19:46:13.000000Z",
            "updated_at": "2024-08-06T15:32:21.000000Z"
        },
        {
            "id": 34,
            "name": "Amidou Hyacinthe",
            "email": "babanaamidou@gmail.com",
            "domains": null,
            "experience": 2,
            "availability": null,
            "phone_number": null,
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 1,
                "name": "A",
                "points": 30000,
                "image_cost": 700,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-05-03T19:46:14.000000Z",
            "updated_at": "2024-05-03T19:46:14.000000Z"
        },
        {
            "id": 35,
            "name": "Amidou Hyacinthe",
            "email": "babanaamidou@gmail.com",
            "domains": null,
            "experience": 2,
            "availability": null,
            "phone_number": null,
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 1,
                "name": "A",
                "points": 30000,
                "image_cost": 700,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-05-03T19:46:14.000000Z",
            "updated_at": "2024-05-03T19:46:14.000000Z"
        },
        {
            "id": 36,
            "name": "Amidou Hyacinthe",
            "email": "babanaamidou@gmail.com",
            "domains": null,
            "experience": 2,
            "availability": null,
            "phone_number": null,
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": true,
            "plan": {
                "id": 1,
                "name": "A",
                "points": 30000,
                "image_cost": 700,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-05-03T19:46:14.000000Z",
            "updated_at": "2024-08-06T15:19:49.000000Z"
        },
        {
            "id": 23,
            "name": "Assa Gaëlle Nadine",
            "email": null,
            "domains": null,
            "experience": null,
            "availability": null,
            "phone_number": "237655738883",
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 5,
                "name": "E",
                "points": 10000,
                "image_cost": 300,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-02-29T08:07:52.000000Z",
            "updated_at": "2024-02-29T08:07:52.000000Z"
        },
        {
            "id": 4,
            "name": "AUREL Kenfack",
            "email": null,
            "domains": null,
            "experience": null,
            "availability": null,
            "phone_number": "237656862809",
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": true,
            "plan": {
                "id": 6,
                "name": "F",
                "points": 5000,
                "image_cost": 200,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-01-27T07:20:12.000000Z",
            "updated_at": "2024-08-06T15:17:14.000000Z"
        },
        {
            "id": 43,
            "name": "clothaire gastalia",
            "email": "test@test.com",
            "domains": null,
            "experience": null,
            "availability": null,
            "phone_number": "6464777483",
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "inactive",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 3,
                "name": "C",
                "points": 20000,
                "image_cost": 500,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-08-07T15:54:07.000000Z",
            "updated_at": "2024-08-07T15:54:07.000000Z"
        },
        {
            "id": 28,
            "name": "dzerfrf",
            "email": "jiwiw14689@picdv.com",
            "domains": null,
            "experience": 4,
            "availability": null,
            "phone_number": null,
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 2,
                "name": "B",
                "points": 25000,
                "image_cost": 600,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-04-24T12:39:30.000000Z",
            "updated_at": "2024-04-24T12:39:30.000000Z"
        },
        {
            "id": 3,
            "name": "emape CAM",
            "email": "emapecam237@gmail.com",
            "domains": null,
            "experience": null,
            "availability": null,
            "phone_number": null,
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 6,
                "name": "F",
                "points": 5000,
                "image_cost": 200,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-01-27T07:03:19.000000Z",
            "updated_at": "2024-01-27T07:03:19.000000Z"
        },
        {
            "id": 38,
            "name": "Emapecam 237",
            "email": "emapecam@gmail.com",
            "domains": null,
            "experience": null,
            "availability": null,
            "phone_number": null,
            "address": null,
            "city": null,
            "country": null,
            "about_me": null,
            "status": "active",
            "bio": null,
            "verified": false,
            "plan": {
                "id": 6,
                "name": "F",
                "points": 5000,
                "image_cost": 200,
                "created_at": "2023-10-12T08:57:54.000000Z",
                "updated_at": "2023-10-12T08:57:54.000000Z"
            },
            "consultations": [],
            "nbre_consultations": 0,
            "is_online": false,
            "created_at": "2024-05-05T09:50:23.000000Z",
            "updated_at": "2024-05-05T09:50:23.000000Z"
        }
    ],
    "meta": {
        "current_page": 1,
        "last_page": 4,
        "total_results": 35
    }
}
 

Request   

POST api/teachersall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

filter_value   string  optional  

Example: officia

domain_id   integer  optional  

The id of an existing record in the skills table. Example: 6

Afficher les infos d'un Enseignant

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/teachers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/teachers/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/teachers/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "id": 3,
        "name": "emape CAM",
        "email": "emapecam237@gmail.com",
        "solde": 0,
        "domains": null,
        "experience": null,
        "availability": null,
        "phone_number": null,
        "address": null,
        "city": null,
        "country": null,
        "about_me": null,
        "status": "active",
        "bio": null,
        "photo": "https://waklass.com/assets/images/avatars/unknown.png",
        "verified": false,
        "plan": {
            "id": 6,
            "name": "F"
        },
        "consultations": [],
        "nbre_consultations": 0,
        "is_online": false,
        "created_at": "2024-01-27T07:03:19.000000Z",
        "updated_at": "2024-01-27T07:03:19.000000Z"
    }
}
 

Request   

GET api/teachers/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 1

Ajouter un enseignant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/admin/teachers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vel\",
    \"plan\": 12,
    \"domains\": \"incidunt\",
    \"experience\": 20,
    \"availability\": \"ut\",
    \"bio\": \"modi\",
    \"verified\": false,
    \"email\": \"kasandra73@example.org\",
    \"password\": \"$G@4LDy\\/M2;m\",
    \"phone_number\": \"voluptatibus\",
    \"gender\": \"F\",
    \"address\": \"impedit\",
    \"country\": \"rerum\",
    \"city\": \"velit\",
    \"about_me\": \"omnis\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/teachers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vel",
    "plan": 12,
    "domains": "incidunt",
    "experience": 20,
    "availability": "ut",
    "bio": "modi",
    "verified": false,
    "email": "kasandra73@example.org",
    "password": "$G@4LDy\/M2;m",
    "phone_number": "voluptatibus",
    "gender": "F",
    "address": "impedit",
    "country": "rerum",
    "city": "velit",
    "about_me": "omnis"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/teachers';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'vel',
            'plan' => 12,
            'domains' => 'incidunt',
            'experience' => 20,
            'availability' => 'ut',
            'bio' => 'modi',
            'verified' => false,
            'email' => 'kasandra73@example.org',
            'password' => '$G@4LDy/M2;m',
            'phone_number' => 'voluptatibus',
            'gender' => 'F',
            'address' => 'impedit',
            'country' => 'rerum',
            'city' => 'velit',
            'about_me' => 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

POST api/admin/teachers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: vel

plan   integer   

The id of an existing record in the plans table. Example: 12

domains   string   

Example: incidunt

experience   integer  optional  

Example: 20

availability   string  optional  

Example: ut

bio   string  optional  

Example: modi

verified   boolean   

Example: false

email   string   

Must be a valid email address. Example: kasandra73@example.org

password   string  optional  

Must be at least 8 characters. Example: $G@4LDy/M2;m

phone_number   string   

Example: voluptatibus

gender   string   

Example: F

Must be one of:
  • M
  • F
address   string  optional  

Example: impedit

country   string  optional  

Example: rerum

city   string  optional  

Example: velit

about_me   string  optional  

Example: omnis

Mettre à jour les infos d'un enseignant

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/admin/teachers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"verified\": true,
    \"status\": \"active\"
}"
const url = new URL(
    "https://api.waklass.com/api/admin/teachers/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "verified": true,
    "status": "active"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/admin/teachers/1';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'verified' => true,
            'status' => 'active',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "Unauthorized access",
    "statusCode": 403
}
 

Request   

PUT api/admin/teachers/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 1

Body Parameters

verified   boolean   

Example: true

status   string   

Example: active

Must be one of:
  • active
  • inactive

Withdrawals

Lister les retraits d'un Enseignant

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/teacher/withdrawalsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1
}"
const url = new URL(
    "https://api.waklass.com/api/teacher/withdrawalsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/teacher/withdrawalsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
"success": true,
"statusCode": 201,
"meta":{
    "current_page":1,
    "last_page":2,
    "total_results":16
}
"data": [
     "id" : 10,
     "tracking_code" : "WTN6497452",
     "payment_operator" : "MTN Mobile Money",
     "user" : {...},
     "status" : "success",
     "type" : "withdrawal",
     "amount" : 15000,
     "date_transaction" : "04-05-2024 15:30:45",
     "ref" : "987qsd456qsd",
     "phone_number" : "237 601 020 304",
     "created_at" : "04-05-2024 15:30:45",
     "updated_at" : "04-05-2024 15:30:45",
   ]
}
 

Request   

POST api/teacher/withdrawalsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

Initier un retrait de crédit

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/teacher/withdrawals/init" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"John Doe\",
    \"phone_number\": \"601 020 304\",
    \"amount\": \"15000\",
    \"payment_operator\": 1
}"
const url = new URL(
    "https://api.waklass.com/api/teacher/withdrawals/init"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "John Doe",
    "phone_number": "601 020 304",
    "amount": "15000",
    "payment_operator": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/teacher/withdrawals/init';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'John Doe',
            'phone_number' => '601 020 304',
            'amount' => '15000',
            'payment_operator' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": "Retrait initié avec succès. Veuillez attendre la confirmation de l'admin."
}
 

Request   

POST api/teacher/withdrawals/init

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string  optional  

required. Example: John Doe

phone_number   string  optional  

required. Example: 601 020 304

amount   string  optional  

required. Example: 15000

payment_operator   integer  optional  

required. Example: 1

Transactions

Lister les transactions en fonction de celui qui demande (student/teacher/admin)

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/transactionsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pageItems\": 1,
    \"student_id\": 14,
    \"teacher_id\": 8,
    \"service_id\": 3,
    \"plan_id\": 8,
    \"filter_value\": \"inventore\"
}"
const url = new URL(
    "https://api.waklass.com/api/transactionsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pageItems": 1,
    "student_id": 14,
    "teacher_id": 8,
    "service_id": 3,
    "plan_id": 8,
    "filter_value": "inventore"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/transactionsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pageItems' => 1,
            'student_id' => 14,
            'teacher_id' => 8,
            'service_id' => 3,
            'plan_id' => 8,
            'filter_value' => 'inventore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
      "success": true,
      "statusCode": 200,
      "data": [
         {
             "id": 20,
             "identifier": "791cbfc16f28db2ce0ec5a3f0d5d2bd4",
             "duration": "1",
             "amount": 0,
             "student":{...},
             "teacher":{...},
             "plan":{...},
             "total_cost": 0,
             "total_duration": 0,
             "created_at": "2024-05-02T15:23:01.000000Z",
             "updated_at": "2024-05-02T15:23:10.000000Z"
         }
     ]
 }
 

Request   

POST api/transactionsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

pageItems   integer  optional  

required. Example: 1

student_id   integer  optional  

The id of an existing record in the students table. Example: 14

teacher_id   integer  optional  

The id of an existing record in the teachers table. Example: 8

service_id   integer  optional  

The id of an existing record in the services table. Example: 3

plan_id   integer  optional  

The id of an existing record in the plans table. Example: 8

filter_value   string  optional  

Example: inventore

Afficher les détails d'une transaction

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/transactions/20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/transactions/20"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/transactions/20';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
       "success": true,
       "statusCode": 200,
       "data": {
          "id": 20,
          "identifier": "791cbfc16f28db2ce0ec5a3f0d5d2bd4",
          "duration": "1",
          "amount": 0,
          "student":{...},
          "teacher":{...},
          "plan":{...},
          "total_cost": 0,
          "total_duration": 0,
          "created_at": "2024-05-02T15:23:01.000000Z",
          "updated_at": "2024-05-02T15:23:10.000000Z"
      }
  }
 

Request   

GET api/transactions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

required. Example: 20

User Profile

Lister les domaines de compétence

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/skilsall" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filter_value\": \"ut\"
}"
const url = new URL(
    "https://api.waklass.com/api/skilsall"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filter_value": "ut"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/skilsall';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'filter_value' => 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 51
access-control-allow-origin: *
 

{
    "statusCode": 200,
    "success": true,
    "data": [],
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "total_results": 0
    }
}
 

Request   

POST api/skilsall

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

filter_value   string  optional  

Example: ut

Récupérer les infos de l'utilsiateur authentifié

requires authentication

Example request:
curl --request GET \
    --get "https://api.waklass.com/api/user" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://api.waklass.com/api/user"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/user';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "statusCode": 200,
    "data": {
        "id": 9,
        "name": "Ngeryi Andy",
        "email": "ngeryiandy05@gmail.comm",
        "solde": 819425,
        "level_study": null,
        "subjects_interest": "Management",
        "phone_number": null,
        "photo": "https://waklass.com/uploads/profiles/image_1704679696862.jpg",
        "address": null,
        "city": null,
        "country": null,
        "about_me": "Love reading and understanding business concepts",
        "status": "active",
        "created_at": "2024-01-27T06:57:32.000000Z",
        "updated_at": "2024-02-01T22:23:58.000000Z"
    }
}
 

Request   

GET api/user

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Mise à jour du profil de l'utilisateur authentifié

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/profile" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=veniam"\
    --form "phone=distinctio"\
    --form "country=nam"\
    --form "city=aut"\
    --form "address=eum"\
    --form "about_me=htv"\
    --form "domains[]=3"\
    --form "experience=26"\
    --form "plan=14"\
    --form "availability=eaqpebvfot"\
    --form "bio=aut"\
    --form "level_study=quo"\
    --form "subjects_interest=sit"\
    --form "photo=@/tmp/phpxX51KX" 
const url = new URL(
    "https://api.waklass.com/api/profile"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name', 'veniam');
body.append('phone', 'distinctio');
body.append('country', 'nam');
body.append('city', 'aut');
body.append('address', 'eum');
body.append('about_me', 'htv');
body.append('domains[]', '3');
body.append('experience', '26');
body.append('plan', '14');
body.append('availability', 'eaqpebvfot');
body.append('bio', 'aut');
body.append('level_study', 'quo');
body.append('subjects_interest', 'sit');
body.append('photo', document.querySelector('input[name="photo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/profile';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'multipart/form-data',
            'Accept' => 'application/json',
        ],
        'multipart' => [
            [
                'name' => 'name',
                'contents' => 'veniam'
            ],
            [
                'name' => 'phone',
                'contents' => 'distinctio'
            ],
            [
                'name' => 'country',
                'contents' => 'nam'
            ],
            [
                'name' => 'city',
                'contents' => 'aut'
            ],
            [
                'name' => 'address',
                'contents' => 'eum'
            ],
            [
                'name' => 'about_me',
                'contents' => 'htv'
            ],
            [
                'name' => 'domains[]',
                'contents' => '3'
            ],
            [
                'name' => 'experience',
                'contents' => '26'
            ],
            [
                'name' => 'plan',
                'contents' => '14'
            ],
            [
                'name' => 'availability',
                'contents' => 'eaqpebvfot'
            ],
            [
                'name' => 'bio',
                'contents' => 'aut'
            ],
            [
                'name' => 'level_study',
                'contents' => 'quo'
            ],
            [
                'name' => 'subjects_interest',
                'contents' => 'sit'
            ],
            [
                'name' => 'photo',
                'contents' => fopen('/tmp/phpxX51KX', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

POST api/profile

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string   

Example: veniam

phone   string  optional  

Example: distinctio

country   string  optional  

Example: nam

city   string  optional  

Example: aut

photo   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpxX51KX

address   string  optional  

Example: eum

about_me   string  optional  

Must not be greater than 200 characters. Example: htv

domains   integer[]   
experience   integer  optional  

Must be at least 0. Example: 26

plan   integer  optional  

The id of an existing record in the plans table. Example: 14

availability   string  optional  

Must not be greater than 200 characters. Example: eaqpebvfot

bio   string  optional  

Example: aut

level_study   string  optional  

Example: quo

subjects_interest   string  optional  

Example: sit

Mettre à jour son mot de passe

requires authentication

Example request:
curl --request PUT \
    "https://api.waklass.com/api/update-password" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"old_password\": \"deleniti\",
    \"password\": \"e:UeK-?$eC!\"
}"
const url = new URL(
    "https://api.waklass.com/api/update-password"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "old_password": "deleniti",
    "password": "e:UeK-?$eC!"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/update-password';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'old_password' => 'deleniti',
            'password' => 'e:UeK-?$eC!',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

PUT api/update-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

old_password   string   

Example: deleniti

password   string   

Must be at least 8 characters. Example: e:UeK-?$eC!

Enregistrer le device_key d'un appareil mobile pour notifications

requires authentication

Example request:
curl --request POST \
    "https://api.waklass.com/api/update-device-key" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"device_key\": \"bd38f262-e205-4c17-934f-e0d2a7a17078\"
}"
const url = new URL(
    "https://api.waklass.com/api/update-device-key"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "device_key": "bd38f262-e205-4c17-934f-e0d2a7a17078"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.waklass.com/api/update-device-key';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'device_key' => 'bd38f262-e205-4c17-934f-e0d2a7a17078',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "data": {
        "success": false,
        "message": "Accès non autorisé, veuillez vous authentifier",
        "statusCode": 401
    }
}
 

Request   

POST api/update-device-key

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

device_key   string  optional  

required. Example: bd38f262-e205-4c17-934f-e0d2a7a17078