MENU navbar-image

Introduction

Documenta das nossas API EduStore

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

Authenticating requests

This API is not authenticated.

Acadêmico

Endpoints para buscar áreas de ocupação/atuacao

GET api/v1/occupation-areas

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/occupation-areas';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/occupation-areas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/occupation-areas"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "data": [
        {
            "id": 13,
            "area": "Pré-Vestibular",
            "order": null
        }
    ]
}
 

Request   

GET api/v1/occupation-areas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/public-exams

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/public-exams';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/public-exams" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/public-exams"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "data": [
        {
            "id": 40,
            "title": "Jordon Abbott",
            "slug": "jordon-abbott",
            "user_id": null,
            "end_at": null,
            "instructions": "I shall fall right THROUGH the earth! How funny it'll seem, sending presents to one's own feet! And how odd the directions will look! ALICE'S RIGHT FOOT, ESQ. HEARTHRUG, NEAR THE FENDER, (WITH ALICE'S LOVE). Oh dear, what nonsense I'm talking!' Just then she noticed a curious croquet-ground in her haste, she had somehow fallen into the court, by the fire, stirring a large one, but it did not like to show you! A little bright-eyed terrier, you know, with oh, such long ringlets, and mine doesn't go in at all?' said Alice, looking down at her for a dunce? Go on!' 'I'm a poor man, your Majesty,'.",
            "tries": 2,
            "exam_type": "DefaultExam",
            "view": "default",
            "time": 106,
            "total_questions": "50",
            "score_min": "70.00",
            "created_at": "2022-11-23T17:48:24.000000Z",
            "updated_at": "2022-11-23T17:48:24.000000Z",
            "expired_at": null,
            "public": 1,
            "cover": null,
            "published_at": "2022-11-22 14:48:24",
            "course_id": null,
            "has_ranking": true,
            "exam_performance": 1,
            "deleted_at": null,
            "show_answer": 1,
            "order": "0",
            "published_at_formated": "22/11/2022 14:48",
            "end_at_formated": null,
            "expiration_at_formated": null,
            "user_tries": [],
            "questions": [
                {
                    "id": 804,
                    "question_id": "804",
                    "exam_id": "40",
                    "order": "0",
                    "created_at": "2022-11-23T17:48:19.000000Z",
                    "updated_at": "2022-11-23T17:48:19.000000Z",
                    "statement": "ME' beautifully printed on it were white, but there was no use their putting their heads downward! The Antipathies, I think--' (for, you see, Miss, this here ought to go down the bottle, saying to herself 'It's the first to speak. 'What size do you know that you're mad?' 'To begin with,' the Mock Turtle Soup is made from,' said the Lory, who at last in the same year for such dainties would not join the dance? Will you.",
                    "answer_1": "Dodo suddenly called out as loud as she could, for her neck from being broken. She hastily put.",
                    "answer_2": "Queen left off, quite out of breath, and said to one of its right ear and left foot, so as to.",
                    "answer_3": "I should think!' (Dinah was the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT-POCKET, and.",
                    "answer_4": "It quite makes my forehead ache!' Alice watched the Queen said to one of the treat. When the.",
                    "answer_5": "The other side of WHAT? The other side of the way--' 'THAT generally takes some time,' interrupted.",
                    "correct_answer": "4",
                    "published_at": "2022-11-22 14:48:15",
                    "is_exam": "1",
                    "deleted_at": null,
                    "video_id": "1",
                    "correction_type": "DefaultCorrection",
                    "course_id": null,
                    "identifier": "548855",
                    "teacher_id": null,
                    "relevance_id": null,
                    "level_id": null,
                    "video_alternative_id": null,
                    "video_alternative_two_id": "3",
                    "player": "1"
                }
            ]
        }
    ],
    "message": "Exames públicos carregados com sucesso."
}
 

Request   

GET api/v1/public-exams

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/course/{slug}/sessions

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/course/nisi/sessions';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/course/nisi/sessions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/course/nisi/sessions"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

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

{
    "message": "Você não possui autenticação."
}
 

Request   

GET api/v1/course/{slug}/sessions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

slug   string   

The slug of the course. Example: nisi

POST api/v1/enrollments

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/enrollments';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'course_id' => 1,
            'user' => '1 or [email protected]',
            'payment_method' => 'credits',
            'coupon' => 'DESCON20',
            'period' => 365,
            'period_type' => 1,
            'modality' => 1,
            'amount' => '200.00 or 0',
            'discount_amount' => '35.50',
            'aid' => 1,
            'source' => 'Facebook',
            'utm_campaign' => 'YouTube',
            'utm_content' => 'Caroussel',
            'utm_medium' => 'Journal',
            'utm_source' => 'YouTube',
            'utm_term' => 'Search',
            'shift_id' => 1,
            'querystring' => '&utm_source=youtube&aid=1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/enrollments" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"course_id\": 1,
    \"user\": \"1 or [email protected]\",
    \"payment_method\": \"credits\",
    \"coupon\": \"DESCON20\",
    \"period\": 365,
    \"period_type\": 1,
    \"modality\": 1,
    \"amount\": \"200.00 or 0\",
    \"discount_amount\": \"35.50\",
    \"aid\": 1,
    \"source\": \"Facebook\",
    \"utm_campaign\": \"YouTube\",
    \"utm_content\": \"Caroussel\",
    \"utm_medium\": \"Journal\",
    \"utm_source\": \"YouTube\",
    \"utm_term\": \"Search\",
    \"shift_id\": 1,
    \"querystring\": \"&utm_source=youtube&aid=1\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/enrollments"
);

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

