Delcom Open API Logo

Delcom

Courses

Dokumentasi API

Courses

Courses Endpoint

info: Mengolah data kursus.


Base URL

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

Add New Course

Menambahkan kursus pembelajaran baru ke dalam sistem.

  • URL
    • /courses
  • Method
    • POST
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • description as string
  • Contoh Request
    POST {{BaseURL}}/courses
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
        "title": "Contoh Judul",
        "description": "Contoh deskripsi"
    }
    
  • Catatan: upload cover dilakukan terpisah lewat Change Cover Course.

Change Cover Course

Mengunggah atau memperbarui gambar sampul (cover) kursus.

  • URL
    • /courses/:id/cover
  • Method
    • POST
  • Headers
    • Content-Type: multipart/form-data
    • Authorization: Bearer <token>
  • Request Body
    • cover as file
  • Contoh Request
    POST {{BaseURL}}/courses/1/cover
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: multipart/form-data; boundary=----DelcomFormBoundary
    
    ------DelcomFormBoundary
    Content-Disposition: form-data; name="cover"; filename="cover.jpg"
    Content-Type: image/jpeg
    
    < ./cover.jpg
    ------DelcomFormBoundary--
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil mengubah cover"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Update Course

Memperbarui informasi judul atau deskripsi dari kursus.

  • URL
    • /courses/:id
  • Method
    • PUT
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • description as string
  • Contoh Request
    PUT {{BaseURL}}/courses/1
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
        "title": "Contoh Judul",
        "description": "Contoh deskripsi"
    }
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil mengubah data"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Get All Courses

Mengambil daftar seluruh kursus pembelajaran yang tersedia.

  • URL
    • /courses
  • Parameters
    • is_me as 1
      • Notes:
        • 1 as retrieve all data created
  • Method
    • GET
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    GET {{BaseURL}}/courses
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "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"
                }
            ]
        }
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Detail Course

Mendapatkan rincian informasi kursus beserta daftar materi dan siswa.

  • URL
    • /courses/:id
  • Method
    • GET
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    GET {{BaseURL}}/courses/1
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "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"
            }
        }
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Delete Course

Menghapus kursus yang dipilih dari sistem.

  • URL
    • /courses/:id
  • Method
    • DELETE
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    DELETE {{BaseURL}}/courses/1
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil menghapus data"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Add Student

Mendaftarkan siswa/peserta baru ke dalam suatu kursus.

  • URL
    • /courses/:id/students
  • Method
    • POST
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    POST {{BaseURL}}/courses/1/students
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil menjadi pelajar pada kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Delete Student

Menghapus siswa/peserta dari daftar peserta kursus.

  • URL
    • /courses/:id/students
  • Method
    • DELETE
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    DELETE {{BaseURL}}/courses/1/students
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil keluar sebagai pelajar pada kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Change Student Ratings

Memberikan atau memperbarui nilai rating dan ulasan untuk kursus.

  • URL
    • /courses/:id/students/ratings
  • Method
    • PUT
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Request Body
    • ratings as number only 1, 2, 3, 4 or 5
    • comment as string
  • Contoh Request
    PUT {{BaseURL}}/courses/1/students/ratings
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
        "ratings": 1,
        "comment": "Komentar percobaan"
    }
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil mengubah ratings pada kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Add New Content

Menambahkan materi/konten pembelajaran baru ke dalam kursus.

  • URL
    • /courses/:id/contents
  • Method
    • POST
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • youtube as url
  • Contoh Request
    POST {{BaseURL}}/courses/1/contents
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
        "title": "Contoh Judul",
        "youtube": "https://youtu.be/uHyfQV0kbgo"
    }
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil menambahkan konten kursus",
        "data": {
            "content_id": 1
        }
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Update Content

Memperbarui isi judul atau materi pembelajaran pada konten kursus.

  • URL
    • /courses/-/contents/:id
  • Method
    • PUT
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Request Body
    • title as string
    • youtube as url
  • Contoh Request
    PUT {{BaseURL}}/courses/-/contents/1
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
        "title": "Contoh Judul",
        "youtube": "https://youtu.be/uHyfQV0kbgo"
    }
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil mengubah konten kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Detail Content

Melihat isi detail satu materi konten kursus berdasarkan ID.

  • URL
    • /courses/-/contents/:id
  • Method
    • GET
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    GET {{BaseURL}}/courses/-/contents/1
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "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
            }
        }
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Delete Content

Menghapus materi pembelajaran tertentu dari kursus.

  • URL
    • /courses/-/contents/:id
  • Method
    • DELETE
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Contoh Request
    DELETE {{BaseURL}}/courses/-/contents/1
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil menghapus konten kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Change Content Status

Memperbarui status penyelesaian materi konten oleh peserta kursus.

  • URL
    • /courses/-/contents/:id/learns
  • Method
    • POST
  • Headers
    • Content-Type: application/json
    • Authorization: Bearer <token>
  • Request Body
    • status as 1 | 0
  • Contoh Request
    POST {{BaseURL}}/courses/-/contents/1/learns
    Accept: application/json
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
        "status": 0
    }
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil mengubah status pembelajaran pada konten kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Data tidak valid",
        "data": {
            "field": [
                "Pesan validasi"
            ]
        }
    }
    

Delete All Courses

Menghapus semua data kursus yang dibuat oleh pengguna saat ini secara permanen beserta cover, materi konten, pendaftaran siswa, dan progres belajar terkait.

  • URL
    • /courses
  • Method
    • DELETE
  • Headers
    • Authorization: Bearer <token>
  • Contoh Request
    DELETE {{BaseURL}}/courses
    Accept: application/json
    Authorization: Bearer <token>
    
  • Response Berhasil
    {
        "status": "success",
        "message": "Berhasil menghapus semua data kursus"
    }
    
  • Response Gagal
    {
        "status": "fail",
        "message": "Unauthenticated."
    }