Courses Endpoint

{info} Mengolah data kursus.


Base URL

https://public-api.delcom.org/api/v1

Add New Course

  • URL
    • /courses
  • Method
    • POST
  • Headers
    • Content-Type: multipart/form-data
    • Authorization: Bearer <token>
  • Request Body
    • cover as file
    • title as string
    • description as string
  • Response
{
    "success": true,
    "message": "Berhasil menambahkan data",
    "data": {
        "course_id": 1
    }
}

Change Cover Course

  • URL
    • /courses/:id/cover
  • Method
    • POST
  • Headers
    • Content-Type: multipart/form-data
    • Authorization: Bearer <token>
  • Request Body
    • cover as file
  • Response
{
    "success": true,
    "message": "Berhasil mengubah cover"
}

Update Course

  • URL
    • /courses/:id
  • Method
    • PUT
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • description as string
  • Response
{
    "success": true,
    "message": "Berhasil mengubah data"
}

Get All Courses

  • URL
    • /courses
  • Parameters
    • is_me as 1
      • Notes:
        • 1 as retrieve all data created
  • Method
    • GET
  • Headers
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil mengambil data",
    "data": {
        "courses": [
            {
                "id": 4,
                "user_id": 1,
                "title": "Belajar ReactJS",
                "cover": "http://127.0.0.1:8000/img/courses/cover/1_1728178077.jpeg",
                "description": "Belajar ReactJS dari awal sampai mahir",
                "created_at": "2024-10-06T01:27:37.000000Z",
                "updated_at": "2024-10-06T01:28:31.000000Z",
                "author": {
                    "name": "Abdullah Ubaid",
                    "photo": "http://127.0.0.1:8000/default/img/user.png"
                },
                "students": [],
                "total_contents": 0,
                "avg_ratings": null
            },
            {
                "id": 3,
                "user_id": 1,
                "title": "Dasar C",
                "cover": "http://127.0.0.1:8000/img/courses/cover/1_1728175235.jpeg",
                "description": "Belajar dasar C dari awal",
                "created_at": "2024-10-06T00:40:35.000000Z",
                "updated_at": "2024-10-06T00:40:35.000000Z",
                "author": {
                    "name": "Abdullah Ubaid",
                    "photo": "http://127.0.0.1:8000/default/img/user.png"
                },
                "students": [1],
                "total_contents": 3,
                "avg_ratings": "4.0000"
            }
        ]
    }
}

Detail Course

  • URL
    • /courses/:id
  • Method
    • GET
  • Headers
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil mengambil data",
    "data": {
        "course": {
            "id": 3,
            "user_id": 1,
            "title": "Dasar C",
            "cover": "http://127.0.0.1:8000/img/courses/cover/1_1728175235.jpeg",
            "description": "Belajar dasar C dari awal",
            "created_at": "2024-10-06T00:40:35.000000Z",
            "updated_at": "2024-10-06T00:40:35.000000Z",
            "author": {
                "name": "Abdullah Ubaid",
                "photo": "http://127.0.0.1:8000/default/img/user.png"
            },
            "students": [1],
            "contents": [
                {
                    "id": 1,
                    "course_id": 3,
                    "title": "Dasar Java",
                    "youtube": "https://youtu.be/uHyfQV0kbgo",
                    "created_at": "2024-10-06T00:55:15.000000Z",
                    "updated_at": "2024-10-06T00:55:15.000000Z",
                    "my_status_finished": false
                },
                {
                    "id": 2,
                    "course_id": 3,
                    "title": "Dasar Java",
                    "youtube": "https://youtu.be/uHyfQV0kbgo",
                    "created_at": "2024-10-06T00:56:47.000000Z",
                    "updated_at": "2024-10-06T00:56:47.000000Z",
                    "my_status_finished": false
                },
                {
                    "id": 4,
                    "course_id": 3,
                    "title": "Dasar Java",
                    "youtube": "https://youtu.be/uHyfQV0kbgo",
                    "created_at": "2024-10-06T01:03:20.000000Z",
                    "updated_at": "2024-10-06T01:03:20.000000Z",
                    "my_status_finished": true
                }
            ],
            "total_contents": 3,
            "ratings": [
                {
                    "name": "Abdullah Ubaid",
                    "ratings": 4,
                    "comment": "Keren kali kursusnya lek"
                }
            ],
            "avg_ratings": "4.00",
            "my_percentage_finished": "33.33"
        }
    }
}

Delete Course

  • URL
    • /courses/:id
  • Method
    • DELETE
  • Headers
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil menghapus data"
}

Add Student

  • URL
    • /courses/:id/students
  • Method
    • POST
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil menjadi pelajar pada kursus"
}

Delete Student

  • URL
    • /courses/:id/students
  • Method
    • DELETE
  • Headers
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil keluar sebagai pelajar pada kursus"
}

Change Student Ratings

  • URL
    • /courses/:id/students/ratings
  • Method
    • PUT
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Request Body
    • ratings as number only 1, 2, 3, 4 or 5
    • comment as string
  • Response
{
    "success": true,
    "message": "Berhasil mengubah ratings pada kursus"
}

Add New Content

  • URL
    • /courses/:id/contents
  • Method
    • POST
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • youtube as url
  • Response
{
    "success": true,
    "message": "Berhasil menambahkan konten kursus",
    "data": {
        "content_id": 1
    }
}

Update Content

  • URL
    • /courses/-/contents/:id
  • Method
    • PUT
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • youtube as url
  • Response
{
    "success": true,
    "message": "Berhasil mengubah konten kursus"
}

Detail Content

  • URL
    • /courses/-/contents/:id
  • Method
    • GET
  • Headers
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil mengambil data",
    "data": {
        "course_content": {
            "id": 4,
            "course_id": 3,
            "title": "Dasar Java",
            "youtube": "https://youtu.be/uHyfQV0kbgo",
            "created_at": "2024-10-06T01:03:20.000000Z",
            "updated_at": "2024-10-06T01:03:20.000000Z",
            "my_status_finished": true
        }
    }
}

Delete Content

  • URL
    • /courses/-/contents/:id
  • Method
    • DELETE
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Response
{
    "success": true,
    "message": "Berhasil menghapus konten kursus"
}

Change Content Status

  • URL
    • /courses/-/contents/:id/learns
  • Method
    • POST
  • Headers
    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Bearer <token>
  • Request Body
    • status as 1 | 0
  • Response
{
    "success": true,
    "message": "Berhasil mengubah status pembelajaran pada konten kursus"
}