let body = {
    "course_id": 1,
    "user": "1 or [email protected]",
    "payment_method": "credits",
    "coupon": "DESCON20",
    "period": 365,
    "period_type": 1,
    "modality": 1,
    "amount": "200.00 or 0",
    "discount_amount": "35.50",
    "aid": 1,
    "source": "Facebook",
    "utm_campaign": "YouTube",
    "utm_content": "Caroussel",
    "utm_medium": "Journal",
    "utm_source": "YouTube",
    "utm_term": "Search",
    "shift_id": 1,
    "querystring": "&utm_source=youtube&aid=1"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (500):

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

{
    "message": "Target [App\\Services\\Integration\\Contracts\\GatewayContract] is not instantiable while building [Knuckles\\Scribe\\Commands\\GenerateDocumentation, App\\Http\\Controllers\\Api\\v1\\EnrollmentController].",
    "exception": "Illuminate\\Contracts\\Container\\BindingResolutionException",
    "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
    "line": 1103,
    "trace": [
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 898,
            "function": "notInstantiable",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 770,
            "function": "build",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
            "line": 856,
            "function": "resolve",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 706,
            "function": "resolve",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
            "line": 841,
            "function": "make",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 1043,
            "function": "make",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 959,
            "function": "resolveClass",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 920,
            "function": "resolveDependencies",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 770,
            "function": "build",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
            "line": 856,
            "function": "resolve",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 706,
            "function": "resolve",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
            "line": 841,
            "function": "make",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 274,
            "function": "make",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 1099,
            "function": "getController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 1030,
            "function": "controllerMiddleware",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 810,
            "function": "gatherMiddleware",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 792,
            "function": "gatherRouteMiddleware",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Application.php",
            "line": 1078,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

POST api/v1/enrollments

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

course_id   integer   

Example: 1

user   integer|string   

a valid email or user_id. Example: 1 or [email protected]

payment_method   string  optional  

Payment Methods: [pix, boleto, credit_card, credits]. Example: credits

coupon   string|integer  optional  

Can be coupon id or coupon code. Example: DESCON20

period   integer  optional  

optional The number of period | default null. Example: 365

period_type   integer  optional  

optional Type of period, default days (days => 1, months => 2, years => 3). Example: 1

modality   integer  optional  

optional Presential = 2 | Online = 1 | Default is 1. Example: 1

amount   decimal   

(for free enrollments put 0). Example: 200.00 or 0

discount_amount   decimal  optional  

optional. Example: 35.50

aid   integer  optional  

Affiliate id | Example: 1

source   string  optional  

optional. Example: Facebook

utm_campaign   string  optional  

optional. Example: YouTube

utm_content   string  optional  

optional. Example: Caroussel

utm_medium   string  optional  

optional. Example: Journal

utm_source   string  optional  

optional. Example: YouTube

utm_term   string  optional  

optional. Example: Search

shift_id   integer  optional  

optional. The ID of shift for presential enrollments (1 => Manhã, 2 => Noite). Example: 1

querystring   string  optional  

optional. Example: &utm_source=youtube&aid=1

GET api/v1/lives/{slug?}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/lives/corrupti';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/lives/corrupti" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/lives/corrupti"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "data": {
        "lives": {
            "current_page": 1,
            "data": [],
            "first_page_url": "https://painel.edustore.online/api/v1/lives/corrupti?page=1",
            "from": null,
            "last_page": 1,
            "last_page_url": "https://painel.edustore.online/api/v1/lives/corrupti?page=1",
            "links": [
                {
                    "url": null,
                    "label": "« Anterior",
                    "active": false
                },
                {
                    "url": "https://painel.edustore.online/api/v1/lives/corrupti?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Próximo »",
                    "active": false
                }
            ],
            "next_page_url": null,
            "path": "https://painel.edustore.online/api/v1/lives/corrupti",
            "per_page": 30,
            "prev_page_url": null,
            "to": null,
            "total": 0
        },
        "future": [],
        "past": [],
        "current": null
    },
    "message": "Lives carregadas com sucesso"
}
 

Request   

GET api/v1/lives/{slug?}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

slug   string  optional  

The slug of the . Example: corrupti

GET api/v1/courses

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/courses';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'query' => [
            'per_page' => '0',
        ],
        'json' => [
            'upsell' => true,
            'gifts' => true,
            'area' => true,
            'type' => 0,
            'all' => false,
            'modality' => 0,
            'spotlight' => false,
            'query' => 'impedit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/courses?per_page=0" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"upsell\": true,
    \"gifts\": true,
    \"area\": true,
    \"type\": 0,
    \"all\": false,
    \"modality\": 0,
    \"spotlight\": false,
    \"query\": \"impedit\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/courses"
);

