---
# System prepended metadata

title: Standar Reponse API Talaria

---


Standar Reponse API Talaria
===
### STANDAR RESPON API TALARIA

#### Format JSON API

Format standar respon API Talaria menggunakan JSON (https://tools.ietf.org/html/rfc7159)
Parameter standar respon antara lain:
* code -- kode respon bisa dikustom (dibuatkan daftar kode)
* status -- status respon [SUCCESS, ERROR, EMPTY, NOAKSES, LAIN]
* message -- pesan respon bisa dikustom (pesan server diteruskan ke client)
* data -- data tambahan dari respon
* version -- berisikan data versi dari app

#### Contoh format respon:
#### 1. RESPON GET (2XX)
1.1 Format respon GET (status: SUKSES)

```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “SUCCESS”
        “message”: “sukses get data berita”
    },
    “data”: [
        {“key1”:”value1”},
        {“key2”: “value2”}
    ],
    "properties" : {
        "image" : "response.jpg",
        "icon" : "ic_respnse.png",
        "title" : {
            "caption" : "Tes"
        }, 
        "button" : {
            "title" : "Tes", 
            "color" : "#34432",
            "event" : {
                "binding" : "click",
                "name" : "function name"
            }
        }, 
        "action" : {
            "title" : "Tes",
            "type" : "button/link",
            "url" : "http://"
        }, 
        "success" : {
            "type" : "form/response",
            "id" : "email"
        },
        "error" : {
            "type" : "form/response",
            "id" : "email"
        }
    }
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

1.2 Format respon GET (status: EMPTY)

```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “EMPTY”
        “message”: “data akun tidak ditemukan”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```


| CODE | STATUS | MESSAGE(dapat diganti) |
| -------- | -------- | -------- |
| 20000000     | SUCCESS     | Text     |
| 20000000 | EMPTY | Status Empty


#### 2. RESPON POST (2XX)
2.1 Format Respon POST (status: SUKSES)

```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “SUCCESS”
        “message”: “sukses post data pengaduan”
    }
    “data”:  {
        “nopengaduan”: “000AA123”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “SUCCESS”
        “message”: “sukses post data pengaduan”
    }
    “data”: [
        {“key1”:”value1”},
        {“key2”: “value2”}
    ],
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

2.2 Format Respon POST (status: EMPTY)
```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “EMPTY”
        “message”: “data akun tidak ditemukan”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

| CODE | STATUS | MESSAGE |
| -------- | -------- | -------- |
| 20000000     | SUCCESS     | Status Sukses     |
| 20000000 | EMPTY | Status Empty


#### 3. RESPON PUT (2XX)
3.1 Format Respon PUT (status: SUKSES)

```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “SUCCESS”
        “message”: “sukses post data pengaduan”
    }
    “data”:  {
        “nopengaduan”: “000AA123”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “20000000”
        “status”: “SUCCESS”
        “message”: “sukses post data pengaduan”
    }
    “data”: [
        {“key1”:”value1”},
        {“key2”: “value2”}
    ],
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

3.2 Format Respon POST (status: EMPTY)
```
HTTP/1.1 200
Content-Type: application/json
{
    "response": {
        “code”: “2000000”
        “status”: “EMPTY”
        “message”: “data akun tidak ditemukan”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

#### 4. RESPON 4xx

4.1 Format Respon 401 Unauthorized

```
HTTP/1.1 401
Content-Type: application/json 
{
    "response": {
        “code”: “40100000”
        “status”: “UNAUTHORIZED”
        “message”: “status unauthorized”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

4.2 Format Respon 403 Forbidden

```
HTTP/1.1 403
Content-Type: application/json 
{
    "response": {
        “code”: “40300000”
        “status”: “FORBIDDEN”
        “message”: “status forbidden”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

4.3 Format Respon 404 Not Found

```
HTTP/1.1 404
Content-Type: application/json
{
    "response": {
        “code”: “40400000”
        “status”: “NOTFOUND”
        “message”: “status not found”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

4.4 Format Respon 408 Request Timeout

```
HTTP/1.1 408
Content-Type: application/json
{
    "response": {
        “code”: “40800000”
        “status”: “TIMEOUT”
        “message”: “request time out”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

4.5 Format Respon 429 Too Many Request
```
HTTP/1.1 429
Content-Type: application/json
{
    "response": {
        “code”: “42900000”
        “status”: “TOOMANY”
        “message”: “request too many”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

#### 5. RESPON 5XX

5.1 Format Respon 500 Server Error

```
HTTP/1.1 500
Content-Type: application/json
{    
    "response": {
        “code”: “50000000”
        “status”: “SERVERERROR”
        “message”: “server error”
    },
    "version" : {
        "app" : "ether V1.2.0",
        "build" : "ether-canopus B1.2.1-05052020"
        "date" : "05 Mei 2020"
    }
}
```

| CODE | STATUS | MESSAGE(dapat diganti) |
| -------- | -------- | -------- |
| 40100000     | UNAUTHORIZED     | Status Unauthorized     |
| 40300000 | FORBIDDEN | Status Forbidden
| 40400000 | NOTFOUND | Status Not Found
| 42900000 | TOOMANY | Request too many
| 50000000 | ERROR | Status Server Error


### Tabel Standar Response
#### Keterangan Status
| STATUS | KETERANGAN |
| -------- | -------- |
| SUCCESS     | data ditemukan     |
| EMPTY     | data kosong     |
| UNAUTHORIZED     | token/user&password tidak valid    |
| FORBIDDEN     | user tidak ada akses    |
| NOTFOUND     | halaman tidak ditemukan    |
| TOOMANY     | terlalu banyak akses    |
| INVALID     | parameter request kosong/tidak valid    |
| ERROR     | ketika server/aplikasi error    |

#### Standar Code
| CODE | STATUS | MESSAGE(dapat diganti) |
| -------- | -------- | -------- |
| 20000000     | SUCCESS     | Status Sukses |
| 20000030 | EMPTY | Pelanggan Tidak ditemukan |
| 20000031 | EMPTY | Pelanggan Tidak aktif |
| 20000000 | EMPTY | Status Empty |
| 40000000     | INVALID     | Status Invalid Parameter     |
| 40100000     | UNAUTHORIZED     | Status Unauthorized     |
| 40300000 | FORBIDDEN | Status Forbidden|
| 40400000 | NOTFOUND | Status Not Found|
| 42900000 | TOOMANY | Request too many |
| 50000000 | ERROR | Status Error |




Referensi:
https://github.com/cryptlex/rest-api-response-format
https://jsonapi.org/format/
https://medium.com/@bojanmajed/standard-json-api-response-format-c6c1aabcaa6d
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