const params = {
    "per_page": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "upsell": true,
    "gifts": true,
    "area": true,
    "type": 0,
    "all": false,
    "modality": 0,
    "spotlight": false,
    "query": "impedit"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

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

{
    "current_page": 1,
    "data": [],
    "first_page_url": "https://painel.edustore.online/api/v1/courses?page=1",
    "from": null,
    "last_page": 1,
    "last_page_url": "https://painel.edustore.online/api/v1/courses?page=1",
    "links": [
        {
            "url": null,
            "label": "« Anterior",
            "active": false
        },
        {
            "url": "https://painel.edustore.online/api/v1/courses?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Próximo »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://painel.edustore.online/api/v1/courses",
    "per_page": 15,
    "prev_page_url": null,
    "to": null,
    "total": 0
}
 

Request   

GET api/v1/courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Query Parameters

per_page   integer  optional  

option The page of the results. Example: 0

Body Parameters

upsell   boolean  optional  

To get courses upsell of this course. Example: true

gifts   boolean  optional  

To get gifts of course. Example: true

area   boolean  optional  

To get area of course. Example: true

type   integer  optional  

The type of courses 1 = Padrão | 2 = Combo | 5 =Assinatura | 6 = Extensão | 7 = Educação Financeira. Example: 0

all   boolean  optional  

To get all courses include course without financial data Example: false

modality   integer  optional  

To get courses by modality 1=online | 2=presential. Example: 0

spotlight   boolean  optional  

To get courses in highlights Example: false

query   string  optional  

To get courses filtered by query Example: impedit

GET api/v1/courses/{course_id}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/courses/saepe';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'unlock' => true,
            'type' => 0,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/courses/saepe" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"unlock\": true,
    \"type\": 0
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/courses/saepe"
);

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

let body = {
    "unlock": true,
    "type": 0
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (404):

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

{
    "message": "Curso não encontrado"
}
 

Request   

GET api/v1/courses/{course_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

course_id   string   

The ID of the course. Example: saepe

Body Parameters

unlock   boolean  optional  

To get hidden courses. Example: true

type   integer  optional  

The type of courses 1 = Padrão | 2 = Combo | 5 =Assinatura | 6 = Extensão | 7 = Educação Financeira. Example: 0

GET api/v1/teachers

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/teachers';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'courses[]' => 6,
            'sessions[]' => 1,
            'type' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/teachers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"courses[]\": 6,
    \"sessions[]\": 1,
    \"type\": 1
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/teachers"
);

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

let body = {
    "courses[]": 6,
    "sessions[]": 1,
    "type": 1
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

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

{
    "message": "Professores carregados com sucesso.",
    "data": [
        {
            "name": "Ms. Dortha Baumbach",
            "avatar": "https://images.unsplash.com/photo-1598346762291-aee88549193f?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=60&ixid=MnwxfDB8MXxyYW5kb218MHx8dXNlcnx8fHx8fDE2NjY4MjE0Njk&ixlib=rb-4.0.3&q",
            "teacher_name": "Ms. Dortha Baumbach",
            "id": 2,
            "about": "Said he thanked the whiting kindly, but he would not stoop? Soup of the suppressed guinea-pigs, filled the air, and came back again. 'Keep your temper,' said the Mock Turtle. 'Seals, turtles, salmon, and so on; then, when you've cleared all the creatures argue. It's enough to drive one crazy!' The Footman seemed to be Involved in this way! Stop this moment, I tell you, you coward!' and at once in the window?' 'Sure, it's an arm, yer honour!' (He pronounced it 'arrum.') 'An arm, you goose! Who.",
            "user_id": "40",
            "created_at": "2022-10-26T21:58:00.000000Z",
            "updated_at": "2022-10-26T21:58:00.000000Z",
            "image": null,
            "linkedin": null,
            "facebook": null,
            "instagram": null,
            "office": null,
            "website": null,
            "status_id": 1,
            "type_id": 1,
            "youtube": null,
            "courses_sessions_teachers": []
        }
    ]
}
 

Request   

GET api/v1/teachers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

courses[]   string[]   

The ids of the Courses. Example: 6

sessions[]   string[]   

The ids of the sessions. Example: 1

type   integer  optional  

The type of the Teacher, academic = 1 | invited = 2. Example: 1

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/courses/search';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'query' => [
            'query' => 'demo 56',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/courses/search?query=demo+56" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/courses/search"
);

const params = {
    "query": "demo 56",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "count": 0,
    "data": []
}
 

GET api/v1/faq

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/faq';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'query' => [
            'scope' => 'consequuntur',
            'exclude_globals' => '1',
            'paginate' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/faq?scope=consequuntur&exclude_globals=1&paginate=10" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/faq"
);

const params = {
    "scope": "consequuntur",
    "exclude_globals": "1",
    "paginate": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "current_page": 1,
    "data": [],
    "first_page_url": "https://painel.edustore.online/api/v1/faq?page=1",
    "from": null,
    "last_page": 1,
    "last_page_url": "https://painel.edustore.online/api/v1/faq?page=1",
    "links": [
        {
            "url": null,
            "label": "« Anterior",
            "active": false
        },
        {
            "url": "https://painel.edustore.online/api/v1/faq?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Próximo »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://painel.edustore.online/api/v1/faq",
    "per_page": 10,
    "prev_page_url": null,
    "to": null,
    "total": 0
}
 

Request   

GET api/v1/faq

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Query Parameters

scope   string  optional  

Scope of FAQ Example: consequuntur

exclude_globals   boolean  optional  

Exclude global FAQ's Example: true

paginate   integer  optional  

Number of results per page, default = 10. Example: 10

GET api/v1/schedules/{id}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/schedules/vel';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/schedules/vel" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/schedules/vel"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Cronograma carregado com sucesso",
    "data": null
}
 

Request   

GET api/v1/schedules/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

id   string   

The ID of the schedule. Example: vel

Auth

API para autenticar, registrar, logar e recuperar senha de um usuário

POST api/v1/auth/forget

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/auth/forget';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/auth/forget" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/auth/forget"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (404):

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

{
    "message": "Usuário não encontrado, contate o suporte.",
    "status": 404
}
 

Request   

POST api/v1/auth/forget

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

POST api/v1/auth/register

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/auth/register';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'name' => 'Kelvyn Carbone',
            'email' => '[email protected]',
            'password' => '9&9DM@zu3',
            'password_confirmation' => 'illo',
            'phone' => '51999999999',
            'document' => 'dolores',
            'born_at' => '1994-03-18',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/auth/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"name\": \"Kelvyn Carbone\",
    \"email\": \"[email protected]\",
    \"password\": \"9&9DM@zu3\",
    \"password_confirmation\": \"illo\",
    \"phone\": \"51999999999\",
    \"document\": \"dolores\",
    \"born_at\": \"1994-03-18\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/auth/register"
);

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

let body = {
    "name": "Kelvyn Carbone",
    "email": "[email protected]",
    "password": "9&9DM@zu3",
    "password_confirmation": "illo",
    "phone": "51999999999",
    "document": "dolores",
    "born_at": "1994-03-18"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (422):

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

{
    "message": "O email já está sendo utilizado. (and 3 more errors)",
    "errors": {
        "email": [
            "O email já está sendo utilizado."
        ],
        "password": [
            "O campo password de confirmação não confere."
        ],
        "document": [
            "O campo document deve ter entre 11 e 15 dígitos.",
            "O campo document não é um CPF ou CNPJ válido."
        ]
    }
}
 

Request   

POST api/v1/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

name   string   

complete name of user. Example: Kelvyn Carbone

email   string   

a valid email. Example: [email protected]

password   string   

Min: 6 characters with number and special character. Example: 9&9DM@zu3

password_confirmation   string   

equal to password Example: illo

phone   string  optional  

optional phone number with DDD. Example: 51999999999

document   numeric  optional  

optional Can be CPF or CNPJ. Example 99999999999 / 999999999999999 Example: dolores

born_at   date  optional  

Born at date. Example: 1994-03-18

POST api/v1/auth/login

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/auth/login';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/auth/login"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (422):

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

{
    "message": "O campo email é obrigatório. (and 2 more errors)",
    "errors": {
        "email": [
            "O campo email é obrigatório."
        ],
        "password": [
            "O campo password é obrigatório."
        ],
        "device_name": [
            "O campo device name é obrigatório."
        ]
    }
}
 

Request   

POST api/v1/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/auth/logout

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/auth/logout';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/auth/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/auth/logout"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

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

{
    "message": "Você não possui autenticação."
}
 

Request   

GET api/v1/auth/logout

POST api/v1/auth/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/auth/me

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/auth/me';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/auth/me" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/auth/me"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

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

{
    "message": "Você não possui autenticação."
}
 

Request   

GET api/v1/auth/me

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Blog

API gerenciar posts do blog EduStore

GET api/v1/blog/posts

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/blog/posts';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/blog/posts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/blog/posts"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Lista de posts do blog carregado com sucesso!",
    "data": {
        "current_page": 1,
        "data": [
            {
                "id": 1,
                "title": "Teste",
                "subtitle": "EduStore Teste",
                "slug": "teste",
                "card_image": "https://storage-fenix.jelastic.saveincloud.net/edustore/blog-posts/capas/REU6n72n0SFeJRCKPKGf4VDs5QF9xFGyYvbggO2F.png",
                "tags": [
                    "Teste"
                ],
                "published_at": "23/01/2024 18:26",
                "user_id": 1,
                "url_post": "https:///blog/post/teste/1"
            }
        ],
        "first_page_url": "https://painel.edustore.online/api/v1/blog/posts?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "https://painel.edustore.online/api/v1/blog/posts?page=1",
        "links": [
            {
                "url": null,
                "label": "« Anterior",
                "active": false
            },
            {
                "url": "https://painel.edustore.online/api/v1/blog/posts?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Próximo »",
                "active": false
            }
        ],
        "next_page_url": null,
        "path": "https://painel.edustore.online/api/v1/blog/posts",
        "per_page": 25,
        "prev_page_url": null,
        "to": 1,
        "total": 1
    }
}
 

Request   

GET api/v1/blog/posts

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/blog/posts/{post_id}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/blog/posts/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/blog/posts/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/blog/posts/1"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Post do blog carregado com sucesso!",
    "data": {
        "id": 1,
        "title": "Teste",
        "post": "<p>dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio<span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><span style=\"font-size: 1rem;\">dasodiasjdasio jidoajsiodjasi odjioasdjiaos jdioaj iojsdio asjido as oijdioas jdioasj diojasio</span><br></p>",
        "cover_image": "https://storage-fenix.jelastic.saveincloud.net/edustore/blog-posts/capas/1qijGpszU4sIKWB4XVvBR8cpTRFwhjhxYWAbWsGH.png",
        "published_at": "23/01/2024 18:26",
        "user_id": 1,
        "created_at": "23/01/2024 21:28",
        "updated_at": "23/01/2024 21:28",
        "subtitle": "EduStore Teste",
        "card_image": "https://storage-fenix.jelastic.saveincloud.net/edustore/blog-posts/capas/REU6n72n0SFeJRCKPKGf4VDs5QF9xFGyYvbggO2F.png",
        "slug": "teste",
        "tags": [
            "Teste"
        ],
        "url_post": "https:///blog/post/teste/1",
        "user": {
            "id": 1,
            "name": "EduStore Online",
            "email": "[email protected]",
            "avatar": "https://storage-fenix.jelastic.saveincloud.net/edustore/avatares/e0NSpoGTrZFT71W72ItvzYuzij7HC3bBg8j3hhYk.jpg",
            "slug": "edustore",
            "first_name": "EduStore"
        }
    },
    "related_posts": [],
    "recent_posts": []
}
 

Request   

GET api/v1/blog/posts/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

post_id   integer   

The post id of the posts. Example: 1

CRM

API para newsletter

POST api/v1/newsletter

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/newsletter';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'email' => '[email protected]',
            'phone' => 'rsfhdxvtgsultaqjsicbnyepvbdhvqhuqsgwhdsybedexfsdpsgxyzgwbtktccwmjeubyigvyyqcpjgflntkkjqlqb',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/newsletter" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"email\": \"[email protected]\",
    \"phone\": \"rsfhdxvtgsultaqjsicbnyepvbdhvqhuqsgwhdsybedexfsdpsgxyzgwbtktccwmjeubyigvyyqcpjgflntkkjqlqb\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/newsletter"
);

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

let body = {
    "email": "[email protected]",
    "phone": "rsfhdxvtgsultaqjsicbnyepvbdhvqhuqsgwhdsybedexfsdpsgxyzgwbtktccwmjeubyigvyyqcpjgflntkkjqlqb"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

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

{
    "message": "E-mail cadastrado com sucesso",
    "data": {
        "id": 103,
        "email": "[email protected]",
        "created_at": "2024-02-09T16:45:49.000000Z",
        "updated_at": "2024-02-09T16:45:49.000000Z",
        "interests": [],
        "name": null,
        "status_id": "1",
        "phone": "",
        "first_name": null
    }
}
 

Request   

POST api/v1/newsletter

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

email   string   

The email of the user. Example: [email protected]

phone   string   

O campo value deve ter pelo menos 9 caracteres. Example: rsfhdxvtgsultaqjsicbnyepvbdhvqhuqsgwhdsybedexfsdpsgxyzgwbtktccwmjeubyigvyyqcpjgflntkkjqlqb

Configurações

API para busca das configurações públicas

GET api/v1/configs

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/configs';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/configs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/configs"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Configurações listadas com sucesso",
    "data": [
        {
            "config_name": "app_name",
            "config_value": "EduStore"
        }
    ]
}
 

Request   

GET api/v1/configs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Localizações

API para buscar cidades

GET api/v1/cities

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/cities';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/cities" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/cities"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

[
    {
        "id": 1,
        "state_id": "1",
        "city": "Acrelandia"
    }
]
 

Request   

GET api/v1/cities

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/states

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/states';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/states" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/states"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Estados carregados com sucesso",
    "data": [
        {
            "id": 1,
            "name": "Acre",
            "state": "AC",
            "capital": "Rio Branco",
            "slug_capital": "rio-branco",
            "slug_state": "acre",
            "preposition": "no"
        }
    ]
}
 

Request   

GET api/v1/states

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/countries

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/countries';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/countries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/countries"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Países carregados com sucesso",
    "data": [
        {
            "id": 1,
            "country": "Açores",
            "population": "245746",
            "continent": "África",
            "region": "Norte da África",
            "capital": "Ponta Delgada",
            "area_code": "0"
        }
    ]
}
 

Request   

GET api/v1/countries

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/cep

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/cep';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/cep" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/cep"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Para buscar você precisar o CEP."
}
 

Request   

GET api/v1/cep

POST api/v1/cep

PUT api/v1/cep

PATCH api/v1/cep

DELETE api/v1/cep

OPTIONS api/v1/cep

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Outros

POST api/v1/gateway/{gateway}/transaction/postback

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/gateway/et/transaction/postback';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/gateway/et/transaction/postback" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/gateway/et/transaction/postback"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):

Show headers
content-type: text/html; charset=UTF-8
cache-control: no-cache, private
access-control-allow-origin: *
x-ratelimit-limit: 300
x-ratelimit-remaining: 287
 


 

Request   

POST api/v1/gateway/{gateway}/transaction/postback

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

gateway   string   

The gateway. Example: et

GET api/v1/gateway/{gateway}/reprocess/{identifier}/{gateway_id?}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/gateway/omnis/reprocess/ut/omnis';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/gateway/omnis/reprocess/ut/omnis" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/gateway/omnis/reprocess/ut/omnis"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

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

{
    "message": "Attempt to read property \"plugin\" on null",
    "exception": "ErrorException",
    "file": "/Users/kelvyncarbone/Desktop/www/edustore/app/Http/Controllers/Api/v1/GatewayController.php",
    "line": 19,
    "trace": [
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php",
            "line": 270,
            "function": "handleError",
            "class": "Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/app/Http/Controllers/Api/v1/GatewayController.php",
            "line": 19,
            "function": "Illuminate\\Foundation\\Bootstrap\\{closure}",
            "class": "Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "reprocessPostback",
            "class": "App\\Http\\Controllers\\Api\\v1\\GatewayController",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 798,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 126,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 102,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 54,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 126,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 62,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 33,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 34,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 799,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 776,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 740,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 729,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 190,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 141,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 86,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/fruitcake/laravel-cors/src/HandleCors.php",
            "line": 52,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Fruitcake\\Cors\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 180,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 116,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 165,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 134,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 299,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 287,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 92,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 45,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 209,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 124,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 71,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 49,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 51,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 661,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 183,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 153,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Application.php",
            "line": 1078,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Console/Application.php",
            "line": 102,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 155,
            "function": "run",
            "class": "Illuminate\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/kelvyncarbone/Desktop/www/edustore/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/v1/gateway/{gateway}/reprocess/{identifier}/{gateway_id?}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

gateway   string   

The gateway. Example: omnis

identifier   string   

Example: ut

gateway_id   string  optional  

The ID of the gateway. Example: omnis

Produtos (Cursos e Materiais)

API para buscar cursos

GET api/v1/ebooks

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/ebooks';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/ebooks" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/ebooks"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "data": [
        {
            "id": 2,
            "title": "Material Doação",
            "image": "https://storage-fenix.jelastic.saveincloud.net/edustore/books/GSyiHA75JrfJolmPnAdqKfowKlNZnyerRqYrD1mT.png",
            "product_detail": null,
            "description": "<p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa</p><p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa</p><p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa</p><p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa</p><p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa</p><p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa</p><hr><p>saiodjasidjioa djsaiodjasio djsaiodjasio djisaojdioas jdiosadjiaos djiosajioa<br></p>",
            "status": "1",
            "created_at": "2022-12-15T18:05:51.000000Z",
            "updated_at": "2023-12-18T18:23:50.000000Z",
            "deleted_at": null,
            "slug": "teste-material",
            "book_url": "https://storage-fenix.jelastic.saveincloud.net/edustore/books/files/owxSjpKIkP7S64bZII5IHmDvWmUioeHneS2g7502.pdf",
            "preview_url": "https://storage-fenix.jelastic.saveincloud.net/edustore/books/previews/e6y7oYPgk5w4iHdaZBKdPewBAEzcvWA0txmLhm0H.pdf",
            "course_id": null,
            "link_scholarship": null,
            "subtitle": "teste",
            "button_text": null,
            "order": 0,
            "billing": {
                "online": {
                    "amount": "5.00",
                    "amount_label": "5,00",
                    "amount_pagarme": 500,
                    "discount_amount_label": "0,00",
                    "amount_ex_student_discount": null,
                    "amount_reenroll_discount": null,
                    "cash_discount": 0,
                    "cash_discount_boleto": 0,
                    "cash_discount_pix": 0,
                    "cash_discount_type": "1",
                    "cash_discount_type_boleto": "1",
                    "cash_discount_type_pix": "1",
                    "init_date_offer": null,
                    "end_date_offer": null,
                    "have_offer": false,
                    "offer": null,
                    "price_offer": "5.00",
                    "model_id": "2",
                    "model_type": "Book",
                    "hide_payment_methods": null,
                    "style": {
                        "border-color": "#6610f2 !important",
                        "background-color": "#6610f2 !important"
                    },
                    "signature_period": null,
                    "ex_student_accept_coupon": true,
                    "free_installments": null,
                    "interest_rate_credit_card": null,
                    "max_installments_credit_card": "12",
                    "original_amount": "5.00",
                    "original_amount_label": "5,00",
                    "sales_limit": 0,
                    "sales": 0,
                    "checkout_mode": 2,
                    "external_link": null,
                    "recurrence": false,
                    "has_recurrence": [],
                    "is_available": true,
                    "status": "1",
                    "config_tks_page": null,
                    "modality": "1",
                    "description": "",
                    "two_card_min_value": null,
                    "two_card_max_value": null,
                    "days_to_reenroll": 0,
                    "two_credit_card": "0",
                    "can_reenroll": false,
                    "coupon_condition": null,
                    "coupon": {
                        "is_valid": false,
                        "code": null,
                        "coupon_message": null,
                        "discount": 0,
                        "error": "Você já possui o desconto de ex-aluno aplicado neste pedido.",
                        "counter_date": null
                    },
                    "payment_methods": {
                        "traditional_credit_card": {
                            "first_installment": {
                                "label": "1x",
                                "installment": 1,
                                "installment_amount": 5,
                                "installment_amount_pagarme": "500",
                                "installment_gross_amount": 5,
                                "installment_amount_label": "5,00",
                                "amount": 5,
                                "gross_amount": 5,
                                "amount_pagarme": "500",
                                "amount_label": "5,00",
                                "gross_amount_label": "5,00"
                            },
                            "last_installment": {
                                "label": "12x",
                                "installment": 12,
                                "interest_rate": false,
                                "installment_amount_pagarme": "500",
                                "installment_amount": 0.42,
                                "installment_gross_amount": 0.42,
                                "installment_amount_label": "0,42",
                                "amount": 5,
                                "gross_amount": 5,
                                "amount_pagarme": "500",
                                "amount_label": "5,00",
                                "gross_amount_label": "5,00"
                            },
                            "installments": [
                                {
                                    "label": "1x",
                                    "installment": 1,
                                    "installment_amount": 5,
                                    "installment_amount_pagarme": "500",
                                    "installment_gross_amount": 5,
                                    "installment_amount_label": "5,00",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "2x",
                                    "installment": 2,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 2.5,
                                    "installment_gross_amount": 2.5,
                                    "installment_amount_label": "2,50",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "3x",
                                    "installment": 3,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 1.67,
                                    "installment_gross_amount": 1.67,
                                    "installment_amount_label": "1,67",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "4x",
                                    "installment": 4,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 1.25,
                                    "installment_gross_amount": 1.25,
                                    "installment_amount_label": "1,25",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "5x",
                                    "installment": 5,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 1,
                                    "installment_gross_amount": 1,
                                    "installment_amount_label": "1,00",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "6x",
                                    "installment": 6,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.83,
                                    "installment_gross_amount": 0.83,
                                    "installment_amount_label": "0,83",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "7x",
                                    "installment": 7,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.71,
                                    "installment_gross_amount": 0.71,
                                    "installment_amount_label": "0,71",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "8x",
                                    "installment": 8,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.63,
                                    "installment_gross_amount": 0.63,
                                    "installment_amount_label": "0,63",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "9x",
                                    "installment": 9,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.56,
                                    "installment_gross_amount": 0.56,
                                    "installment_amount_label": "0,56",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "10x",
                                    "installment": 10,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.5,
                                    "installment_gross_amount": 0.5,
                                    "installment_amount_label": "0,50",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "11x",
                                    "installment": 11,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.45,
                                    "installment_gross_amount": 0.45,
                                    "installment_amount_label": "0,45",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                },
                                {
                                    "label": "12x",
                                    "installment": 12,
                                    "interest_rate": false,
                                    "installment_amount_pagarme": "500",
                                    "installment_amount": 0.42,
                                    "installment_gross_amount": 0.42,
                                    "installment_amount_label": "0,42",
                                    "amount": 5,
                                    "gross_amount": 5,
                                    "amount_pagarme": "500",
                                    "amount_label": "5,00",
                                    "gross_amount_label": "5,00"
                                }
                            ]
                        },
                        "traditional_boleto": {
                            "label": "1x",
                            "installment": 1,
                            "amount": 5,
                            "gross_amount": 5,
                            "amount_pagarme": "500",
                            "amount_label": "5,00",
                            "gross_amount_label": "5,00"
                        },
                        "pix": {
                            "label": "1x",
                            "installment": 1,
                            "amount": 5,
                            "gross_amount": "5.00",
                            "amount_pagarme": "500",
                            "gross_amount_label": "5,00",
                            "amount_label": "5,00",
                            "payment_method": "Pix"
                        }
                    },
                    "smallest_installment": {
                        "label": "12x",
                        "installment": 12,
                        "amount": "0.42",
                        "amount_label": "0,42",
                        "gross_amount_label": "0,42",
                        "gross_amount": "0.0042",
                        "amount_pagarme": "500",
                        "payment_method": "Cartão de Crédito"
                    },
                    "first_installment": {
                        "label": "1x",
                        "installment": 1,
                        "amount": "5",
                        "gross_amount": "5.00",
                        "amount_pagarme": "500",
                        "gross_amount_label": "5,00",
                        "amount_label": "5,00",
                        "payment_method": "Boleto"
                    }
                }
            },
            "url_sale": "/apostilas/2",
            "book_tags": [],
            "financial_data": [
                {
                    "id": 2619,
                    "model_id": "2",
                    "modality": "1",
                    "description": null,
                    "price": "5.00",
                    "status": "1",
                    "financial_category_id": null,
                    "type_discount_automatic": null,
                    "price_discount_automatic": null,
                    "rules_discount_automatic": null,
                    "price_offer": null,
                    "init_date_offer": null,
                    "end_date_offer": null,
                    "max_installments_credit_card": "12",
                    "free_installments": null,
                    "created_at": "2022-12-15T18:06:25.000000Z",
                    "updated_at": "2022-12-15T18:06:25.000000Z",
                    "split_id": null,
                    "sales_limit": 0,
                    "interest_rate_credit_card": null,
                    "interest_rate_boleto": null,
                    "cash_discount": null,
                    "cash_discount_boleto": null,
                    "condition_id": null,
                    "config_tks_page": null,
                    "model_type": "Book",
                    "sales": "0",
                    "cash_discount_type": "1",
                    "cash_discount_type_boleto": "1",
                    "checkout_mode": 2,
                    "signature_period": null,
                    "condition_offer_id": null,
                    "ex_student_discount": null,
                    "ex_student_discount_type": null,
                    "courses_discount": null,
                    "end_data_discount": null,
                    "two_credit_card": "0",
                    "two_card_min_value": null,
                    "cash_discount_pix": null,
                    "cash_discount_type_pix": "1",
                    "style": {
                        "border-color": "#6610f2 !important",
                        "background-color": "#6610f2 !important"
                    },
                    "hide_payment_methods": null,
                    "external_link": null,
                    "reenroll_discount": null,
                    "reenroll_discount_type": null,
                    "days_to_reenroll": 0,
                    "deleted_at": null,
                    "ex_student_accept_coupon": true,
                    "original_amount": "5.00",
                    "have_offer": true,
                    "offer": null,
                    "condition": null
                }
            ]
        }
    ],
    "message": "Exames públicos carregados com sucesso."
}
 

Request   

GET api/v1/ebooks

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Site

API para buscar sliders

GET api/v1/sliders/{type?}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/sliders/occaecati';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/sliders/occaecati" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/sliders/occaecati"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Sliders carregados com sucesso.",
    "data": []
}
 

Request   

GET api/v1/sliders/{type?}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

type   string  optional  

Example: occaecati

GET api/v1/testimonials

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/testimonials';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            '$type' => 'site, ead',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/testimonials" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"$type\": \"site, ead\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/testimonials"
);

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

let body = {
    "$type": "site, ead"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

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

{
    "message": "Depoimentos carregados com sucesso.",
    "data": [
        {
            "id": 1,
            "testimonial_name": "William Stratch",
            "testimonial_office": null,
            "testimonial_description": "<p style=\"margin-right: 0px; margin-bottom: 15px; margin-left: 0px; font-family: &quot;Open Sans&quot;, Arial, sans-serif; padding: 0px; text-align: justify;\">Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.</p><div><br></div>",
            "created_at": "06/12/2023 18:38",
            "updated_at": "06/12/2023 18:38",
            "model_type": "SiteEad",
            "model_id": null,
            "company_name": null,
            "link": null,
            "avatar": null,
            "video_code": null,
            "cover": null,
            "deleted_at": null,
            "courses": null,
            "state_id": null,
            "city_id": null,
            "seal": null,
            "status": "1",
            "certification_id": null,
            "company_id": null,
            "clean_description": "Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.",
            "city": null,
            "state": null,
            "institution": null
        }
    ]
}
 

Request   

GET api/v1/testimonials

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

$type   string  optional  

optional The type of the Testimonial. Example: site, ead

GET api/v1/testimonials/regions

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/testimonials/regions';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/testimonials/regions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/testimonials/regions"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Regiões carregadas com sucesso.",
    "data": []
}
 

Request   

GET api/v1/testimonials/regions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/testimonials/institutions

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/testimonials/institutions';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/testimonials/institutions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/testimonials/institutions"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Instituições carregadas com sucesso.",
    "data": []
}
 

Request   

GET api/v1/testimonials/institutions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

GET api/v1/testimonials/{type?}

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/testimonials/officia';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            '$type' => 'site, ead',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/testimonials/officia" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"$type\": \"site, ead\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/testimonials/officia"
);

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

let body = {
    "$type": "site, ead"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

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

{
    "message": "Depoimentos carregados com sucesso.",
    "data": [
        {
            "id": 1,
            "testimonial_name": "William Stratch",
            "testimonial_office": null,
            "testimonial_description": "<p style=\"margin-right: 0px; margin-bottom: 15px; margin-left: 0px; font-family: &quot;Open Sans&quot;, Arial, sans-serif; padding: 0px; text-align: justify;\">Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.</p><div><br></div>",
            "created_at": "06/12/2023 18:38",
            "updated_at": "06/12/2023 18:38",
            "model_type": "SiteEad",
            "model_id": null,
            "company_name": null,
            "link": null,
            "avatar": null,
            "video_code": null,
            "cover": null,
            "deleted_at": null,
            "courses": null,
            "state_id": null,
            "city_id": null,
            "seal": null,
            "status": "1",
            "certification_id": null,
            "company_id": null,
            "clean_description": "Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, \"Lorem ipsum dolor sit amet..\", comes from a line in section 1.10.32.",
            "city": null,
            "state": null,
            "institution": null
        }
    ]
}
 

Request   

GET api/v1/testimonials/{type?}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

URL Parameters

type   string  optional  

Example: officia

Body Parameters

$type   string  optional  

optional The type of the Testimonial. Example: site, ead

GET api/v1/popups

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/popups';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
    --get "https://painel.edustore.online/api/v1/popups" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/popups"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

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

{
    "message": "Popups carregados com sucesso",
    "data": [
        {
            "id": 6,
            "image": "https://storage-fenix.jelastic.saveincloud.net/edustore/popups/WD1z1AdA99X1zQLggzK03wfjOXFqDPjSIdcWYImu.png",
            "url": "https://edustore.online",
            "type_url": true,
            "operator_id": 1,
            "created_at": "29/01/2024 21:00",
            "updated_at": "29/01/2024 21:00",
            "published_at": "29/01/2024 00:00",
            "expiration_at": "01/07/2024 17:59",
            "deleted_at": null,
            "local": "1",
            "popup_type": "1",
            "popup_size": "1",
            "popup_content": null,
            "popup_video": null,
            "products": []
        }
    ]
}
 

Request   

GET api/v1/popups

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Usuário

API para buscar os cursos de um usuário logado

POST api/v1/user/my-courses

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/user/my-courses';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/user/my-courses" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1"
const url = new URL(
    "https://painel.edustore.online/api/v1/user/my-courses"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

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

{
    "message": "Você não possui autenticação."
}
 

Request   

POST api/v1/user/my-courses

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

POST api/v1/user

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/user';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'name' => 'Bruce Wayne',
            'email' => '[email protected]',
            'password' => 'edustore@654%$#!@',
            'document' => '1111111111 or 222222222222222',
            'tag' => '"API" or ["API","CLIENT_1"]',
            'phone' => '99999999999',
            'born_at' => '1994-03-18',
            'send_mail' => 'true or false',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"name\": \"Bruce Wayne\",
    \"email\": \"[email protected]\",
    \"password\": \"edustore@654%$#!@\",
    \"document\": \"1111111111 or 222222222222222\",
    \"tag\": \"\\\"API\\\" or [\\\"API\\\",\\\"CLIENT_1\\\"]\",
    \"phone\": \"99999999999\",
    \"born_at\": \"1994-03-18\",
    \"send_mail\": \"true or false\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/user"
);

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

let body = {
    "name": "Bruce Wayne",
    "email": "[email protected]",
    "password": "edustore@654%$#!@",
    "document": "1111111111 or 222222222222222",
    "tag": "\"API\" or [\"API\",\"CLIENT_1\"]",
    "phone": "99999999999",
    "born_at": "1994-03-18",
    "send_mail": "true or false"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

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

{
    "message": "Você não possui autenticação."
}
 

Request   

POST api/v1/user

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

name   string   

Example: Bruce Wayne

email   string   

Example: [email protected]

password   string   

Example: edustore@654%$#!@

document   numeric   

CPF|CNPJ. Example: 1111111111 or 222222222222222

tag   string|array   

Tag your user. Example: "API" or ["API","CLIENT_1"]

phone   numeric  optional  

Example: 99999999999

born_at   date  optional  

Example: 1994-03-18

send_mail   If  optional  

true we will send a register e-mail to user. Example: true or false

POST api/v1/users/tokens

Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://painel.edustore.online/api/v1/users/tokens';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Authorization' => 'Bearer {token}',
            'ApiDoc' => true,
        ],
        'json' => [
            'email' => '[email protected]',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
    "https://painel.edustore.online/api/v1/users/tokens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Authorization: Bearer {token}" \
    --header "ApiDoc: 1" \
    --data "{
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://painel.edustore.online/api/v1/users/tokens"
);

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

let body = {
    "email": "[email protected]"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

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

{
    "message": "Você não possui autenticação."
}
 

Request   

POST api/v1/users/tokens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Authorization      

Example: Bearer {token}

ApiDoc      

Example: true

Body Parameters

email   required.  optional  

Example: [email protected]