NAV -image
bash javascript php python

Introduction

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

Base URL

https://devppj.wikaenergi.com

Authenticating requests

This API is authenticated by sending an Authorization header with the value "Bearer {token}".

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

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

0. Core - Authentication & User Management

API untuk authentikasi & kelola kredensial user

Untuk Login mobile menggunakan endpoint auth/token ( JWT Authentication )

Logout menggunakan endpoint auth/logout ( POST atau GET ) dengan mandatory token JWT disertakan di header

JWT Authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/token?login=molestias&pwd=ipsa" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/token"
);

let params = {
    "login": "molestias",
    "pwd": "ipsa",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/token',
    [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'query' => [
            'login'=> 'molestias',
            'pwd'=> 'ipsa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/token'
params = {
  'login': 'molestias',
  'pwd': 'ipsa',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/auth/token

Query Parameters

login  string optional  
Field containing identification credential, typically containing email or username, or other ID string that can uniquely identify a user.

pwd  string optional  
Field containing password in plain text

Change Password

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/change-password" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"pass":"enim","confirmPass":"tempora","userId":"ducimus"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/change-password"
);

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

let body = {
    "pass": "enim",
    "confirmPass": "tempora",
    "userId": "ducimus"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/change-password',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pass' => 'enim',
            'confirmPass' => 'tempora',
            'userId' => 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/change-password'
payload = {
    "pass": "enim",
    "confirmPass": "tempora",
    "userId": "ducimus"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/auth/change-password

Body Parameters

pass  string  
New Password

confirmPass  string  
Confirmation for the New Password

userId  string  
User ID , the database _id for user object

Username / email and password authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/login?login=quos&pwd=aliquam" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/login"
);

let params = {
    "login": "quos",
    "pwd": "aliquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/login',
    [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'query' => [
            'login'=> 'quos',
            'pwd'=> 'aliquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/login'
params = {
  'login': 'quos',
  'pwd': 'aliquam',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/auth/login

Query Parameters

login  string  
Username or Email that identifies the user

pwd  string optional  
Password in plain text

Logout using GET method

requires authentication

Logout using GET method, invalidates session token or JWT token.

This function should be synchronized with in app session management to provide correct UX

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/auth/logout?token=molestiae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/logout"
);

let params = {
    "token": "molestiae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/logout',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'token'=> 'molestiae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/logout'
params = {
  'token': 'molestiae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/auth/logout

Query Parameters

token  string  
Session token or JWT token

Logout using POST method

requires authentication

Logout using POST method, invalidates session token or JWT token.

This function should be synchronized with in app session management to provide correct UX

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/logout" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"token":"nihil"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/logout"
);

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

let body = {
    "token": "nihil"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/logout',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'token' => 'nihil',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/logout'
payload = {
    "token": "nihil"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/auth/logout

Body Parameters

token  string  
Session token or JWT token to invalidate.

0. Core - Bookmark

Bookmarking User entities

List Bookmark

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/bookmark?p=20&pp=2&sf=2&sv=11&me=praesentium&ms=minima&df=placeat&ds=sequi&de=provident&lf=temporibus&lat=0.7164&lng=1.38&rad=0.1047159" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark"
);

let params = {
    "p": "20",
    "pp": "2",
    "sf": "2",
    "sv": "11",
    "me": "praesentium",
    "ms": "minima",
    "df": "placeat",
    "ds": "sequi",
    "de": "provident",
    "lf": "temporibus",
    "lat": "0.7164",
    "lng": "1.38",
    "rad": "0.1047159",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '20',
            'pp'=> '2',
            'sf'=> '2',
            'sv'=> '11',
            'me'=> 'praesentium',
            'ms'=> 'minima',
            'df'=> 'placeat',
            'ds'=> 'sequi',
            'de'=> 'provident',
            'lf'=> 'temporibus',
            'lat'=> '0.7164',
            'lng'=> '1.38',
            'rad'=> '0.1047159',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark'
params = {
  'p': '20',
  'pp': '2',
  'sf': '2',
  'sv': '11',
  'me': 'praesentium',
  'ms': 'minima',
  'df': 'placeat',
  'ds': 'sequi',
  'de': 'provident',
  'lf': 'temporibus',
  'lat': '0.7164',
  'lng': '1.38',
  'rad': '0.1047159',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/bookmark

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/bookmark/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/list/sit/laborum/occaecati" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/list/sit/laborum/occaecati"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/list/sit/laborum/occaecati',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/list/sit/laborum/occaecati'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/bookmark/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Bookmark

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ns":"ut","entity":"autem","actorId":"voluptatibus","actorName":"maxime","customerId":"eum","customerName":"aut","bookMark":false,"tz":"doloremque"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark"
);

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

let body = {
    "ns": "ut",
    "entity": "autem",
    "actorId": "voluptatibus",
    "actorName": "maxime",
    "customerId": "eum",
    "customerName": "aut",
    "bookMark": false,
    "tz": "doloremque"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'ns' => 'ut',
            'entity' => 'autem',
            'actorId' => 'voluptatibus',
            'actorName' => 'maxime',
            'customerId' => 'eum',
            'customerName' => 'aut',
            'bookMark' => false,
            'tz' => 'doloremque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark'
payload = {
    "ns": "ut",
    "entity": "autem",
    "actorId": "voluptatibus",
    "actorName": "maxime",
    "customerId": "eum",
    "customerName": "aut",
    "bookMark": false,
    "tz": "doloremque"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/bookmark

Body Parameters

ns  string optional  
app namespace

entity  string optional  
entity to be bookmarked

actorId  string optional  
actorId to be bookmarked

actorName  string optional  
actorName to be bookmarked

customerId  string optional  
customerId bookmark owner

customerName  string optional  
customerName bookmark owner

bookMark  boolean optional  
bookmark value true / false

tz  string optional  
time zone

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/init?by=debitis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/init"
);

let params = {
    "by": "debitis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'debitis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/init'
params = {
  'by': 'debitis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/bookmark/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/change-status/repudiandae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"et","changeBy":"eos","changeMode":"molestiae","changeDate":"omnis","changeRemarks":"at","changeStatusTo":"esse","changeStatusObject":"laborum","currentStatus":"doloribus","entityType":"molestias","entityId":"ab"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/change-status/repudiandae"
);

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

let body = {
    "changeStatusField": "et",
    "changeBy": "eos",
    "changeMode": "molestiae",
    "changeDate": "omnis",
    "changeRemarks": "at",
    "changeStatusTo": "esse",
    "changeStatusObject": "laborum",
    "currentStatus": "doloribus",
    "entityType": "molestias",
    "entityId": "ab"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/change-status/repudiandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'et',
            'changeBy' => 'eos',
            'changeMode' => 'molestiae',
            'changeDate' => 'omnis',
            'changeRemarks' => 'at',
            'changeStatusTo' => 'esse',
            'changeStatusObject' => 'laborum',
            'currentStatus' => 'doloribus',
            'entityType' => 'molestias',
            'entityId' => 'ab',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/change-status/repudiandae'
payload = {
    "changeStatusField": "et",
    "changeBy": "eos",
    "changeMode": "molestiae",
    "changeDate": "omnis",
    "changeRemarks": "at",
    "changeStatusTo": "esse",
    "changeStatusObject": "laborum",
    "currentStatus": "doloribus",
    "entityType": "molestias",
    "entityId": "ab"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/bookmark/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Bookmark

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/sed?by=maxime" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/sed"
);

let params = {
    "by": "maxime",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/sed',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'maxime',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/sed'
params = {
  'by': 'maxime',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/bookmark/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/quia?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/quia"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/quia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/quia'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/bookmark/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/schema?sf=molestiae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/schema"
);

let params = {
    "sf": "molestiae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'molestiae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/schema'
params = {
  'sf': 'molestiae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/bookmark/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/omnis?by=sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/bookmark/omnis"
);

let params = {
    "by": "sint",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/omnis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/bookmark/omnis'
params = {
  'by': 'sint',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/bookmark/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Commercial Scheme

Service Commercial Scheme

List Commercial Scheme

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme?p=20&pp=2&sf=7&sv=20&me=fugit&ms=architecto&df=accusantium&ds=id&de=officia&lf=labore&lat=23180161.469026&lng=8.642493574&rad=5739" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme"
);

let params = {
    "p": "20",
    "pp": "2",
    "sf": "7",
    "sv": "20",
    "me": "fugit",
    "ms": "architecto",
    "df": "accusantium",
    "ds": "id",
    "de": "officia",
    "lf": "labore",
    "lat": "23180161.469026",
    "lng": "8.642493574",
    "rad": "5739",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '20',
            'pp'=> '2',
            'sf'=> '7',
            'sv'=> '20',
            'me'=> 'fugit',
            'ms'=> 'architecto',
            'df'=> 'accusantium',
            'ds'=> 'id',
            'de'=> 'officia',
            'lf'=> 'labore',
            'lat'=> '23180161.469026',
            'lng'=> '8.642493574',
            'rad'=> '5739',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme'
params = {
  'p': '20',
  'pp': '2',
  'sf': '7',
  'sv': '20',
  'me': 'fugit',
  'ms': 'architecto',
  'df': 'accusantium',
  'ds': 'id',
  'de': 'officia',
  'lf': 'labore',
  'lat': '23180161.469026',
  'lng': '8.642493574',
  'rad': '5739',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-scheme

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-scheme/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/list/ipsam/modi/sed" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/list/ipsam/modi/sed"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/list/ipsam/modi/sed',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/list/ipsam/modi/sed'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-scheme/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Commercial Scheme

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-comm-scheme

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/init?by=ad" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/init"
);

let params = {
    "by": "ad",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ad',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/init'
params = {
  'by': 'ad',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-comm-scheme/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/change-status/natus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"eveniet","changeBy":"dolore","changeMode":"doloribus","changeDate":"est","changeRemarks":"facilis","changeStatusTo":"non","changeStatusObject":"magnam","currentStatus":"aliquid","entityType":"accusamus","entityId":"consequatur"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/change-status/natus"
);

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

let body = {
    "changeStatusField": "eveniet",
    "changeBy": "dolore",
    "changeMode": "doloribus",
    "changeDate": "est",
    "changeRemarks": "facilis",
    "changeStatusTo": "non",
    "changeStatusObject": "magnam",
    "currentStatus": "aliquid",
    "entityType": "accusamus",
    "entityId": "consequatur"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/change-status/natus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'eveniet',
            'changeBy' => 'dolore',
            'changeMode' => 'doloribus',
            'changeDate' => 'est',
            'changeRemarks' => 'facilis',
            'changeStatusTo' => 'non',
            'changeStatusObject' => 'magnam',
            'currentStatus' => 'aliquid',
            'entityType' => 'accusamus',
            'entityId' => 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/change-status/natus'
payload = {
    "changeStatusField": "eveniet",
    "changeBy": "dolore",
    "changeMode": "doloribus",
    "changeDate": "est",
    "changeRemarks": "facilis",
    "changeStatusTo": "non",
    "changeStatusObject": "magnam",
    "currentStatus": "aliquid",
    "entityType": "accusamus",
    "entityId": "consequatur"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-comm-scheme/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Commercial Scheme

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/corporis?by=vero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/corporis"
);

let params = {
    "by": "vero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/corporis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/corporis'
params = {
  'by': 'vero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-comm-scheme/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/dolor?by=quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/dolor"
);

let params = {
    "by": "quo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/dolor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/dolor'
params = {
  'by': 'quo',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-comm-scheme/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/schema?sf=non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/schema"
);

let params = {
    "sf": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'non',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/schema'
params = {
  'sf': 'non',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-scheme/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/nam?by=sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/nam"
);

let params = {
    "by": "sunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/nam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-scheme/nam'
params = {
  'by': 'sunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-scheme/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Customer Location

Customer Outlet / Shop Location dimana Maintainer dapat menginduk

List Customer Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location?p=9&pp=16&sf=3&sv=13&me=eum&ms=nihil&df=sequi&ds=rerum&de=et&lf=alias&lat=6160.33724&lng=4390.48244&rad=15.724352" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location"
);

let params = {
    "p": "9",
    "pp": "16",
    "sf": "3",
    "sv": "13",
    "me": "eum",
    "ms": "nihil",
    "df": "sequi",
    "ds": "rerum",
    "de": "et",
    "lf": "alias",
    "lat": "6160.33724",
    "lng": "4390.48244",
    "rad": "15.724352",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '9',
            'pp'=> '16',
            'sf'=> '3',
            'sv'=> '13',
            'me'=> 'eum',
            'ms'=> 'nihil',
            'df'=> 'sequi',
            'ds'=> 'rerum',
            'de'=> 'et',
            'lf'=> 'alias',
            'lat'=> '6160.33724',
            'lng'=> '4390.48244',
            'rad'=> '15.724352',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location'
params = {
  'p': '9',
  'pp': '16',
  'sf': '3',
  'sv': '13',
  'me': 'eum',
  'ms': 'nihil',
  'df': 'sequi',
  'ds': 'rerum',
  'de': 'et',
  'lf': 'alias',
  'lat': '6160.33724',
  'lng': '4390.48244',
  'rad': '15.724352',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer-location

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Customer Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer-location/options

List Customer Location with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/list/aspernatur/porro/rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/list/aspernatur/porro/rerum"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/list/aspernatur/porro/rerum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/list/aspernatur/porro/rerum'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer-location/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  
menandakan filter menggunakan field yang mana. "cid" menggunakan field customerId yang berisi _id customer atau "ccode" menggunakan field customerCode yang berisi customerCode customer

keyword1  string optional  
berisi value untuk filter, tergantun pada keyword0

keyword2  string optional  

Add Customer Location

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/customer-location

Create INITIAL Customer Location object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/init"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/customer-location/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/change-status/quaerat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"et","changeBy":"aut","changeMode":"blanditiis","changeDate":"neque","changeRemarks":"eveniet","changeStatusTo":"commodi","changeStatusObject":"dolorum","currentStatus":"dolorum","entityType":"laudantium","entityId":"earum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/change-status/quaerat"
);

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

let body = {
    "changeStatusField": "et",
    "changeBy": "aut",
    "changeMode": "blanditiis",
    "changeDate": "neque",
    "changeRemarks": "eveniet",
    "changeStatusTo": "commodi",
    "changeStatusObject": "dolorum",
    "currentStatus": "dolorum",
    "entityType": "laudantium",
    "entityId": "earum"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/change-status/quaerat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'et',
            'changeBy' => 'aut',
            'changeMode' => 'blanditiis',
            'changeDate' => 'neque',
            'changeRemarks' => 'eveniet',
            'changeStatusTo' => 'commodi',
            'changeStatusObject' => 'dolorum',
            'currentStatus' => 'dolorum',
            'entityType' => 'laudantium',
            'entityId' => 'earum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/change-status/quaerat'
payload = {
    "changeStatusField": "et",
    "changeBy": "aut",
    "changeMode": "blanditiis",
    "changeDate": "neque",
    "changeRemarks": "eveniet",
    "changeStatusTo": "commodi",
    "changeStatusObject": "dolorum",
    "currentStatus": "dolorum",
    "entityType": "laudantium",
    "entityId": "earum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/customer-location/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer Location

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/autem?by=ex" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/autem"
);

let params = {
    "by": "ex",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/autem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ex',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/autem'
params = {
  'by': 'ex',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/customer-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/deleniti?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/deleniti"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/deleniti',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/deleniti'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/customer-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer-location/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/quas?by=vel" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/quas"
);

let params = {
    "by": "vel",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/quas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer-location/quas'
params = {
  'by': 'vel',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Customer

Customer Directory

List Customer

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer?p=7&pp=14&sf=19&sv=4&me=autem&ms=accusantium&df=accusantium&ds=qui&de=voluptatem&lf=reiciendis&lat=5560285.798782&lng=6059.40325&rad=54300.290331497" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer"
);

let params = {
    "p": "7",
    "pp": "14",
    "sf": "19",
    "sv": "4",
    "me": "autem",
    "ms": "accusantium",
    "df": "accusantium",
    "ds": "qui",
    "de": "voluptatem",
    "lf": "reiciendis",
    "lat": "5560285.798782",
    "lng": "6059.40325",
    "rad": "54300.290331497",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '7',
            'pp'=> '14',
            'sf'=> '19',
            'sv'=> '4',
            'me'=> 'autem',
            'ms'=> 'accusantium',
            'df'=> 'accusantium',
            'ds'=> 'qui',
            'de'=> 'voluptatem',
            'lf'=> 'reiciendis',
            'lat'=> '5560285.798782',
            'lng'=> '6059.40325',
            'rad'=> '54300.290331497',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer'
params = {
  'p': '7',
  'pp': '14',
  'sf': '19',
  'sv': '4',
  'me': 'autem',
  'ms': 'accusantium',
  'df': 'accusantium',
  'ds': 'qui',
  'de': 'voluptatem',
  'lf': 'reiciendis',
  'lat': '5560285.798782',
  'lng': '6059.40325',
  'rad': '54300.290331497',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/list/saepe/vitae/quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/list/saepe/vitae/quia"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/list/saepe/vitae/quia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/list/saepe/vitae/quia'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Customer

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/customer

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/init?by=sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/init"
);

let params = {
    "by": "sunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/init'
params = {
  'by': 'sunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/directory/customer/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/change-status/placeat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"sint","changeBy":"voluptate","changeMode":"ex","changeDate":"commodi","changeRemarks":"quibusdam","changeStatusTo":"ab","changeStatusObject":"commodi","currentStatus":"tempora","entityType":"qui","entityId":"nihil"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/change-status/placeat"
);

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

let body = {
    "changeStatusField": "sint",
    "changeBy": "voluptate",
    "changeMode": "ex",
    "changeDate": "commodi",
    "changeRemarks": "quibusdam",
    "changeStatusTo": "ab",
    "changeStatusObject": "commodi",
    "currentStatus": "tempora",
    "entityType": "qui",
    "entityId": "nihil"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/change-status/placeat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'sint',
            'changeBy' => 'voluptate',
            'changeMode' => 'ex',
            'changeDate' => 'commodi',
            'changeRemarks' => 'quibusdam',
            'changeStatusTo' => 'ab',
            'changeStatusObject' => 'commodi',
            'currentStatus' => 'tempora',
            'entityType' => 'qui',
            'entityId' => 'nihil',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/change-status/placeat'
payload = {
    "changeStatusField": "sint",
    "changeBy": "voluptate",
    "changeMode": "ex",
    "changeDate": "commodi",
    "changeRemarks": "quibusdam",
    "changeStatusTo": "ab",
    "changeStatusObject": "commodi",
    "currentStatus": "tempora",
    "entityType": "qui",
    "entityId": "nihil"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/customer/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/ut?by=accusantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/ut"
);

let params = {
    "by": "accusantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'accusantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/ut'
params = {
  'by': 'accusantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/customer/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/amet?by=explicabo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/amet"
);

let params = {
    "by": "explicabo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/amet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'explicabo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/amet'
params = {
  'by': 'explicabo',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/customer/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/schema?sf=incidunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/schema"
);

let params = {
    "sf": "incidunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'incidunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/schema'
params = {
  'sf': 'incidunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/provident?by=voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/provident"
);

let params = {
    "by": "voluptates",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/provident',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptates',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/customer/provident'
params = {
  'by': 'voluptates',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/customer/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Delivery Methods

Delivery Methods & Parameters

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method?p=13&pp=3&sf=5&sv=19&me=fugit&ms=sint&df=fuga&ds=nulla&de=nemo&lf=voluptas&lat=164.48115&lng=23000253.745913&rad=4.602896" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method"
);

let params = {
    "p": "13",
    "pp": "3",
    "sf": "5",
    "sv": "19",
    "me": "fugit",
    "ms": "sint",
    "df": "fuga",
    "ds": "nulla",
    "de": "nemo",
    "lf": "voluptas",
    "lat": "164.48115",
    "lng": "23000253.745913",
    "rad": "4.602896",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '13',
            'pp'=> '3',
            'sf'=> '5',
            'sv'=> '19',
            'me'=> 'fugit',
            'ms'=> 'sint',
            'df'=> 'fuga',
            'ds'=> 'nulla',
            'de'=> 'nemo',
            'lf'=> 'voluptas',
            'lat'=> '164.48115',
            'lng'=> '23000253.745913',
            'rad'=> '4.602896',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method'
params = {
  'p': '13',
  'pp': '3',
  'sf': '5',
  'sv': '19',
  'me': 'fugit',
  'ms': 'sint',
  'df': 'fuga',
  'ds': 'nulla',
  'de': 'nemo',
  'lf': 'voluptas',
  'lat': '164.48115',
  'lng': '23000253.745913',
  'rad': '4.602896',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/delivery-method

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/delivery-method/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/list/id/unde/consectetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/list/id/unde/consectetur"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/list/id/unde/consectetur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/list/id/unde/consectetur'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/delivery-method/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method?app=id" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method"
);

let params = {
    "app": "id",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'id',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method'
params = {
  'app': 'id',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/delivery-method

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/init?by=dolore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/init"
);

let params = {
    "by": "dolore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/init'
params = {
  'by': 'dolore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/delivery-method/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/change-status/deserunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"dolores","changeBy":"id","changeMode":"libero","changeDate":"ut","changeRemarks":"sapiente","changeStatusTo":"culpa","changeStatusObject":"in","currentStatus":"voluptatem","entityType":"voluptatem","entityId":"inventore"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/change-status/deserunt"
);

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

let body = {
    "changeStatusField": "dolores",
    "changeBy": "id",
    "changeMode": "libero",
    "changeDate": "ut",
    "changeRemarks": "sapiente",
    "changeStatusTo": "culpa",
    "changeStatusObject": "in",
    "currentStatus": "voluptatem",
    "entityType": "voluptatem",
    "entityId": "inventore"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/change-status/deserunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'dolores',
            'changeBy' => 'id',
            'changeMode' => 'libero',
            'changeDate' => 'ut',
            'changeRemarks' => 'sapiente',
            'changeStatusTo' => 'culpa',
            'changeStatusObject' => 'in',
            'currentStatus' => 'voluptatem',
            'entityType' => 'voluptatem',
            'entityId' => 'inventore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/change-status/deserunt'
payload = {
    "changeStatusField": "dolores",
    "changeBy": "id",
    "changeMode": "libero",
    "changeDate": "ut",
    "changeRemarks": "sapiente",
    "changeStatusTo": "culpa",
    "changeStatusObject": "in",
    "currentStatus": "voluptatem",
    "entityType": "voluptatem",
    "entityId": "inventore"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/delivery-method/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/in?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/in"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/in',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/in'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/delivery-method/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/quis?by=accusantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/quis"
);

let params = {
    "by": "accusantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/quis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'accusantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/quis'
params = {
  'by': 'accusantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/delivery-method/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/schema?sf=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/schema"
);

let params = {
    "sf": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/schema'
params = {
  'sf': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/delivery-method/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/eaque?by=laudantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/eaque"
);

let params = {
    "by": "laudantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/eaque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laudantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/delivery-method/eaque'
params = {
  'by': 'laudantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/delivery-method/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Diagnostic Library

Diagnostic records ie. Technical FAQ

List Diagnostic

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library?p=1&pp=7&sf=13&sv=6&me=qui&ms=doloremque&df=ut&ds=sapiente&de=rerum&lf=ut&lat=108.503&lng=991.61&rad=12.675" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library"
);

let params = {
    "p": "1",
    "pp": "7",
    "sf": "13",
    "sv": "6",
    "me": "qui",
    "ms": "doloremque",
    "df": "ut",
    "ds": "sapiente",
    "de": "rerum",
    "lf": "ut",
    "lat": "108.503",
    "lng": "991.61",
    "rad": "12.675",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '1',
            'pp'=> '7',
            'sf'=> '13',
            'sv'=> '6',
            'me'=> 'qui',
            'ms'=> 'doloremque',
            'df'=> 'ut',
            'ds'=> 'sapiente',
            'de'=> 'rerum',
            'lf'=> 'ut',
            'lat'=> '108.503',
            'lng'=> '991.61',
            'rad'=> '12.675',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library'
params = {
  'p': '1',
  'pp': '7',
  'sf': '13',
  'sv': '6',
  'me': 'qui',
  'ms': 'doloremque',
  'df': 'ut',
  'ds': 'sapiente',
  'de': 'rerum',
  'lf': 'ut',
  'lat': '108.503',
  'lng': '991.61',
  'rad': '12.675',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/diagnostic-library

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/diagnostic-library/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/list/quis/reiciendis/itaque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/list/quis/reiciendis/itaque"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/list/quis/reiciendis/itaque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/list/quis/reiciendis/itaque'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/diagnostic-library/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Diagnostic

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/diagnostic-library

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/init?by=a" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/init"
);

let params = {
    "by": "a",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'a',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/init'
params = {
  'by': 'a',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/diagnostic-library/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/change-status/sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"iure","changeBy":"deserunt","changeMode":"a","changeDate":"doloribus","changeRemarks":"ut","changeStatusTo":"ut","changeStatusObject":"maiores","currentStatus":"illum","entityType":"eos","entityId":"dolore"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/change-status/sunt"
);

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

let body = {
    "changeStatusField": "iure",
    "changeBy": "deserunt",
    "changeMode": "a",
    "changeDate": "doloribus",
    "changeRemarks": "ut",
    "changeStatusTo": "ut",
    "changeStatusObject": "maiores",
    "currentStatus": "illum",
    "entityType": "eos",
    "entityId": "dolore"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/change-status/sunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'iure',
            'changeBy' => 'deserunt',
            'changeMode' => 'a',
            'changeDate' => 'doloribus',
            'changeRemarks' => 'ut',
            'changeStatusTo' => 'ut',
            'changeStatusObject' => 'maiores',
            'currentStatus' => 'illum',
            'entityType' => 'eos',
            'entityId' => 'dolore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/change-status/sunt'
payload = {
    "changeStatusField": "iure",
    "changeBy": "deserunt",
    "changeMode": "a",
    "changeDate": "doloribus",
    "changeRemarks": "ut",
    "changeStatusTo": "ut",
    "changeStatusObject": "maiores",
    "currentStatus": "illum",
    "entityType": "eos",
    "entityId": "dolore"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/diagnostic-library/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Diagnostic

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/vero?by=ipsam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/vero"
);

let params = {
    "by": "ipsam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/vero',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ipsam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/vero'
params = {
  'by': 'ipsam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/diagnostic-library/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/inventore?by=mollitia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/inventore"
);

let params = {
    "by": "mollitia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/inventore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/inventore'
params = {
  'by': 'mollitia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/maintenance/diagnostic-library/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/schema?sf=eligendi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/schema"
);

let params = {
    "sf": "eligendi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'eligendi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/schema'
params = {
  'sf': 'eligendi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/diagnostic-library/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/blanditiis?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/blanditiis"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/blanditiis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/diagnostic-library/blanditiis'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/diagnostic-library/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Distributor Location

Distributor Outlet / Shop Location dimana Maintainer dapat menginduk

List Distributor Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location?p=18&pp=15&sf=1&sv=13&me=minus&ms=voluptatibus&df=beatae&ds=adipisci&de=occaecati&lf=sed&lat=5628.56491&lng=27099.540184704&rad=33351.582350536" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location"
);

let params = {
    "p": "18",
    "pp": "15",
    "sf": "1",
    "sv": "13",
    "me": "minus",
    "ms": "voluptatibus",
    "df": "beatae",
    "ds": "adipisci",
    "de": "occaecati",
    "lf": "sed",
    "lat": "5628.56491",
    "lng": "27099.540184704",
    "rad": "33351.582350536",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '18',
            'pp'=> '15',
            'sf'=> '1',
            'sv'=> '13',
            'me'=> 'minus',
            'ms'=> 'voluptatibus',
            'df'=> 'beatae',
            'ds'=> 'adipisci',
            'de'=> 'occaecati',
            'lf'=> 'sed',
            'lat'=> '5628.56491',
            'lng'=> '27099.540184704',
            'rad'=> '33351.582350536',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location'
params = {
  'p': '18',
  'pp': '15',
  'sf': '1',
  'sv': '13',
  'me': 'minus',
  'ms': 'voluptatibus',
  'df': 'beatae',
  'ds': 'adipisci',
  'de': 'occaecati',
  'lf': 'sed',
  'lat': '5628.56491',
  'lng': '27099.540184704',
  'rad': '33351.582350536',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor-location

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Distributor Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor-location/options

List Distributor Location with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/list/ab/ipsa/fugit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/list/ab/ipsa/fugit"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/list/ab/ipsa/fugit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/list/ab/ipsa/fugit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor-location/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  
menandakan filter menggunakan field yang mana. "did" menggunakan field distributorId yang berisi _id distributor atau "dcode" menggunakan field distributorCode yang berisi distributorCode distributor

keyword1  string optional  
berisi value untuk filter, tergantun pada keyword0

keyword2  string optional  

Add Distributor Location

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/distributor-location

Create INITIAL Distributor Location object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/init"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/distributor-location/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/change-status/quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"ut","changeBy":"illo","changeMode":"nostrum","changeDate":"vitae","changeRemarks":"sed","changeStatusTo":"quae","changeStatusObject":"beatae","currentStatus":"ullam","entityType":"rem","entityId":"autem"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/change-status/quos"
);

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

let body = {
    "changeStatusField": "ut",
    "changeBy": "illo",
    "changeMode": "nostrum",
    "changeDate": "vitae",
    "changeRemarks": "sed",
    "changeStatusTo": "quae",
    "changeStatusObject": "beatae",
    "currentStatus": "ullam",
    "entityType": "rem",
    "entityId": "autem"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/change-status/quos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'ut',
            'changeBy' => 'illo',
            'changeMode' => 'nostrum',
            'changeDate' => 'vitae',
            'changeRemarks' => 'sed',
            'changeStatusTo' => 'quae',
            'changeStatusObject' => 'beatae',
            'currentStatus' => 'ullam',
            'entityType' => 'rem',
            'entityId' => 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/change-status/quos'
payload = {
    "changeStatusField": "ut",
    "changeBy": "illo",
    "changeMode": "nostrum",
    "changeDate": "vitae",
    "changeRemarks": "sed",
    "changeStatusTo": "quae",
    "changeStatusObject": "beatae",
    "currentStatus": "ullam",
    "entityType": "rem",
    "entityId": "autem"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/distributor-location/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Distributor Location

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/voluptates?by=soluta" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/voluptates"
);

let params = {
    "by": "soluta",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/voluptates',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'soluta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/voluptates'
params = {
  'by': 'soluta',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/distributor-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/ex?by=excepturi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/ex"
);

let params = {
    "by": "excepturi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/ex',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'excepturi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/ex'
params = {
  'by': 'excepturi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/distributor-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/schema?sf=deserunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/schema"
);

let params = {
    "sf": "deserunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'deserunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/schema'
params = {
  'sf': 'deserunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor-location/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/velit?by=voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/velit"
);

let params = {
    "by": "voluptates",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptates',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor-location/velit'
params = {
  'by': 'voluptates',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Installation Register

Registrasi Instalasi Produk

List Installation Register

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register?p=19&pp=11&sf=15&sv=4&me=explicabo&ms=quasi&df=incidunt&ds=nam&de=distinctio&lf=quia&lat=6.645907&lng=830169.4598&rad=22596.906677897" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register"
);

let params = {
    "p": "19",
    "pp": "11",
    "sf": "15",
    "sv": "4",
    "me": "explicabo",
    "ms": "quasi",
    "df": "incidunt",
    "ds": "nam",
    "de": "distinctio",
    "lf": "quia",
    "lat": "6.645907",
    "lng": "830169.4598",
    "rad": "22596.906677897",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '19',
            'pp'=> '11',
            'sf'=> '15',
            'sv'=> '4',
            'me'=> 'explicabo',
            'ms'=> 'quasi',
            'df'=> 'incidunt',
            'ds'=> 'nam',
            'de'=> 'distinctio',
            'lf'=> 'quia',
            'lat'=> '6.645907',
            'lng'=> '830169.4598',
            'rad'=> '22596.906677897',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register'
params = {
  'p': '19',
  'pp': '11',
  'sf': '15',
  'sv': '4',
  'me': 'explicabo',
  'ms': 'quasi',
  'df': 'incidunt',
  'ds': 'nam',
  'de': 'distinctio',
  'lf': 'quia',
  'lat': '6.645907',
  'lng': '830169.4598',
  'rad': '22596.906677897',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installation-register

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Installation Register

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installation-register/options

List Installation Register with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/list/et/fugit/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/list/et/fugit/ut"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/list/et/fugit/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/list/et/fugit/ut'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installation-register/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Installation Register

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/installation/installation-register

Create INITIAL Installation Register object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/init"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/installation/installation-register/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/change-status/dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"expedita","changeBy":"vitae","changeMode":"doloribus","changeDate":"possimus","changeRemarks":"quidem","changeStatusTo":"tenetur","changeStatusObject":"maxime","currentStatus":"molestiae","entityType":"ipsa","entityId":"earum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/change-status/dolorem"
);

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

let body = {
    "changeStatusField": "expedita",
    "changeBy": "vitae",
    "changeMode": "doloribus",
    "changeDate": "possimus",
    "changeRemarks": "quidem",
    "changeStatusTo": "tenetur",
    "changeStatusObject": "maxime",
    "currentStatus": "molestiae",
    "entityType": "ipsa",
    "entityId": "earum"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/change-status/dolorem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'expedita',
            'changeBy' => 'vitae',
            'changeMode' => 'doloribus',
            'changeDate' => 'possimus',
            'changeRemarks' => 'quidem',
            'changeStatusTo' => 'tenetur',
            'changeStatusObject' => 'maxime',
            'currentStatus' => 'molestiae',
            'entityType' => 'ipsa',
            'entityId' => 'earum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/change-status/dolorem'
payload = {
    "changeStatusField": "expedita",
    "changeBy": "vitae",
    "changeMode": "doloribus",
    "changeDate": "possimus",
    "changeRemarks": "quidem",
    "changeStatusTo": "tenetur",
    "changeStatusObject": "maxime",
    "currentStatus": "molestiae",
    "entityType": "ipsa",
    "entityId": "earum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/installation/installation-register/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Installation Register

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/ea?by=in" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/ea"
);

let params = {
    "by": "in",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/ea',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'in',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/ea'
params = {
  'by': 'in',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/installation/installation-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/sapiente?by=iure" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/sapiente"
);

let params = {
    "by": "iure",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/sapiente',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'iure',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/sapiente'
params = {
  'by': 'iure',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/installation/installation-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/schema?sf=ex" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/schema"
);

let params = {
    "sf": "ex",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ex',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/schema'
params = {
  'sf': 'ex',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installation-register/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/unde?by=veritatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/unde"
);

let params = {
    "by": "veritatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/unde',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'veritatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installation-register/unde'
params = {
  'by': 'veritatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installation-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Maintainer Credential

Maintainer Credential , sertifikasi, training dan dokumentasi keahlian Maintainer / Teknisi

List Maintainer Credential

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential?p=10&pp=20&sf=17&sv=10&me=corporis&ms=culpa&df=iusto&ds=quo&de=saepe&lf=commodi&lat=94.938501291&lng=39002.59719&rad=17.395959" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential"
);

let params = {
    "p": "10",
    "pp": "20",
    "sf": "17",
    "sv": "10",
    "me": "corporis",
    "ms": "culpa",
    "df": "iusto",
    "ds": "quo",
    "de": "saepe",
    "lf": "commodi",
    "lat": "94.938501291",
    "lng": "39002.59719",
    "rad": "17.395959",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '10',
            'pp'=> '20',
            'sf'=> '17',
            'sv'=> '10',
            'me'=> 'corporis',
            'ms'=> 'culpa',
            'df'=> 'iusto',
            'ds'=> 'quo',
            'de'=> 'saepe',
            'lf'=> 'commodi',
            'lat'=> '94.938501291',
            'lng'=> '39002.59719',
            'rad'=> '17.395959',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential'
params = {
  'p': '10',
  'pp': '20',
  'sf': '17',
  'sv': '10',
  'me': 'corporis',
  'ms': 'culpa',
  'df': 'iusto',
  'ds': 'quo',
  'de': 'saepe',
  'lf': 'commodi',
  'lat': '94.938501291',
  'lng': '39002.59719',
  'rad': '17.395959',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer-credential

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Maintainer Credential

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer-credential/options

List Maintainer Credential with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/list/similique/nobis/est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/list/similique/nobis/est"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/list/similique/nobis/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/list/similique/nobis/est'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer-credential/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  
menandakan filter menggunakan field yang mana. "mid" menggunakan field maintainerId yang berisi _id maintainer directory

keyword1  string optional  
berisi value untuk filter, tergantun pada keyword0

keyword2  string optional  

Add Maintainer Credential

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/maintainer-credential

Create INITIAL Maintainer Credential object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/init"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/maintainer-credential/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/change-status/laborum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"molestias","changeBy":"voluptatem","changeMode":"exercitationem","changeDate":"beatae","changeRemarks":"inventore","changeStatusTo":"nulla","changeStatusObject":"eum","currentStatus":"repellendus","entityType":"aspernatur","entityId":"omnis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/change-status/laborum"
);

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

let body = {
    "changeStatusField": "molestias",
    "changeBy": "voluptatem",
    "changeMode": "exercitationem",
    "changeDate": "beatae",
    "changeRemarks": "inventore",
    "changeStatusTo": "nulla",
    "changeStatusObject": "eum",
    "currentStatus": "repellendus",
    "entityType": "aspernatur",
    "entityId": "omnis"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/change-status/laborum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'molestias',
            'changeBy' => 'voluptatem',
            'changeMode' => 'exercitationem',
            'changeDate' => 'beatae',
            'changeRemarks' => 'inventore',
            'changeStatusTo' => 'nulla',
            'changeStatusObject' => 'eum',
            'currentStatus' => 'repellendus',
            'entityType' => 'aspernatur',
            'entityId' => 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/change-status/laborum'
payload = {
    "changeStatusField": "molestias",
    "changeBy": "voluptatem",
    "changeMode": "exercitationem",
    "changeDate": "beatae",
    "changeRemarks": "inventore",
    "changeStatusTo": "nulla",
    "changeStatusObject": "eum",
    "currentStatus": "repellendus",
    "entityType": "aspernatur",
    "entityId": "omnis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/maintainer-credential/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Maintainer Credential

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/ullam?by=facere" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/ullam"
);

let params = {
    "by": "facere",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/ullam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'facere',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/ullam'
params = {
  'by': 'facere',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/maintainer-credential/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/earum?by=vel" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/earum"
);

let params = {
    "by": "vel",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/earum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/earum'
params = {
  'by': 'vel',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/maintainer-credential/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/schema?sf=distinctio" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/schema"
);

let params = {
    "sf": "distinctio",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'distinctio',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/schema'
params = {
  'sf': 'distinctio',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer-credential/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/suscipit?by=quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/suscipit"
);

let params = {
    "by": "quos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/suscipit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer-credential/suscipit'
params = {
  'by': 'quos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer-credential/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Maintainer

Maintainer Directory

Find Maintainer

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"requestedDate":"dolorem","timeSlot":"accusamus","category":"labore","noLocation":true,"lat":53.747345237,"lng":3.44508,"rad":763.922210585}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find"
);

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

let body = {
    "requestedDate": "dolorem",
    "timeSlot": "accusamus",
    "category": "labore",
    "noLocation": true,
    "lat": 53.747345237,
    "lng": 3.44508,
    "rad": 763.922210585
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'requestedDate' => 'dolorem',
            'timeSlot' => 'accusamus',
            'category' => 'labore',
            'noLocation' => true,
            'lat' => 53.747345237,
            'lng' => 3.44508,
            'rad' => 763.922210585,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find'
payload = {
    "requestedDate": "dolorem",
    "timeSlot": "accusamus",
    "category": "labore",
    "noLocation": true,
    "lat": 53.747345237,
    "lng": 3.44508,
    "rad": 763.922210585
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/directory/maintainer/find

Body Parameters

requestedDate  string optional  
Date string when the service is required and scheduled

timeSlot  string optional  
slot the service is required and scheduled

category  string optional  
pipe separated string of product category

noLocation  boolean optional  
Switch off location query

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in METER ( ie : 3000 m )*

Find Maintainer

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"requestedDate":"eveniet","timeSlot":"alias","category":"expedita","noLocation":true,"lat":60652.88416413,"lng":467.9,"rad":1522527.5180702}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find"
);

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

let body = {
    "requestedDate": "eveniet",
    "timeSlot": "alias",
    "category": "expedita",
    "noLocation": true,
    "lat": 60652.88416413,
    "lng": 467.9,
    "rad": 1522527.5180702
}

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'requestedDate' => 'eveniet',
            'timeSlot' => 'alias',
            'category' => 'expedita',
            'noLocation' => true,
            'lat' => 60652.88416413,
            'lng' => 467.9,
            'rad' => 1522527.5180702,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/find'
payload = {
    "requestedDate": "eveniet",
    "timeSlot": "alias",
    "category": "expedita",
    "noLocation": true,
    "lat": 60652.88416413,
    "lng": 467.9,
    "rad": 1522527.5180702
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, json=payload)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer/find

Body Parameters

requestedDate  string optional  
Date string when the service is required and scheduled

timeSlot  string optional  
slot the service is required and scheduled

category  string optional  
pipe separated string of product category

noLocation  boolean optional  
Switch off location query

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in METER ( ie : 3000 m )*

List Maintainer

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer?p=6&pp=20&sf=3&sv=13&me=quis&ms=corporis&df=vitae&ds=veritatis&de=laudantium&lf=modi&lat=1491.221869&lng=4038.759101981&rad=18.480269" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer"
);

let params = {
    "p": "6",
    "pp": "20",
    "sf": "3",
    "sv": "13",
    "me": "quis",
    "ms": "corporis",
    "df": "vitae",
    "ds": "veritatis",
    "de": "laudantium",
    "lf": "modi",
    "lat": "1491.221869",
    "lng": "4038.759101981",
    "rad": "18.480269",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '6',
            'pp'=> '20',
            'sf'=> '3',
            'sv'=> '13',
            'me'=> 'quis',
            'ms'=> 'corporis',
            'df'=> 'vitae',
            'ds'=> 'veritatis',
            'de'=> 'laudantium',
            'lf'=> 'modi',
            'lat'=> '1491.221869',
            'lng'=> '4038.759101981',
            'rad'=> '18.480269',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer'
params = {
  'p': '6',
  'pp': '20',
  'sf': '3',
  'sv': '13',
  'me': 'quis',
  'ms': 'corporis',
  'df': 'vitae',
  'ds': 'veritatis',
  'de': 'laudantium',
  'lf': 'modi',
  'lat': '1491.221869',
  'lng': '4038.759101981',
  'rad': '18.480269',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/list/ea/excepturi/est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/list/ea/excepturi/est"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/list/ea/excepturi/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/list/ea/excepturi/est'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Maintainer

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/maintainer

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/init?by=saepe" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/init"
);

let params = {
    "by": "saepe",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'saepe',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/init'
params = {
  'by': 'saepe',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/directory/maintainer/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/change-status/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"fugiat","changeBy":"deleniti","changeMode":"eaque","changeDate":"deleniti","changeRemarks":"fuga","changeStatusTo":"ut","changeStatusObject":"qui","currentStatus":"id","entityType":"et","entityId":"totam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/change-status/ut"
);

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

let body = {
    "changeStatusField": "fugiat",
    "changeBy": "deleniti",
    "changeMode": "eaque",
    "changeDate": "deleniti",
    "changeRemarks": "fuga",
    "changeStatusTo": "ut",
    "changeStatusObject": "qui",
    "currentStatus": "id",
    "entityType": "et",
    "entityId": "totam"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/change-status/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'fugiat',
            'changeBy' => 'deleniti',
            'changeMode' => 'eaque',
            'changeDate' => 'deleniti',
            'changeRemarks' => 'fuga',
            'changeStatusTo' => 'ut',
            'changeStatusObject' => 'qui',
            'currentStatus' => 'id',
            'entityType' => 'et',
            'entityId' => 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/change-status/ut'
payload = {
    "changeStatusField": "fugiat",
    "changeBy": "deleniti",
    "changeMode": "eaque",
    "changeDate": "deleniti",
    "changeRemarks": "fuga",
    "changeStatusTo": "ut",
    "changeStatusObject": "qui",
    "currentStatus": "id",
    "entityType": "et",
    "entityId": "totam"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/maintainer/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Maintainer

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/mollitia?by=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/mollitia"
);

let params = {
    "by": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/mollitia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/mollitia'
params = {
  'by': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/maintainer/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/recusandae?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/recusandae"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/recusandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/recusandae'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/maintainer/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/schema?sf=dolor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/schema"
);

let params = {
    "sf": "dolor",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'dolor',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/schema'
params = {
  'sf': 'dolor',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/qui?by=pariatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/qui"
);

let params = {
    "by": "pariatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'pariatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/maintainer/qui'
params = {
  'by': 'pariatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/maintainer/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Maintenance Action

Scheduled maintenance action definition

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action?p=3&pp=11&sf=18&sv=18&me=nulla&ms=repudiandae&df=quibusdam&ds=corporis&de=dicta&lf=mollitia&lat=66205008&lng=59098167.85098&rad=2465.2561492" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action"
);

let params = {
    "p": "3",
    "pp": "11",
    "sf": "18",
    "sv": "18",
    "me": "nulla",
    "ms": "repudiandae",
    "df": "quibusdam",
    "ds": "corporis",
    "de": "dicta",
    "lf": "mollitia",
    "lat": "66205008",
    "lng": "59098167.85098",
    "rad": "2465.2561492",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '11',
            'sf'=> '18',
            'sv'=> '18',
            'me'=> 'nulla',
            'ms'=> 'repudiandae',
            'df'=> 'quibusdam',
            'ds'=> 'corporis',
            'de'=> 'dicta',
            'lf'=> 'mollitia',
            'lat'=> '66205008',
            'lng'=> '59098167.85098',
            'rad'=> '2465.2561492',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action'
params = {
  'p': '3',
  'pp': '11',
  'sf': '18',
  'sv': '18',
  'me': 'nulla',
  'ms': 'repudiandae',
  'df': 'quibusdam',
  'ds': 'corporis',
  'de': 'dicta',
  'lf': 'mollitia',
  'lat': '66205008',
  'lng': '59098167.85098',
  'rad': '2465.2561492',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-action

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-action/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/list/fugiat/quo/est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/list/fugiat/quo/est"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/list/fugiat/quo/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/list/fugiat/quo/est'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-action/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action?app=velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action"
);

let params = {
    "app": "velit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action'
params = {
  'app': 'velit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/maintenance-action

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/init?by=totam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/init"
);

let params = {
    "by": "totam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/init'
params = {
  'by': 'totam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/maintenance-action/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/change-status/assumenda" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aperiam","changeBy":"consequatur","changeMode":"voluptatibus","changeDate":"provident","changeRemarks":"qui","changeStatusTo":"id","changeStatusObject":"dolores","currentStatus":"unde","entityType":"ipsam","entityId":"illum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/change-status/assumenda"
);

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

let body = {
    "changeStatusField": "aperiam",
    "changeBy": "consequatur",
    "changeMode": "voluptatibus",
    "changeDate": "provident",
    "changeRemarks": "qui",
    "changeStatusTo": "id",
    "changeStatusObject": "dolores",
    "currentStatus": "unde",
    "entityType": "ipsam",
    "entityId": "illum"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/change-status/assumenda',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aperiam',
            'changeBy' => 'consequatur',
            'changeMode' => 'voluptatibus',
            'changeDate' => 'provident',
            'changeRemarks' => 'qui',
            'changeStatusTo' => 'id',
            'changeStatusObject' => 'dolores',
            'currentStatus' => 'unde',
            'entityType' => 'ipsam',
            'entityId' => 'illum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/change-status/assumenda'
payload = {
    "changeStatusField": "aperiam",
    "changeBy": "consequatur",
    "changeMode": "voluptatibus",
    "changeDate": "provident",
    "changeRemarks": "qui",
    "changeStatusTo": "id",
    "changeStatusObject": "dolores",
    "currentStatus": "unde",
    "entityType": "ipsam",
    "entityId": "illum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/maintenance-action/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/quas?by=eum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/quas"
);

let params = {
    "by": "eum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/quas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/quas'
params = {
  'by': 'eum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/maintenance-action/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/eveniet?by=quidem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/eveniet"
);

let params = {
    "by": "quidem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/eveniet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quidem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/eveniet'
params = {
  'by': 'quidem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/maintenance/maintenance-action/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/schema?sf=recusandae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/schema"
);

let params = {
    "sf": "recusandae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'recusandae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/schema'
params = {
  'sf': 'recusandae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-action/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/molestiae?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/molestiae"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/molestiae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-action/molestiae'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-action/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Maintenance Scheduler

Scheduler for periodic maintenance actions

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule?p=8&pp=11&sf=12&sv=3&me=aut&ms=quod&df=sit&ds=incidunt&de=voluptatem&lf=debitis&lat=334635056.71&lng=379278038&rad=2521" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule"
);

let params = {
    "p": "8",
    "pp": "11",
    "sf": "12",
    "sv": "3",
    "me": "aut",
    "ms": "quod",
    "df": "sit",
    "ds": "incidunt",
    "de": "voluptatem",
    "lf": "debitis",
    "lat": "334635056.71",
    "lng": "379278038",
    "rad": "2521",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '8',
            'pp'=> '11',
            'sf'=> '12',
            'sv'=> '3',
            'me'=> 'aut',
            'ms'=> 'quod',
            'df'=> 'sit',
            'ds'=> 'incidunt',
            'de'=> 'voluptatem',
            'lf'=> 'debitis',
            'lat'=> '334635056.71',
            'lng'=> '379278038',
            'rad'=> '2521',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule'
params = {
  'p': '8',
  'pp': '11',
  'sf': '12',
  'sv': '3',
  'me': 'aut',
  'ms': 'quod',
  'df': 'sit',
  'ds': 'incidunt',
  'de': 'voluptatem',
  'lf': 'debitis',
  'lat': '334635056.71',
  'lng': '379278038',
  'rad': '2521',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-schedule

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-schedule/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/list/pariatur/dolore/doloribus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/list/pariatur/dolore/doloribus"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/list/pariatur/dolore/doloribus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/list/pariatur/dolore/doloribus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-schedule/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule?app=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule"
);

let params = {
    "app": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule'
params = {
  'app': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/maintenance-schedule

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/init?by=dolorum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/init"
);

let params = {
    "by": "dolorum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolorum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/init'
params = {
  'by': 'dolorum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/maintenance-schedule/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/change-status/doloremque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"commodi","changeBy":"iure","changeMode":"tenetur","changeDate":"consequatur","changeRemarks":"atque","changeStatusTo":"sint","changeStatusObject":"molestias","currentStatus":"doloremque","entityType":"harum","entityId":"quos"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/change-status/doloremque"
);

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

let body = {
    "changeStatusField": "commodi",
    "changeBy": "iure",
    "changeMode": "tenetur",
    "changeDate": "consequatur",
    "changeRemarks": "atque",
    "changeStatusTo": "sint",
    "changeStatusObject": "molestias",
    "currentStatus": "doloremque",
    "entityType": "harum",
    "entityId": "quos"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/change-status/doloremque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'commodi',
            'changeBy' => 'iure',
            'changeMode' => 'tenetur',
            'changeDate' => 'consequatur',
            'changeRemarks' => 'atque',
            'changeStatusTo' => 'sint',
            'changeStatusObject' => 'molestias',
            'currentStatus' => 'doloremque',
            'entityType' => 'harum',
            'entityId' => 'quos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/change-status/doloremque'
payload = {
    "changeStatusField": "commodi",
    "changeBy": "iure",
    "changeMode": "tenetur",
    "changeDate": "consequatur",
    "changeRemarks": "atque",
    "changeStatusTo": "sint",
    "changeStatusObject": "molestias",
    "currentStatus": "doloremque",
    "entityType": "harum",
    "entityId": "quos"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/maintenance-schedule/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/ut?by=impedit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/ut"
);

let params = {
    "by": "impedit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'impedit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/ut'
params = {
  'by': 'impedit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/maintenance-schedule/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/quod?by=aliquid" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/quod"
);

let params = {
    "by": "aliquid",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/quod',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/quod'
params = {
  'by': 'aliquid',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/maintenance/maintenance-schedule/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/schema?sf=animi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/schema"
);

let params = {
    "sf": "animi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'animi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/schema'
params = {
  'sf': 'animi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-schedule/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/saepe?by=fugit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/saepe"
);

let params = {
    "by": "fugit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/saepe',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'fugit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/maintenance-schedule/saepe'
params = {
  'by': 'fugit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/maintenance-schedule/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Payment Methods

Payment Methods Data & Parameters

api/v1/mobile/payment-method/check

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/check" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/check"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/check',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/check'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/payment-method/check

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment-method?p=1&pp=15&sf=20&sv=3&me=voluptatem&ms=dicta&df=ducimus&ds=exercitationem&de=in&lf=accusantium&lat=1923489&lng=48943703&rad=408035999.647" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method"
);

let params = {
    "p": "1",
    "pp": "15",
    "sf": "20",
    "sv": "3",
    "me": "voluptatem",
    "ms": "dicta",
    "df": "ducimus",
    "ds": "exercitationem",
    "de": "in",
    "lf": "accusantium",
    "lat": "1923489",
    "lng": "48943703",
    "rad": "408035999.647",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '1',
            'pp'=> '15',
            'sf'=> '20',
            'sv'=> '3',
            'me'=> 'voluptatem',
            'ms'=> 'dicta',
            'df'=> 'ducimus',
            'ds'=> 'exercitationem',
            'de'=> 'in',
            'lf'=> 'accusantium',
            'lat'=> '1923489',
            'lng'=> '48943703',
            'rad'=> '408035999.647',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method'
params = {
  'p': '1',
  'pp': '15',
  'sf': '20',
  'sv': '3',
  'me': 'voluptatem',
  'ms': 'dicta',
  'df': 'ducimus',
  'ds': 'exercitationem',
  'de': 'in',
  'lf': 'accusantium',
  'lat': '1923489',
  'lng': '48943703',
  'rad': '408035999.647',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/payment-method

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/payment-method/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/list/tenetur/quod/enim" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/list/tenetur/quod/enim"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/list/tenetur/quod/enim',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/list/tenetur/quod/enim'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/payment-method/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method?app=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method"
);

let params = {
    "app": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method'
params = {
  'app': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/payment-method

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/init?by=magnam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/init"
);

let params = {
    "by": "magnam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'magnam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/init'
params = {
  'by': 'magnam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/payment-method/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/change-status/asperiores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"est","changeBy":"non","changeMode":"consectetur","changeDate":"nobis","changeRemarks":"sed","changeStatusTo":"officia","changeStatusObject":"deserunt","currentStatus":"ab","entityType":"voluptatem","entityId":"nam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/change-status/asperiores"
);

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

let body = {
    "changeStatusField": "est",
    "changeBy": "non",
    "changeMode": "consectetur",
    "changeDate": "nobis",
    "changeRemarks": "sed",
    "changeStatusTo": "officia",
    "changeStatusObject": "deserunt",
    "currentStatus": "ab",
    "entityType": "voluptatem",
    "entityId": "nam"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/change-status/asperiores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'est',
            'changeBy' => 'non',
            'changeMode' => 'consectetur',
            'changeDate' => 'nobis',
            'changeRemarks' => 'sed',
            'changeStatusTo' => 'officia',
            'changeStatusObject' => 'deserunt',
            'currentStatus' => 'ab',
            'entityType' => 'voluptatem',
            'entityId' => 'nam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/change-status/asperiores'
payload = {
    "changeStatusField": "est",
    "changeBy": "non",
    "changeMode": "consectetur",
    "changeDate": "nobis",
    "changeRemarks": "sed",
    "changeStatusTo": "officia",
    "changeStatusObject": "deserunt",
    "currentStatus": "ab",
    "entityType": "voluptatem",
    "entityId": "nam"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/payment-method/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/commodi?by=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/commodi"
);

let params = {
    "by": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/commodi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/commodi'
params = {
  'by': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/payment-method/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/officiis?by=numquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/officiis"
);

let params = {
    "by": "numquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/officiis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'numquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/officiis'
params = {
  'by': 'numquam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/payment-method/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/schema?sf=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/schema"
);

let params = {
    "sf": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/schema'
params = {
  'sf': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/payment-method/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/consequatur?by=maxime" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment-method/consequatur"
);

let params = {
    "by": "maxime",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'maxime',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment-method/consequatur'
params = {
  'by': 'maxime',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/payment-method/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Product Catalog

Product data with Specific Parameters for PPJ. Using common database with company wide product list

List Product

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/product/product

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/product/product/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/list/voluptatem/voluptas/deleniti" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/list/voluptatem/voluptas/deleniti"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/list/voluptatem/voluptas/deleniti',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/list/voluptatem/voluptas/deleniti'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/product/product/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Product

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"companyId":"doloribus","companyName":"expedita","customerId":"tempora","customerName":"alias","customerPhone":"aut","customerAddress":"nemo","customerLng":"consectetur","customerLat":"numquam","customerLngLat":"a","customerLatLng":"quia","customerType":"et","customerCompany":"dolores","productBarcode":"enim","productName":"velit","productId":"voluptas","description":"voluptatem","registerDate":"blanditiis","registeredBy":"esse","initialUseDate":"culpa","warrantyNumber":"quae","warrantyPeriodYr":"consequatur","warrantyStartDate":"eligendi","warrantyEndDate":"voluptates","warrantyType":"non","subProducts":["rem","ullam"],"installerId":"qui","installerName":"unde","installerCompany":"omnis","installationDate":"esse","installationNote":"in","tz":"veritatis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product"
);

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

let body = {
    "companyId": "doloribus",
    "companyName": "expedita",
    "customerId": "tempora",
    "customerName": "alias",
    "customerPhone": "aut",
    "customerAddress": "nemo",
    "customerLng": "consectetur",
    "customerLat": "numquam",
    "customerLngLat": "a",
    "customerLatLng": "quia",
    "customerType": "et",
    "customerCompany": "dolores",
    "productBarcode": "enim",
    "productName": "velit",
    "productId": "voluptas",
    "description": "voluptatem",
    "registerDate": "blanditiis",
    "registeredBy": "esse",
    "initialUseDate": "culpa",
    "warrantyNumber": "quae",
    "warrantyPeriodYr": "consequatur",
    "warrantyStartDate": "eligendi",
    "warrantyEndDate": "voluptates",
    "warrantyType": "non",
    "subProducts": [
        "rem",
        "ullam"
    ],
    "installerId": "qui",
    "installerName": "unde",
    "installerCompany": "omnis",
    "installationDate": "esse",
    "installationNote": "in",
    "tz": "veritatis"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'companyId' => 'doloribus',
            'companyName' => 'expedita',
            'customerId' => 'tempora',
            'customerName' => 'alias',
            'customerPhone' => 'aut',
            'customerAddress' => 'nemo',
            'customerLng' => 'consectetur',
            'customerLat' => 'numquam',
            'customerLngLat' => 'a',
            'customerLatLng' => 'quia',
            'customerType' => 'et',
            'customerCompany' => 'dolores',
            'productBarcode' => 'enim',
            'productName' => 'velit',
            'productId' => 'voluptas',
            'description' => 'voluptatem',
            'registerDate' => 'blanditiis',
            'registeredBy' => 'esse',
            'initialUseDate' => 'culpa',
            'warrantyNumber' => 'quae',
            'warrantyPeriodYr' => 'consequatur',
            'warrantyStartDate' => 'eligendi',
            'warrantyEndDate' => 'voluptates',
            'warrantyType' => 'non',
            'subProducts' => [
                'rem',
                'ullam',
            ],
            'installerId' => 'qui',
            'installerName' => 'unde',
            'installerCompany' => 'omnis',
            'installationDate' => 'esse',
            'installationNote' => 'in',
            'tz' => 'veritatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product'
payload = {
    "companyId": "doloribus",
    "companyName": "expedita",
    "customerId": "tempora",
    "customerName": "alias",
    "customerPhone": "aut",
    "customerAddress": "nemo",
    "customerLng": "consectetur",
    "customerLat": "numquam",
    "customerLngLat": "a",
    "customerLatLng": "quia",
    "customerType": "et",
    "customerCompany": "dolores",
    "productBarcode": "enim",
    "productName": "velit",
    "productId": "voluptas",
    "description": "voluptatem",
    "registerDate": "blanditiis",
    "registeredBy": "esse",
    "initialUseDate": "culpa",
    "warrantyNumber": "quae",
    "warrantyPeriodYr": "consequatur",
    "warrantyStartDate": "eligendi",
    "warrantyEndDate": "voluptates",
    "warrantyType": "non",
    "subProducts": [
        "rem",
        "ullam"
    ],
    "installerId": "qui",
    "installerName": "unde",
    "installerCompany": "omnis",
    "installationDate": "esse",
    "installationNote": "in",
    "tz": "veritatis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/product/product

Body Parameters

companyId  string optional  
Company Id

companyName  string optional  
Company Name

customerId  string optional  
Customer Id

customerName  string optional  
Customer Name

customerPhone  string optional  
Customer Phone

customerAddress  string optional  
Customer Address

customerLng  string optional  
Customer Lng

customerLat  string optional  
Customer Lat

customerLngLat  string optional  
Customer LngLat

customerLatLng  string optional  
Customer LatLng

customerType  string optional  
Customer Type

customerCompany  string optional  
Customer Company

productBarcode  string optional  
Product Barcode

productName  string optional  
Product Name

productId  string optional  
Product Id

description  string optional  
Description

registerDate  string optional  
Register Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By

initialUseDate  string optional  
InitialUse Date

warrantyNumber  string optional  
Warranty Number

warrantyPeriodYr  string optional  
Warranty Period Yr

warrantyStartDate  string optional  
Warranty Start Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

subProducts  string[] optional  
Sub Products

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/init?by=officia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/init"
);

let params = {
    "by": "officia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'officia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/init'
params = {
  'by': 'officia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/product/product/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/change-status/animi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"tenetur","changeBy":"ullam","changeMode":"tempora","changeDate":"facere","changeRemarks":"et","changeStatusTo":"maiores","changeStatusObject":"eos","currentStatus":"facere","entityType":"omnis","entityId":"labore"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/change-status/animi"
);

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

let body = {
    "changeStatusField": "tenetur",
    "changeBy": "ullam",
    "changeMode": "tempora",
    "changeDate": "facere",
    "changeRemarks": "et",
    "changeStatusTo": "maiores",
    "changeStatusObject": "eos",
    "currentStatus": "facere",
    "entityType": "omnis",
    "entityId": "labore"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/change-status/animi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'tenetur',
            'changeBy' => 'ullam',
            'changeMode' => 'tempora',
            'changeDate' => 'facere',
            'changeRemarks' => 'et',
            'changeStatusTo' => 'maiores',
            'changeStatusObject' => 'eos',
            'currentStatus' => 'facere',
            'entityType' => 'omnis',
            'entityId' => 'labore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/change-status/animi'
payload = {
    "changeStatusField": "tenetur",
    "changeBy": "ullam",
    "changeMode": "tempora",
    "changeDate": "facere",
    "changeRemarks": "et",
    "changeStatusTo": "maiores",
    "changeStatusObject": "eos",
    "currentStatus": "facere",
    "entityType": "omnis",
    "entityId": "labore"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/product/product/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Product

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/impedit?by=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"companyId":"ut","companyName":"voluptatem","customerId":"est","customerName":"omnis","customerPhone":"dolorem","customerAddress":"similique","customerLng":"consequatur","customerLat":"ab","customerLngLat":"occaecati","customerLatLng":"aliquid","customerType":"perferendis","customerCompany":"est","productBarcode":"neque","productName":"molestiae","productId":"at","description":"sunt","registerDate":"suscipit","registeredBy":"repellat","initialUseDate":"impedit","warrantyNumber":"porro","warrantyPeriodYr":"sit","warrantyStartDate":"commodi","warrantyEndDate":"ipsum","warrantyType":"in","subProducts":["maxime","cum"],"installerId":"in","installerName":"illo","installerCompany":"et","installationDate":"nemo","installationNote":"qui","tz":"vel"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/impedit"
);

let params = {
    "by": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "companyId": "ut",
    "companyName": "voluptatem",
    "customerId": "est",
    "customerName": "omnis",
    "customerPhone": "dolorem",
    "customerAddress": "similique",
    "customerLng": "consequatur",
    "customerLat": "ab",
    "customerLngLat": "occaecati",
    "customerLatLng": "aliquid",
    "customerType": "perferendis",
    "customerCompany": "est",
    "productBarcode": "neque",
    "productName": "molestiae",
    "productId": "at",
    "description": "sunt",
    "registerDate": "suscipit",
    "registeredBy": "repellat",
    "initialUseDate": "impedit",
    "warrantyNumber": "porro",
    "warrantyPeriodYr": "sit",
    "warrantyStartDate": "commodi",
    "warrantyEndDate": "ipsum",
    "warrantyType": "in",
    "subProducts": [
        "maxime",
        "cum"
    ],
    "installerId": "in",
    "installerName": "illo",
    "installerCompany": "et",
    "installationDate": "nemo",
    "installationNote": "qui",
    "tz": "vel"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/impedit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptas',
        ],
        'json' => [
            'companyId' => 'ut',
            'companyName' => 'voluptatem',
            'customerId' => 'est',
            'customerName' => 'omnis',
            'customerPhone' => 'dolorem',
            'customerAddress' => 'similique',
            'customerLng' => 'consequatur',
            'customerLat' => 'ab',
            'customerLngLat' => 'occaecati',
            'customerLatLng' => 'aliquid',
            'customerType' => 'perferendis',
            'customerCompany' => 'est',
            'productBarcode' => 'neque',
            'productName' => 'molestiae',
            'productId' => 'at',
            'description' => 'sunt',
            'registerDate' => 'suscipit',
            'registeredBy' => 'repellat',
            'initialUseDate' => 'impedit',
            'warrantyNumber' => 'porro',
            'warrantyPeriodYr' => 'sit',
            'warrantyStartDate' => 'commodi',
            'warrantyEndDate' => 'ipsum',
            'warrantyType' => 'in',
            'subProducts' => [
                'maxime',
                'cum',
            ],
            'installerId' => 'in',
            'installerName' => 'illo',
            'installerCompany' => 'et',
            'installationDate' => 'nemo',
            'installationNote' => 'qui',
            'tz' => 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/impedit'
payload = {
    "companyId": "ut",
    "companyName": "voluptatem",
    "customerId": "est",
    "customerName": "omnis",
    "customerPhone": "dolorem",
    "customerAddress": "similique",
    "customerLng": "consequatur",
    "customerLat": "ab",
    "customerLngLat": "occaecati",
    "customerLatLng": "aliquid",
    "customerType": "perferendis",
    "customerCompany": "est",
    "productBarcode": "neque",
    "productName": "molestiae",
    "productId": "at",
    "description": "sunt",
    "registerDate": "suscipit",
    "registeredBy": "repellat",
    "initialUseDate": "impedit",
    "warrantyNumber": "porro",
    "warrantyPeriodYr": "sit",
    "warrantyStartDate": "commodi",
    "warrantyEndDate": "ipsum",
    "warrantyType": "in",
    "subProducts": [
        "maxime",
        "cum"
    ],
    "installerId": "in",
    "installerName": "illo",
    "installerCompany": "et",
    "installationDate": "nemo",
    "installationNote": "qui",
    "tz": "vel"
}
params = {
  'by': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/product/product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Body Parameters

companyId  string optional  
Company Id

companyName  string optional  
Company Name

customerId  string optional  
Customer Id

customerName  string optional  
Customer Name

customerPhone  string optional  
Customer Phone

customerAddress  string optional  
Customer Address

customerLng  string optional  
Customer Lng

customerLat  string optional  
Customer Lat

customerLngLat  string optional  
Customer LngLat

customerLatLng  string optional  
Customer LatLng

customerType  string optional  
Customer Type

customerCompany  string optional  
Customer Company

productBarcode  string optional  
Product Barcode

productName  string optional  
Product Name

productId  string optional  
Product Id

description  string optional  
Description

registerDate  string optional  
Register Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By

initialUseDate  string optional  
InitialUse Date

warrantyNumber  string optional  
Warranty Number

warrantyPeriodYr  string optional  
Warranty Period Yr

warrantyStartDate  string optional  
Warranty Start Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

subProducts  string[] optional  
Sub Products

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/deleniti?by=laudantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/deleniti"
);

let params = {
    "by": "laudantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/deleniti',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laudantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/deleniti'
params = {
  'by': 'laudantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/product/product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/schema?sf=sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/schema"
);

let params = {
    "sf": "sint",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/schema'
params = {
  'sf': 'sint',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/product/product/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/laboriosam?by=fugiat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/laboriosam"
);

let params = {
    "by": "fugiat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/laboriosam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'fugiat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/product/laboriosam'
params = {
  'by': 'fugiat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/product/product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Check Barcode

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/check-barcode" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"barcode":"eum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/check-barcode"
);

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

let body = {
    "barcode": "eum"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/check-barcode',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'barcode' => 'eum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/product/check-barcode'
payload = {
    "barcode": "eum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/product/check-barcode

Body Parameters

barcode  string optional  
Barcode string from scanning result

0. PPJ - Product Discount

Product Discount

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount?p=14&pp=16&sf=17&sv=7&me=modi&ms=aliquid&df=debitis&ds=veniam&de=repellendus&lf=doloribus&lat=45&lng=547510668&rad=395611945.75121" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount"
);

let params = {
    "p": "14",
    "pp": "16",
    "sf": "17",
    "sv": "7",
    "me": "modi",
    "ms": "aliquid",
    "df": "debitis",
    "ds": "veniam",
    "de": "repellendus",
    "lf": "doloribus",
    "lat": "45",
    "lng": "547510668",
    "rad": "395611945.75121",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '16',
            'sf'=> '17',
            'sv'=> '7',
            'me'=> 'modi',
            'ms'=> 'aliquid',
            'df'=> 'debitis',
            'ds'=> 'veniam',
            'de'=> 'repellendus',
            'lf'=> 'doloribus',
            'lat'=> '45',
            'lng'=> '547510668',
            'rad'=> '395611945.75121',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount'
params = {
  'p': '14',
  'pp': '16',
  'sf': '17',
  'sv': '7',
  'me': 'modi',
  'ms': 'aliquid',
  'df': 'debitis',
  'ds': 'veniam',
  'de': 'repellendus',
  'lf': 'doloribus',
  'lat': '45',
  'lng': '547510668',
  'rad': '395611945.75121',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/productdiscount

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/productdiscount/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/list/quia/consequatur/aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/list/quia/consequatur/aut"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/list/quia/consequatur/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/list/quia/consequatur/aut'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/productdiscount/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount?app=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount"
);

let params = {
    "app": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount'
params = {
  'app': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/productdiscount

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/init?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/init"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/init'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/productdiscount/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/change-status/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"quasi","changeBy":"eius","changeMode":"dolores","changeDate":"quia","changeRemarks":"voluptates","changeStatusTo":"fugiat","changeStatusObject":"et","currentStatus":"ipsam","entityType":"quo","entityId":"enim"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/change-status/et"
);

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

let body = {
    "changeStatusField": "quasi",
    "changeBy": "eius",
    "changeMode": "dolores",
    "changeDate": "quia",
    "changeRemarks": "voluptates",
    "changeStatusTo": "fugiat",
    "changeStatusObject": "et",
    "currentStatus": "ipsam",
    "entityType": "quo",
    "entityId": "enim"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/change-status/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'quasi',
            'changeBy' => 'eius',
            'changeMode' => 'dolores',
            'changeDate' => 'quia',
            'changeRemarks' => 'voluptates',
            'changeStatusTo' => 'fugiat',
            'changeStatusObject' => 'et',
            'currentStatus' => 'ipsam',
            'entityType' => 'quo',
            'entityId' => 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/change-status/et'
payload = {
    "changeStatusField": "quasi",
    "changeBy": "eius",
    "changeMode": "dolores",
    "changeDate": "quia",
    "changeRemarks": "voluptates",
    "changeStatusTo": "fugiat",
    "changeStatusObject": "et",
    "currentStatus": "ipsam",
    "entityType": "quo",
    "entityId": "enim"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/productdiscount/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/cupiditate?by=vero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/cupiditate"
);

let params = {
    "by": "vero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/cupiditate',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/cupiditate'
params = {
  'by': 'vero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/productdiscount/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/necessitatibus?by=perspiciatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/necessitatibus"
);

let params = {
    "by": "perspiciatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/necessitatibus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'perspiciatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/necessitatibus'
params = {
  'by': 'perspiciatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/productdiscount/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/schema?sf=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/schema"
);

let params = {
    "sf": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/schema'
params = {
  'sf': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/productdiscount/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/tempora?by=natus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/tempora"
);

let params = {
    "by": "natus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/tempora',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'natus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/productdiscount/tempora'
params = {
  'by': 'natus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/productdiscount/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Product Replace

Request penggantian produk

List Replacement Request

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace?p=3&pp=19&sf=4&sv=1&me=dolores&ms=natus&df=assumenda&ds=reiciendis&de=sunt&lf=dolores&lat=923295776&lng=19018.417128&rad=210254322.815" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace"
);

let params = {
    "p": "3",
    "pp": "19",
    "sf": "4",
    "sv": "1",
    "me": "dolores",
    "ms": "natus",
    "df": "assumenda",
    "ds": "reiciendis",
    "de": "sunt",
    "lf": "dolores",
    "lat": "923295776",
    "lng": "19018.417128",
    "rad": "210254322.815",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '19',
            'sf'=> '4',
            'sv'=> '1',
            'me'=> 'dolores',
            'ms'=> 'natus',
            'df'=> 'assumenda',
            'ds'=> 'reiciendis',
            'de'=> 'sunt',
            'lf'=> 'dolores',
            'lat'=> '923295776',
            'lng'=> '19018.417128',
            'rad'=> '210254322.815',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace'
params = {
  'p': '3',
  'pp': '19',
  'sf': '4',
  'sv': '1',
  'me': 'dolores',
  'ms': 'natus',
  'df': 'assumenda',
  'ds': 'reiciendis',
  'de': 'sunt',
  'lf': 'dolores',
  'lat': '923295776',
  'lng': '19018.417128',
  'rad': '210254322.815',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/product-replace

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/product-replace/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/list/repellat/reiciendis/placeat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/list/repellat/reiciendis/placeat"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/list/repellat/reiciendis/placeat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/list/repellat/reiciendis/placeat'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/product-replace/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Replacement Request

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/product-replace

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/init?by=quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/init"
);

let params = {
    "by": "quo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/init'
params = {
  'by': 'quo',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/product-replace/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/change-status/consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"sapiente","changeBy":"occaecati","changeMode":"non","changeDate":"consequatur","changeRemarks":"ad","changeStatusTo":"qui","changeStatusObject":"ratione","currentStatus":"qui","entityType":"omnis","entityId":"magni"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/change-status/consequatur"
);

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

let body = {
    "changeStatusField": "sapiente",
    "changeBy": "occaecati",
    "changeMode": "non",
    "changeDate": "consequatur",
    "changeRemarks": "ad",
    "changeStatusTo": "qui",
    "changeStatusObject": "ratione",
    "currentStatus": "qui",
    "entityType": "omnis",
    "entityId": "magni"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/change-status/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'sapiente',
            'changeBy' => 'occaecati',
            'changeMode' => 'non',
            'changeDate' => 'consequatur',
            'changeRemarks' => 'ad',
            'changeStatusTo' => 'qui',
            'changeStatusObject' => 'ratione',
            'currentStatus' => 'qui',
            'entityType' => 'omnis',
            'entityId' => 'magni',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/change-status/consequatur'
payload = {
    "changeStatusField": "sapiente",
    "changeBy": "occaecati",
    "changeMode": "non",
    "changeDate": "consequatur",
    "changeRemarks": "ad",
    "changeStatusTo": "qui",
    "changeStatusObject": "ratione",
    "currentStatus": "qui",
    "entityType": "omnis",
    "entityId": "magni"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/product-replace/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Replacement Request

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/beatae?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/beatae"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/beatae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/beatae'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/product-replace/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/harum?by=temporibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/harum"
);

let params = {
    "by": "temporibus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/harum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'temporibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/harum'
params = {
  'by': 'temporibus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/warranty/product-replace/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/schema?sf=perferendis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/schema"
);

let params = {
    "sf": "perferendis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'perferendis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/schema'
params = {
  'sf': 'perferendis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/product-replace/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/dolor?by=debitis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/dolor"
);

let params = {
    "by": "debitis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/dolor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'debitis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/product-replace/dolor'
params = {
  'by': 'debitis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/product-replace/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - PTKP

Dokumen PTKP

List PTKP

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp?p=19&pp=18&sf=6&sv=9&me=aspernatur&ms=consequuntur&df=voluptas&ds=maiores&de=impedit&lf=qui&lat=2639766.86505&lng=59.611067&rad=2936.42927461" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp"
);

let params = {
    "p": "19",
    "pp": "18",
    "sf": "6",
    "sv": "9",
    "me": "aspernatur",
    "ms": "consequuntur",
    "df": "voluptas",
    "ds": "maiores",
    "de": "impedit",
    "lf": "qui",
    "lat": "2639766.86505",
    "lng": "59.611067",
    "rad": "2936.42927461",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '19',
            'pp'=> '18',
            'sf'=> '6',
            'sv'=> '9',
            'me'=> 'aspernatur',
            'ms'=> 'consequuntur',
            'df'=> 'voluptas',
            'ds'=> 'maiores',
            'de'=> 'impedit',
            'lf'=> 'qui',
            'lat'=> '2639766.86505',
            'lng'=> '59.611067',
            'rad'=> '2936.42927461',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp'
params = {
  'p': '19',
  'pp': '18',
  'sf': '6',
  'sv': '9',
  'me': 'aspernatur',
  'ms': 'consequuntur',
  'df': 'voluptas',
  'ds': 'maiores',
  'de': 'impedit',
  'lf': 'qui',
  'lat': '2639766.86505',
  'lng': '59.611067',
  'rad': '2936.42927461',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/document/ptkp

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option PTKP

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/document/ptkp/options

List PTKP with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/list/officiis/minus/unde" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/list/officiis/minus/unde"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/list/officiis/minus/unde',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/list/officiis/minus/unde'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/document/ptkp/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add PTKP

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/document/ptkp

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/init?by=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/init"
);

let params = {
    "by": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/init'
params = {
  'by': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/document/ptkp/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/change-status/odit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"similique","changeBy":"voluptatem","changeMode":"similique","changeDate":"perferendis","changeRemarks":"et","changeStatusTo":"modi","changeStatusObject":"ab","currentStatus":"nulla","entityType":"non","entityId":"iusto"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/change-status/odit"
);

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

let body = {
    "changeStatusField": "similique",
    "changeBy": "voluptatem",
    "changeMode": "similique",
    "changeDate": "perferendis",
    "changeRemarks": "et",
    "changeStatusTo": "modi",
    "changeStatusObject": "ab",
    "currentStatus": "nulla",
    "entityType": "non",
    "entityId": "iusto"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/change-status/odit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'similique',
            'changeBy' => 'voluptatem',
            'changeMode' => 'similique',
            'changeDate' => 'perferendis',
            'changeRemarks' => 'et',
            'changeStatusTo' => 'modi',
            'changeStatusObject' => 'ab',
            'currentStatus' => 'nulla',
            'entityType' => 'non',
            'entityId' => 'iusto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/change-status/odit'
payload = {
    "changeStatusField": "similique",
    "changeBy": "voluptatem",
    "changeMode": "similique",
    "changeDate": "perferendis",
    "changeRemarks": "et",
    "changeStatusTo": "modi",
    "changeStatusObject": "ab",
    "currentStatus": "nulla",
    "entityType": "non",
    "entityId": "iusto"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/document/ptkp/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update PTKP

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/laborum?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/laborum"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/laborum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/laborum'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/document/ptkp/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/sit?by=laboriosam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/sit"
);

let params = {
    "by": "laboriosam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/sit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laboriosam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/sit'
params = {
  'by': 'laboriosam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/document/ptkp/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/schema?sf=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/schema"
);

let params = {
    "sf": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/schema'
params = {
  'sf': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/document/ptkp/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/nam?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/nam"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/nam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/document/ptkp/nam'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/document/ptkp/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Scan Log

List Scan Log

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log?p=20&pp=3&sf=4&sv=1&me=quidem&ms=quaerat&df=est&ds=adipisci&de=molestias&lf=quasi&lat=698.93521&lng=2.12421097&rad=742.2465921" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log"
);

let params = {
    "p": "20",
    "pp": "3",
    "sf": "4",
    "sv": "1",
    "me": "quidem",
    "ms": "quaerat",
    "df": "est",
    "ds": "adipisci",
    "de": "molestias",
    "lf": "quasi",
    "lat": "698.93521",
    "lng": "2.12421097",
    "rad": "742.2465921",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '20',
            'pp'=> '3',
            'sf'=> '4',
            'sv'=> '1',
            'me'=> 'quidem',
            'ms'=> 'quaerat',
            'df'=> 'est',
            'ds'=> 'adipisci',
            'de'=> 'molestias',
            'lf'=> 'quasi',
            'lat'=> '698.93521',
            'lng'=> '2.12421097',
            'rad'=> '742.2465921',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log'
params = {
  'p': '20',
  'pp': '3',
  'sf': '4',
  'sv': '1',
  'me': 'quidem',
  'ms': 'quaerat',
  'df': 'est',
  'ds': 'adipisci',
  'de': 'molestias',
  'lf': 'quasi',
  'lat': '698.93521',
  'lng': '2.12421097',
  'rad': '742.2465921',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/inventory/scan-log

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/inventory/scan-log/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/list/atque/a/optio" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/list/atque/a/optio"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/list/atque/a/optio',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/list/atque/a/optio'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/inventory/scan-log/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Scan Log

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"io":"consequatur","barcode":"quis","lng":3376.3,"lat":2930.949254,"scanLocation":[],"qty":18.91529,"uom":"in","tz":"perferendis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log"
);

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

let body = {
    "io": "consequatur",
    "barcode": "quis",
    "lng": 3376.3,
    "lat": 2930.949254,
    "scanLocation": [],
    "qty": 18.91529,
    "uom": "in",
    "tz": "perferendis"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'io' => 'consequatur',
            'barcode' => 'quis',
            'lng' => 3376.3,
            'lat' => 2930.949254,
            'scanLocation' => [],
            'qty' => 18.91529,
            'uom' => 'in',
            'tz' => 'perferendis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log'
payload = {
    "io": "consequatur",
    "barcode": "quis",
    "lng": 3376.3,
    "lat": 2930.949254,
    "scanLocation": [],
    "qty": 18.91529,
    "uom": "in",
    "tz": "perferendis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/inventory/scan-log

Body Parameters

io  string  
I/O direction : IN / OUT / CHECK

barcode  string  
captured barcode string

lng  number  
Location Longitude

lat  number  
Location Latitude

scanLocation  object optional  
Scan location object

qty  number optional  
Quantity / count of object at location

uom  string optional  
Unit of measurement for object quantity

tz  string  
Timezone

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/init?by=in" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/init"
);

let params = {
    "by": "in",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'in',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/init'
params = {
  'by': 'in',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/inventory/scan-log/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/change-status/corrupti" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"amet","changeBy":"rerum","changeMode":"nihil","changeDate":"ut","changeRemarks":"asperiores","changeStatusTo":"et","changeStatusObject":"nemo","currentStatus":"quia","entityType":"quia","entityId":"perspiciatis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/change-status/corrupti"
);

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

let body = {
    "changeStatusField": "amet",
    "changeBy": "rerum",
    "changeMode": "nihil",
    "changeDate": "ut",
    "changeRemarks": "asperiores",
    "changeStatusTo": "et",
    "changeStatusObject": "nemo",
    "currentStatus": "quia",
    "entityType": "quia",
    "entityId": "perspiciatis"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/change-status/corrupti',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'amet',
            'changeBy' => 'rerum',
            'changeMode' => 'nihil',
            'changeDate' => 'ut',
            'changeRemarks' => 'asperiores',
            'changeStatusTo' => 'et',
            'changeStatusObject' => 'nemo',
            'currentStatus' => 'quia',
            'entityType' => 'quia',
            'entityId' => 'perspiciatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/change-status/corrupti'
payload = {
    "changeStatusField": "amet",
    "changeBy": "rerum",
    "changeMode": "nihil",
    "changeDate": "ut",
    "changeRemarks": "asperiores",
    "changeStatusTo": "et",
    "changeStatusObject": "nemo",
    "currentStatus": "quia",
    "entityType": "quia",
    "entityId": "perspiciatis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/inventory/scan-log/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Scan Log

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/dolor?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/dolor"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/dolor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/dolor'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/inventory/scan-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/magni?by=hic" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/magni"
);

let params = {
    "by": "hic",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/magni',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'hic',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/magni'
params = {
  'by': 'hic',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/inventory/scan-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/schema?sf=officiis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/schema"
);

let params = {
    "sf": "officiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'officiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/schema'
params = {
  'sf': 'officiis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/inventory/scan-log/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/et?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/et"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/inventory/scan-log/et'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/inventory/scan-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Commercial Transaction

Service Commercial Transaction

List Svc Comm Transaction

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx?p=2&pp=11&sf=11&sv=7&me=tempora&ms=est&df=in&ds=sequi&de=rerum&lf=architecto&lat=795010682.95249&lng=2400647.6930074&rad=1834.2" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx"
);

let params = {
    "p": "2",
    "pp": "11",
    "sf": "11",
    "sv": "7",
    "me": "tempora",
    "ms": "est",
    "df": "in",
    "ds": "sequi",
    "de": "rerum",
    "lf": "architecto",
    "lat": "795010682.95249",
    "lng": "2400647.6930074",
    "rad": "1834.2",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '2',
            'pp'=> '11',
            'sf'=> '11',
            'sv'=> '7',
            'me'=> 'tempora',
            'ms'=> 'est',
            'df'=> 'in',
            'ds'=> 'sequi',
            'de'=> 'rerum',
            'lf'=> 'architecto',
            'lat'=> '795010682.95249',
            'lng'=> '2400647.6930074',
            'rad'=> '1834.2',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx'
params = {
  'p': '2',
  'pp': '11',
  'sf': '11',
  'sv': '7',
  'me': 'tempora',
  'ms': 'est',
  'df': 'in',
  'ds': 'sequi',
  'de': 'rerum',
  'lf': 'architecto',
  'lat': '795010682.95249',
  'lng': '2400647.6930074',
  'rad': '1834.2',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-trx

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-trx/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/list/qui/sed/ratione" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/list/qui/sed/ratione"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/list/qui/sed/ratione',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/list/qui/sed/ratione'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-trx/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Svc Comm Transaction

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-comm-trx

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/init?by=aperiam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/init"
);

let params = {
    "by": "aperiam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aperiam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/init'
params = {
  'by': 'aperiam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-comm-trx/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/change-status/fuga" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"unde","changeBy":"eius","changeMode":"suscipit","changeDate":"voluptas","changeRemarks":"maxime","changeStatusTo":"aut","changeStatusObject":"minus","currentStatus":"id","entityType":"sed","entityId":"natus"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/change-status/fuga"
);

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

let body = {
    "changeStatusField": "unde",
    "changeBy": "eius",
    "changeMode": "suscipit",
    "changeDate": "voluptas",
    "changeRemarks": "maxime",
    "changeStatusTo": "aut",
    "changeStatusObject": "minus",
    "currentStatus": "id",
    "entityType": "sed",
    "entityId": "natus"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/change-status/fuga',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'unde',
            'changeBy' => 'eius',
            'changeMode' => 'suscipit',
            'changeDate' => 'voluptas',
            'changeRemarks' => 'maxime',
            'changeStatusTo' => 'aut',
            'changeStatusObject' => 'minus',
            'currentStatus' => 'id',
            'entityType' => 'sed',
            'entityId' => 'natus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/change-status/fuga'
payload = {
    "changeStatusField": "unde",
    "changeBy": "eius",
    "changeMode": "suscipit",
    "changeDate": "voluptas",
    "changeRemarks": "maxime",
    "changeStatusTo": "aut",
    "changeStatusObject": "minus",
    "currentStatus": "id",
    "entityType": "sed",
    "entityId": "natus"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-comm-trx/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Svc Comm Transaction

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/error?by=dolor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/error"
);

let params = {
    "by": "dolor",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/error',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolor',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/error'
params = {
  'by': 'dolor',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-comm-trx/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/voluptatem?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/voluptatem"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/voluptatem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/voluptatem'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-comm-trx/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/schema?sf=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/schema"
);

let params = {
    "sf": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/schema'
params = {
  'sf': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-trx/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/reiciendis?by=incidunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/reiciendis"
);

let params = {
    "by": "incidunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/reiciendis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'incidunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-comm-trx/reiciendis'
params = {
  'by': 'incidunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-comm-trx/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Commercial

Service Commercial setup untuk set harga jasa service

List Commercial Setup

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial?p=20&pp=9&sf=14&sv=17&me=numquam&ms=non&df=praesentium&ds=accusantium&de=pariatur&lf=consequatur&lat=5463923&lng=383338.4&rad=15702" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial"
);

let params = {
    "p": "20",
    "pp": "9",
    "sf": "14",
    "sv": "17",
    "me": "numquam",
    "ms": "non",
    "df": "praesentium",
    "ds": "accusantium",
    "de": "pariatur",
    "lf": "consequatur",
    "lat": "5463923",
    "lng": "383338.4",
    "rad": "15702",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '20',
            'pp'=> '9',
            'sf'=> '14',
            'sv'=> '17',
            'me'=> 'numquam',
            'ms'=> 'non',
            'df'=> 'praesentium',
            'ds'=> 'accusantium',
            'de'=> 'pariatur',
            'lf'=> 'consequatur',
            'lat'=> '5463923',
            'lng'=> '383338.4',
            'rad'=> '15702',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial'
params = {
  'p': '20',
  'pp': '9',
  'sf': '14',
  'sv': '17',
  'me': 'numquam',
  'ms': 'non',
  'df': 'praesentium',
  'ds': 'accusantium',
  'de': 'pariatur',
  'lf': 'consequatur',
  'lat': '5463923',
  'lng': '383338.4',
  'rad': '15702',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-commercial

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-commercial/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/list/ratione/quidem/perspiciatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/list/ratione/quidem/perspiciatis"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/list/ratione/quidem/perspiciatis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/list/ratione/quidem/perspiciatis'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-commercial/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Commercial Setup

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-commercial

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/init?by=ipsa" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/init"
);

let params = {
    "by": "ipsa",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ipsa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/init'
params = {
  'by': 'ipsa',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-commercial/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/change-status/maxime" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"rerum","changeBy":"explicabo","changeMode":"deleniti","changeDate":"quo","changeRemarks":"atque","changeStatusTo":"non","changeStatusObject":"non","currentStatus":"quibusdam","entityType":"quia","entityId":"vero"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/change-status/maxime"
);

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

let body = {
    "changeStatusField": "rerum",
    "changeBy": "explicabo",
    "changeMode": "deleniti",
    "changeDate": "quo",
    "changeRemarks": "atque",
    "changeStatusTo": "non",
    "changeStatusObject": "non",
    "currentStatus": "quibusdam",
    "entityType": "quia",
    "entityId": "vero"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/change-status/maxime',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'rerum',
            'changeBy' => 'explicabo',
            'changeMode' => 'deleniti',
            'changeDate' => 'quo',
            'changeRemarks' => 'atque',
            'changeStatusTo' => 'non',
            'changeStatusObject' => 'non',
            'currentStatus' => 'quibusdam',
            'entityType' => 'quia',
            'entityId' => 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/change-status/maxime'
payload = {
    "changeStatusField": "rerum",
    "changeBy": "explicabo",
    "changeMode": "deleniti",
    "changeDate": "quo",
    "changeRemarks": "atque",
    "changeStatusTo": "non",
    "changeStatusObject": "non",
    "currentStatus": "quibusdam",
    "entityType": "quia",
    "entityId": "vero"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-commercial/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Commercial Setup

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/et?by=sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/et"
);

let params = {
    "by": "sint",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/et'
params = {
  'by': 'sint',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-commercial/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/ut?by=sequi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/ut"
);

let params = {
    "by": "sequi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sequi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/ut'
params = {
  'by': 'sequi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-commercial/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/schema?sf=modi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/schema"
);

let params = {
    "sf": "modi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'modi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/schema'
params = {
  'sf': 'modi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-commercial/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/repellat?by=dolores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/repellat"
);

let params = {
    "by": "dolores",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/repellat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-commercial/repellat'
params = {
  'by': 'dolores',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-commercial/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Job

Service Job Type to perform over products and other services, formerly Maintenance Action

List Service Job

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job?p=8&pp=17&sf=16&sv=15&me=qui&ms=quas&df=consectetur&ds=qui&de=natus&lf=non&lat=37.98&lng=3185673.549427&rad=196719940.24435" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job"
);

let params = {
    "p": "8",
    "pp": "17",
    "sf": "16",
    "sv": "15",
    "me": "qui",
    "ms": "quas",
    "df": "consectetur",
    "ds": "qui",
    "de": "natus",
    "lf": "non",
    "lat": "37.98",
    "lng": "3185673.549427",
    "rad": "196719940.24435",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '8',
            'pp'=> '17',
            'sf'=> '16',
            'sv'=> '15',
            'me'=> 'qui',
            'ms'=> 'quas',
            'df'=> 'consectetur',
            'ds'=> 'qui',
            'de'=> 'natus',
            'lf'=> 'non',
            'lat'=> '37.98',
            'lng'=> '3185673.549427',
            'rad'=> '196719940.24435',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job'
params = {
  'p': '8',
  'pp': '17',
  'sf': '16',
  'sv': '15',
  'me': 'qui',
  'ms': 'quas',
  'df': 'consectetur',
  'ds': 'qui',
  'de': 'natus',
  'lf': 'non',
  'lat': '37.98',
  'lng': '3185673.549427',
  'rad': '196719940.24435',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-job

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-job/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/list/sed/vitae/officia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/list/sed/vitae/officia"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/list/sed/vitae/officia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/list/sed/vitae/officia'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-job/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Job

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-job

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/init?by=non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/init"
);

let params = {
    "by": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'non',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/init'
params = {
  'by': 'non',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-job/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/change-status/quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"est","changeBy":"quia","changeMode":"qui","changeDate":"est","changeRemarks":"reprehenderit","changeStatusTo":"vero","changeStatusObject":"illum","currentStatus":"placeat","entityType":"cupiditate","entityId":"tempore"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/change-status/quo"
);

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

let body = {
    "changeStatusField": "est",
    "changeBy": "quia",
    "changeMode": "qui",
    "changeDate": "est",
    "changeRemarks": "reprehenderit",
    "changeStatusTo": "vero",
    "changeStatusObject": "illum",
    "currentStatus": "placeat",
    "entityType": "cupiditate",
    "entityId": "tempore"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/change-status/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'est',
            'changeBy' => 'quia',
            'changeMode' => 'qui',
            'changeDate' => 'est',
            'changeRemarks' => 'reprehenderit',
            'changeStatusTo' => 'vero',
            'changeStatusObject' => 'illum',
            'currentStatus' => 'placeat',
            'entityType' => 'cupiditate',
            'entityId' => 'tempore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/change-status/quo'
payload = {
    "changeStatusField": "est",
    "changeBy": "quia",
    "changeMode": "qui",
    "changeDate": "est",
    "changeRemarks": "reprehenderit",
    "changeStatusTo": "vero",
    "changeStatusObject": "illum",
    "currentStatus": "placeat",
    "entityType": "cupiditate",
    "entityId": "tempore"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-job/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Job

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/iure?by=quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/iure"
);

let params = {
    "by": "quos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/iure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/iure'
params = {
  'by': 'quos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-job/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/sed?by=quis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/sed"
);

let params = {
    "by": "quis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/sed',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/sed'
params = {
  'by': 'quis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-job/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/schema?sf=maxime" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/schema"
);

let params = {
    "sf": "maxime",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'maxime',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/schema'
params = {
  'sf': 'maxime',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-job/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/autem?by=voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/autem"
);

let params = {
    "by": "voluptates",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/autem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptates',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-job/autem'
params = {
  'by': 'voluptates',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-job/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Order Log

Log of Service Order from inception to closing

List Service Order Log

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log?p=5&pp=10&sf=15&sv=9&me=esse&ms=aliquid&df=amet&ds=et&de=distinctio&lf=culpa&lat=1624851.8007&lng=3199&rad=12890.304" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log"
);

let params = {
    "p": "5",
    "pp": "10",
    "sf": "15",
    "sv": "9",
    "me": "esse",
    "ms": "aliquid",
    "df": "amet",
    "ds": "et",
    "de": "distinctio",
    "lf": "culpa",
    "lat": "1624851.8007",
    "lng": "3199",
    "rad": "12890.304",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '5',
            'pp'=> '10',
            'sf'=> '15',
            'sv'=> '9',
            'me'=> 'esse',
            'ms'=> 'aliquid',
            'df'=> 'amet',
            'ds'=> 'et',
            'de'=> 'distinctio',
            'lf'=> 'culpa',
            'lat'=> '1624851.8007',
            'lng'=> '3199',
            'rad'=> '12890.304',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log'
params = {
  'p': '5',
  'pp': '10',
  'sf': '15',
  'sv': '9',
  'me': 'esse',
  'ms': 'aliquid',
  'df': 'amet',
  'ds': 'et',
  'de': 'distinctio',
  'lf': 'culpa',
  'lat': '1624851.8007',
  'lng': '3199',
  'rad': '12890.304',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order-log

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order-log/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/list/tempora/autem/accusamus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/list/tempora/autem/accusamus"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/list/tempora/autem/accusamus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/list/tempora/autem/accusamus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order-log/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Order Log

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-order-log

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/init?by=modi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/init"
);

let params = {
    "by": "modi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'modi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/init'
params = {
  'by': 'modi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-order-log/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/change-status/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"nemo","changeBy":"animi","changeMode":"alias","changeDate":"illum","changeRemarks":"est","changeStatusTo":"sed","changeStatusObject":"at","currentStatus":"ea","entityType":"et","entityId":"nisi"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/change-status/ut"
);

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

let body = {
    "changeStatusField": "nemo",
    "changeBy": "animi",
    "changeMode": "alias",
    "changeDate": "illum",
    "changeRemarks": "est",
    "changeStatusTo": "sed",
    "changeStatusObject": "at",
    "currentStatus": "ea",
    "entityType": "et",
    "entityId": "nisi"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/change-status/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'nemo',
            'changeBy' => 'animi',
            'changeMode' => 'alias',
            'changeDate' => 'illum',
            'changeRemarks' => 'est',
            'changeStatusTo' => 'sed',
            'changeStatusObject' => 'at',
            'currentStatus' => 'ea',
            'entityType' => 'et',
            'entityId' => 'nisi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/change-status/ut'
payload = {
    "changeStatusField": "nemo",
    "changeBy": "animi",
    "changeMode": "alias",
    "changeDate": "illum",
    "changeRemarks": "est",
    "changeStatusTo": "sed",
    "changeStatusObject": "at",
    "currentStatus": "ea",
    "entityType": "et",
    "entityId": "nisi"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-order-log/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Order Log

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/qui?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/qui"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/qui'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-order-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/similique?by=iure" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/similique"
);

let params = {
    "by": "iure",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/similique',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'iure',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/similique'
params = {
  'by': 'iure',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-order-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/schema?sf=assumenda" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/schema"
);

let params = {
    "sf": "assumenda",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'assumenda',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/schema'
params = {
  'sf': 'assumenda',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order-log/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/minus?by=corporis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/minus"
);

let params = {
    "by": "corporis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/minus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'corporis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order-log/minus'
params = {
  'by': 'corporis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Order

Service Order to assign task to Maintainer

List Service Order

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order?p=16&pp=1&sf=20&sv=7&me=fugiat&ms=porro&df=sunt&ds=et&de=unde&lf=dolore&lat=23904.9762498&lng=0&rad=948800.905" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order"
);

let params = {
    "p": "16",
    "pp": "1",
    "sf": "20",
    "sv": "7",
    "me": "fugiat",
    "ms": "porro",
    "df": "sunt",
    "ds": "et",
    "de": "unde",
    "lf": "dolore",
    "lat": "23904.9762498",
    "lng": "0",
    "rad": "948800.905",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '1',
            'sf'=> '20',
            'sv'=> '7',
            'me'=> 'fugiat',
            'ms'=> 'porro',
            'df'=> 'sunt',
            'ds'=> 'et',
            'de'=> 'unde',
            'lf'=> 'dolore',
            'lat'=> '23904.9762498',
            'lng'=> '0',
            'rad'=> '948800.905',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order'
params = {
  'p': '16',
  'pp': '1',
  'sf': '20',
  'sv': '7',
  'me': 'fugiat',
  'ms': 'porro',
  'df': 'sunt',
  'ds': 'et',
  'de': 'unde',
  'lf': 'dolore',
  'lat': '23904.9762498',
  'lng': '0',
  'rad': '948800.905',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/list/occaecati/assumenda/voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/list/occaecati/assumenda/voluptates"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/list/occaecati/assumenda/voluptates',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/list/occaecati/assumenda/voluptates'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Order

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-order

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/init?by=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/init"
);

let params = {
    "by": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/init'
params = {
  'by': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-order/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/change-status/enim" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"est","changeBy":"et","changeMode":"corporis","changeDate":"sed","changeRemarks":"officiis","changeStatusTo":"ratione","changeStatusObject":"temporibus","currentStatus":"ratione","entityType":"eligendi","entityId":"consequatur"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/change-status/enim"
);

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

let body = {
    "changeStatusField": "est",
    "changeBy": "et",
    "changeMode": "corporis",
    "changeDate": "sed",
    "changeRemarks": "officiis",
    "changeStatusTo": "ratione",
    "changeStatusObject": "temporibus",
    "currentStatus": "ratione",
    "entityType": "eligendi",
    "entityId": "consequatur"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/change-status/enim',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'est',
            'changeBy' => 'et',
            'changeMode' => 'corporis',
            'changeDate' => 'sed',
            'changeRemarks' => 'officiis',
            'changeStatusTo' => 'ratione',
            'changeStatusObject' => 'temporibus',
            'currentStatus' => 'ratione',
            'entityType' => 'eligendi',
            'entityId' => 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/change-status/enim'
payload = {
    "changeStatusField": "est",
    "changeBy": "et",
    "changeMode": "corporis",
    "changeDate": "sed",
    "changeRemarks": "officiis",
    "changeStatusTo": "ratione",
    "changeStatusObject": "temporibus",
    "currentStatus": "ratione",
    "entityType": "eligendi",
    "entityId": "consequatur"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-order/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Order

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/repudiandae?by=suscipit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/repudiandae"
);

let params = {
    "by": "suscipit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/repudiandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/repudiandae'
params = {
  'by': 'suscipit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-order/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/et?by=ad" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/et"
);

let params = {
    "by": "ad",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ad',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/et'
params = {
  'by': 'ad',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-order/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/schema?sf=consequuntur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/schema"
);

let params = {
    "sf": "consequuntur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'consequuntur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/schema'
params = {
  'sf': 'consequuntur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/sapiente?by=quaerat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/sapiente"
);

let params = {
    "by": "quaerat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/sapiente',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quaerat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-order/sapiente'
params = {
  'by': 'quaerat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-order/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Report

{{docGroupDescr}}

List Service Report

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report?p=4&pp=7&sf=1&sv=15&me=nostrum&ms=saepe&df=autem&ds=temporibus&de=quisquam&lf=ex&lat=32&lng=19461299.93634&rad=21.78744" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report"
);

let params = {
    "p": "4",
    "pp": "7",
    "sf": "1",
    "sv": "15",
    "me": "nostrum",
    "ms": "saepe",
    "df": "autem",
    "ds": "temporibus",
    "de": "quisquam",
    "lf": "ex",
    "lat": "32",
    "lng": "19461299.93634",
    "rad": "21.78744",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '4',
            'pp'=> '7',
            'sf'=> '1',
            'sv'=> '15',
            'me'=> 'nostrum',
            'ms'=> 'saepe',
            'df'=> 'autem',
            'ds'=> 'temporibus',
            'de'=> 'quisquam',
            'lf'=> 'ex',
            'lat'=> '32',
            'lng'=> '19461299.93634',
            'rad'=> '21.78744',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report'
params = {
  'p': '4',
  'pp': '7',
  'sf': '1',
  'sv': '15',
  'me': 'nostrum',
  'ms': 'saepe',
  'df': 'autem',
  'ds': 'temporibus',
  'de': 'quisquam',
  'lf': 'ex',
  'lat': '32',
  'lng': '19461299.93634',
  'rad': '21.78744',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-report

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-report/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/list/voluptas/quaerat/repellendus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/list/voluptas/quaerat/repellendus"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/list/voluptas/quaerat/repellendus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/list/voluptas/quaerat/repellendus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-report/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Report

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-report

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/init?by=tempore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/init"
);

let params = {
    "by": "tempore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'tempore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/init'
params = {
  'by': 'tempore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-report/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/change-status/consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"quia","changeBy":"voluptatibus","changeMode":"vel","changeDate":"sed","changeRemarks":"quasi","changeStatusTo":"voluptatum","changeStatusObject":"ducimus","currentStatus":"saepe","entityType":"saepe","entityId":"sed"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/change-status/consequatur"
);

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

let body = {
    "changeStatusField": "quia",
    "changeBy": "voluptatibus",
    "changeMode": "vel",
    "changeDate": "sed",
    "changeRemarks": "quasi",
    "changeStatusTo": "voluptatum",
    "changeStatusObject": "ducimus",
    "currentStatus": "saepe",
    "entityType": "saepe",
    "entityId": "sed"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/change-status/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'quia',
            'changeBy' => 'voluptatibus',
            'changeMode' => 'vel',
            'changeDate' => 'sed',
            'changeRemarks' => 'quasi',
            'changeStatusTo' => 'voluptatum',
            'changeStatusObject' => 'ducimus',
            'currentStatus' => 'saepe',
            'entityType' => 'saepe',
            'entityId' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/change-status/consequatur'
payload = {
    "changeStatusField": "quia",
    "changeBy": "voluptatibus",
    "changeMode": "vel",
    "changeDate": "sed",
    "changeRemarks": "quasi",
    "changeStatusTo": "voluptatum",
    "changeStatusObject": "ducimus",
    "currentStatus": "saepe",
    "entityType": "saepe",
    "entityId": "sed"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-report/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Report

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/dolores?by=quis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/dolores"
);

let params = {
    "by": "quis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/dolores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/dolores'
params = {
  'by': 'quis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-report/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/voluptates?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/voluptates"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/voluptates',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/voluptates'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-report/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/schema?sf=dolorum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/schema"
);

let params = {
    "sf": "dolorum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'dolorum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/schema'
params = {
  'sf': 'dolorum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-report/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/adipisci?by=vel" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/adipisci"
);

let params = {
    "by": "vel",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/adipisci',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-report/adipisci'
params = {
  'by': 'vel',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-report/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Service Request Log

Log of Service Request from inception to closing

List Service Request Log

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log?p=11&pp=9&sf=5&sv=11&me=adipisci&ms=maiores&df=assumenda&ds=fuga&de=at&lf=magnam&lat=2489086.4757&lng=1774.39328&rad=823062.9626361" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log"
);

let params = {
    "p": "11",
    "pp": "9",
    "sf": "5",
    "sv": "11",
    "me": "adipisci",
    "ms": "maiores",
    "df": "assumenda",
    "ds": "fuga",
    "de": "at",
    "lf": "magnam",
    "lat": "2489086.4757",
    "lng": "1774.39328",
    "rad": "823062.9626361",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '11',
            'pp'=> '9',
            'sf'=> '5',
            'sv'=> '11',
            'me'=> 'adipisci',
            'ms'=> 'maiores',
            'df'=> 'assumenda',
            'ds'=> 'fuga',
            'de'=> 'at',
            'lf'=> 'magnam',
            'lat'=> '2489086.4757',
            'lng'=> '1774.39328',
            'rad'=> '823062.9626361',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log'
params = {
  'p': '11',
  'pp': '9',
  'sf': '5',
  'sv': '11',
  'me': 'adipisci',
  'ms': 'maiores',
  'df': 'assumenda',
  'ds': 'fuga',
  'de': 'at',
  'lf': 'magnam',
  'lat': '2489086.4757',
  'lng': '1774.39328',
  'rad': '823062.9626361',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request-log

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request-log/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/list/quidem/rerum/velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/list/quidem/rerum/velit"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/list/quidem/rerum/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/list/quidem/rerum/velit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request-log/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Request Log

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-request-log

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/init?by=laudantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/init"
);

let params = {
    "by": "laudantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laudantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/init'
params = {
  'by': 'laudantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-request-log/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/change-status/cum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"excepturi","changeBy":"eos","changeMode":"sed","changeDate":"quidem","changeRemarks":"porro","changeStatusTo":"beatae","changeStatusObject":"laboriosam","currentStatus":"minus","entityType":"perferendis","entityId":"est"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/change-status/cum"
);

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

let body = {
    "changeStatusField": "excepturi",
    "changeBy": "eos",
    "changeMode": "sed",
    "changeDate": "quidem",
    "changeRemarks": "porro",
    "changeStatusTo": "beatae",
    "changeStatusObject": "laboriosam",
    "currentStatus": "minus",
    "entityType": "perferendis",
    "entityId": "est"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/change-status/cum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'excepturi',
            'changeBy' => 'eos',
            'changeMode' => 'sed',
            'changeDate' => 'quidem',
            'changeRemarks' => 'porro',
            'changeStatusTo' => 'beatae',
            'changeStatusObject' => 'laboriosam',
            'currentStatus' => 'minus',
            'entityType' => 'perferendis',
            'entityId' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/change-status/cum'
payload = {
    "changeStatusField": "excepturi",
    "changeBy": "eos",
    "changeMode": "sed",
    "changeDate": "quidem",
    "changeRemarks": "porro",
    "changeStatusTo": "beatae",
    "changeStatusObject": "laboriosam",
    "currentStatus": "minus",
    "entityType": "perferendis",
    "entityId": "est"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-request-log/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Request Log

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/laborum?by=labore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/laborum"
);

let params = {
    "by": "labore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/laborum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'labore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/laborum'
params = {
  'by': 'labore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-request-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/sunt?by=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/sunt"
);

let params = {
    "by": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/sunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/sunt'
params = {
  'by': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-request-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/schema?sf=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/schema"
);

let params = {
    "sf": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/schema'
params = {
  'sf': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request-log/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/impedit?by=saepe" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/impedit"
);

let params = {
    "by": "saepe",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/impedit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'saepe',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request-log/impedit'
params = {
  'by': 'saepe',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Vendor Directory

Vendor Directory

Get Vendor Location

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/location" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"keyword1":"et"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/location"
);

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

let body = {
    "keyword1": "et"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'keyword1' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/location'
payload = {
    "keyword1": "et"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/directory/vendor/list/location

URL Parameters

keyword0  string optional  
"location"

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated )

Body Parameters

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated ) jika menggunakan method POST

List Vendor

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor?p=9&pp=20&sf=2&sv=4&me=at&ms=laboriosam&df=ea&ds=provident&de=tempora&lf=ut&lat=101792958.6&lng=179.8828278&rad=3390110.833928" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor"
);

let params = {
    "p": "9",
    "pp": "20",
    "sf": "2",
    "sv": "4",
    "me": "at",
    "ms": "laboriosam",
    "df": "ea",
    "ds": "provident",
    "de": "tempora",
    "lf": "ut",
    "lat": "101792958.6",
    "lng": "179.8828278",
    "rad": "3390110.833928",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '9',
            'pp'=> '20',
            'sf'=> '2',
            'sv'=> '4',
            'me'=> 'at',
            'ms'=> 'laboriosam',
            'df'=> 'ea',
            'ds'=> 'provident',
            'de'=> 'tempora',
            'lf'=> 'ut',
            'lat'=> '101792958.6',
            'lng'=> '179.8828278',
            'rad'=> '3390110.833928',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor'
params = {
  'p': '9',
  'pp': '20',
  'sf': '2',
  'sv': '4',
  'me': 'at',
  'ms': 'laboriosam',
  'df': 'ea',
  'ds': 'provident',
  'de': 'tempora',
  'lf': 'ut',
  'lat': '101792958.6',
  'lng': '179.8828278',
  'rad': '3390110.833928',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Location field name

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor/options

Get Vendor Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/reprehenderit/beatae/iusto" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"keyword1":"voluptatem"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/reprehenderit/beatae/iusto"
);

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

let body = {
    "keyword1": "voluptatem"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/reprehenderit/beatae/iusto',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'keyword1' => 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/list/reprehenderit/beatae/iusto'
payload = {
    "keyword1": "voluptatem"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, json=payload)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
"location"

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated )

keyword2  string optional  

Body Parameters

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated ) jika menggunakan method POST

Add Vendor

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/vendor

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/init?by=molestias" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/init"
);

let params = {
    "by": "molestias",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'molestias',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/init'
params = {
  'by': 'molestias',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/directory/vendor/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/change-status/ex" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"et","changeBy":"voluptas","changeMode":"rerum","changeDate":"id","changeRemarks":"vitae","changeStatusTo":"fuga","changeStatusObject":"et","currentStatus":"exercitationem","entityType":"ab","entityId":"animi"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/change-status/ex"
);

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

let body = {
    "changeStatusField": "et",
    "changeBy": "voluptas",
    "changeMode": "rerum",
    "changeDate": "id",
    "changeRemarks": "vitae",
    "changeStatusTo": "fuga",
    "changeStatusObject": "et",
    "currentStatus": "exercitationem",
    "entityType": "ab",
    "entityId": "animi"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/change-status/ex',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'et',
            'changeBy' => 'voluptas',
            'changeMode' => 'rerum',
            'changeDate' => 'id',
            'changeRemarks' => 'vitae',
            'changeStatusTo' => 'fuga',
            'changeStatusObject' => 'et',
            'currentStatus' => 'exercitationem',
            'entityType' => 'ab',
            'entityId' => 'animi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/change-status/ex'
payload = {
    "changeStatusField": "et",
    "changeBy": "voluptas",
    "changeMode": "rerum",
    "changeDate": "id",
    "changeRemarks": "vitae",
    "changeStatusTo": "fuga",
    "changeStatusObject": "et",
    "currentStatus": "exercitationem",
    "entityType": "ab",
    "entityId": "animi"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/vendor/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Vendor

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/provident?by=a" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/provident"
);

let params = {
    "by": "a",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/provident',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'a',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/provident'
params = {
  'by': 'a',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/vendor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/adipisci?by=non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/adipisci"
);

let params = {
    "by": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/adipisci',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'non',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/adipisci'
params = {
  'by': 'non',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/vendor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/schema?sf=nobis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/schema"
);

let params = {
    "sf": "nobis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'nobis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/schema'
params = {
  'sf': 'nobis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/pariatur?by=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/pariatur"
);

let params = {
    "by": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/pariatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor/pariatur'
params = {
  'by': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Get Vendor Location

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/location" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"keyword1":"molestias"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/location"
);

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

let body = {
    "keyword1": "molestias"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'keyword1' => 'molestias',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/location'
payload = {
    "keyword1": "molestias"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/directory/distributor/list/location

URL Parameters

keyword0  string optional  
"location"

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated )

Body Parameters

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated ) jika menggunakan method POST

List Vendor

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor?p=15&pp=14&sf=3&sv=5&me=qui&ms=asperiores&df=necessitatibus&ds=totam&de=officiis&lf=velit&lat=83920.6328&lng=5.6783067&rad=135418917.02739" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor"
);

let params = {
    "p": "15",
    "pp": "14",
    "sf": "3",
    "sv": "5",
    "me": "qui",
    "ms": "asperiores",
    "df": "necessitatibus",
    "ds": "totam",
    "de": "officiis",
    "lf": "velit",
    "lat": "83920.6328",
    "lng": "5.6783067",
    "rad": "135418917.02739",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '15',
            'pp'=> '14',
            'sf'=> '3',
            'sv'=> '5',
            'me'=> 'qui',
            'ms'=> 'asperiores',
            'df'=> 'necessitatibus',
            'ds'=> 'totam',
            'de'=> 'officiis',
            'lf'=> 'velit',
            'lat'=> '83920.6328',
            'lng'=> '5.6783067',
            'rad'=> '135418917.02739',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor'
params = {
  'p': '15',
  'pp': '14',
  'sf': '3',
  'sv': '5',
  'me': 'qui',
  'ms': 'asperiores',
  'df': 'necessitatibus',
  'ds': 'totam',
  'de': 'officiis',
  'lf': 'velit',
  'lat': '83920.6328',
  'lng': '5.6783067',
  'rad': '135418917.02739',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor/options

Get Vendor Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/consectetur/fugit/ab" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"keyword1":"tempora"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/consectetur/fugit/ab"
);

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

let body = {
    "keyword1": "tempora"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/consectetur/fugit/ab',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'keyword1' => 'tempora',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/list/consectetur/fugit/ab'
payload = {
    "keyword1": "tempora"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, json=payload)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
"location"

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated )

keyword2  string optional  

Body Parameters

keyword1  string optional  
vendorId _id ( dari extId database ) atau vendorCode ( generated ) jika menggunakan method POST

Add Vendor

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/distributor

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/init?by=quasi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/init"
);

let params = {
    "by": "quasi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quasi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/init'
params = {
  'by': 'quasi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/directory/distributor/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/change-status/dolores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"cupiditate","changeBy":"omnis","changeMode":"ut","changeDate":"veritatis","changeRemarks":"mollitia","changeStatusTo":"fugit","changeStatusObject":"autem","currentStatus":"harum","entityType":"officiis","entityId":"velit"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/change-status/dolores"
);

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

let body = {
    "changeStatusField": "cupiditate",
    "changeBy": "omnis",
    "changeMode": "ut",
    "changeDate": "veritatis",
    "changeRemarks": "mollitia",
    "changeStatusTo": "fugit",
    "changeStatusObject": "autem",
    "currentStatus": "harum",
    "entityType": "officiis",
    "entityId": "velit"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/change-status/dolores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'cupiditate',
            'changeBy' => 'omnis',
            'changeMode' => 'ut',
            'changeDate' => 'veritatis',
            'changeRemarks' => 'mollitia',
            'changeStatusTo' => 'fugit',
            'changeStatusObject' => 'autem',
            'currentStatus' => 'harum',
            'entityType' => 'officiis',
            'entityId' => 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/change-status/dolores'
payload = {
    "changeStatusField": "cupiditate",
    "changeBy": "omnis",
    "changeMode": "ut",
    "changeDate": "veritatis",
    "changeRemarks": "mollitia",
    "changeStatusTo": "fugit",
    "changeStatusObject": "autem",
    "currentStatus": "harum",
    "entityType": "officiis",
    "entityId": "velit"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/distributor/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Vendor

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/labore?by=omnis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/labore"
);

let params = {
    "by": "omnis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/labore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/labore'
params = {
  'by': 'omnis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/distributor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/non?by=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/non"
);

let params = {
    "by": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/non'
params = {
  'by': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/distributor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/schema?sf=minus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/schema"
);

let params = {
    "sf": "minus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'minus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/schema'
params = {
  'sf': 'minus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/soluta?by=vel" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/soluta"
);

let params = {
    "by": "vel",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/soluta',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/distributor/soluta'
params = {
  'by': 'vel',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/distributor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Vendor Location

Vendor Outlet / Shop Location dimana Maintainer dapat menginduk

List Vendor Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location?p=19&pp=6&sf=16&sv=10&me=consequatur&ms=deserunt&df=nemo&ds=enim&de=laboriosam&lf=dolorum&lat=17685.343632&lng=868630560.79&rad=45.0912873" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location"
);

let params = {
    "p": "19",
    "pp": "6",
    "sf": "16",
    "sv": "10",
    "me": "consequatur",
    "ms": "deserunt",
    "df": "nemo",
    "ds": "enim",
    "de": "laboriosam",
    "lf": "dolorum",
    "lat": "17685.343632",
    "lng": "868630560.79",
    "rad": "45.0912873",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '19',
            'pp'=> '6',
            'sf'=> '16',
            'sv'=> '10',
            'me'=> 'consequatur',
            'ms'=> 'deserunt',
            'df'=> 'nemo',
            'ds'=> 'enim',
            'de'=> 'laboriosam',
            'lf'=> 'dolorum',
            'lat'=> '17685.343632',
            'lng'=> '868630560.79',
            'rad'=> '45.0912873',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location'
params = {
  'p': '19',
  'pp': '6',
  'sf': '16',
  'sv': '10',
  'me': 'consequatur',
  'ms': 'deserunt',
  'df': 'nemo',
  'ds': 'enim',
  'de': 'laboriosam',
  'lf': 'dolorum',
  'lat': '17685.343632',
  'lng': '868630560.79',
  'rad': '45.0912873',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor-location

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Vendor Location

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor-location/options

List Vendor Location with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/list/et/voluptatum/fugit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/list/et/voluptatum/fugit"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/list/et/voluptatum/fugit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/list/et/voluptatum/fugit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor-location/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  
menandakan filter menggunakan field yang mana. "vid" menggunakan field vendorId yang berisi _id vendor atau "vcode" menggunakan field vendorCode yang berisi vendorCode vendor

keyword1  string optional  
berisi value untuk filter, tergantun pada keyword0

keyword2  string optional  

Add Vendor Location

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/vendor-location

Create INITIAL Vendor Location object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/init"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/directory/vendor-location/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/change-status/saepe" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"et","changeBy":"quis","changeMode":"corporis","changeDate":"tempore","changeRemarks":"tenetur","changeStatusTo":"et","changeStatusObject":"aut","currentStatus":"non","entityType":"nulla","entityId":"praesentium"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/change-status/saepe"
);

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

let body = {
    "changeStatusField": "et",
    "changeBy": "quis",
    "changeMode": "corporis",
    "changeDate": "tempore",
    "changeRemarks": "tenetur",
    "changeStatusTo": "et",
    "changeStatusObject": "aut",
    "currentStatus": "non",
    "entityType": "nulla",
    "entityId": "praesentium"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/change-status/saepe',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'et',
            'changeBy' => 'quis',
            'changeMode' => 'corporis',
            'changeDate' => 'tempore',
            'changeRemarks' => 'tenetur',
            'changeStatusTo' => 'et',
            'changeStatusObject' => 'aut',
            'currentStatus' => 'non',
            'entityType' => 'nulla',
            'entityId' => 'praesentium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/change-status/saepe'
payload = {
    "changeStatusField": "et",
    "changeBy": "quis",
    "changeMode": "corporis",
    "changeDate": "tempore",
    "changeRemarks": "tenetur",
    "changeStatusTo": "et",
    "changeStatusObject": "aut",
    "currentStatus": "non",
    "entityType": "nulla",
    "entityId": "praesentium"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/vendor-location/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Vendor Location

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aut?by=nulla" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aut"
);

let params = {
    "by": "nulla",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nulla',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aut'
params = {
  'by': 'nulla',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/directory/vendor-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/eos?by=rem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/eos"
);

let params = {
    "by": "rem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/eos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/eos'
params = {
  'by': 'rem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/directory/vendor-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/schema?sf=ea" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/schema"
);

let params = {
    "sf": "ea",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/schema'
params = {
  'sf': 'ea',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor-location/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aliquam?by=veritatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aliquam"
);

let params = {
    "by": "veritatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aliquam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'veritatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/directory/vendor-location/aliquam'
params = {
  'by': 'veritatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/directory/vendor-location/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Voucher Bantuan

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/voucher?p=3&pp=14&sf=6&sv=7&me=voluptate&ms=nesciunt&df=a&ds=error&de=aliquid&lf=sint&lat=17.2621&lng=2729.1914288&rad=3628.055" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher"
);

let params = {
    "p": "3",
    "pp": "14",
    "sf": "6",
    "sv": "7",
    "me": "voluptate",
    "ms": "nesciunt",
    "df": "a",
    "ds": "error",
    "de": "aliquid",
    "lf": "sint",
    "lat": "17.2621",
    "lng": "2729.1914288",
    "rad": "3628.055",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '14',
            'sf'=> '6',
            'sv'=> '7',
            'me'=> 'voluptate',
            'ms'=> 'nesciunt',
            'df'=> 'a',
            'ds'=> 'error',
            'de'=> 'aliquid',
            'lf'=> 'sint',
            'lat'=> '17.2621',
            'lng'=> '2729.1914288',
            'rad'=> '3628.055',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher'
params = {
  'p': '3',
  'pp': '14',
  'sf': '6',
  'sv': '7',
  'me': 'voluptate',
  'ms': 'nesciunt',
  'df': 'a',
  'ds': 'error',
  'de': 'aliquid',
  'lf': 'sint',
  'lat': '17.2621',
  'lng': '2729.1914288',
  'rad': '3628.055',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/voucher

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/voucher/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/voucher/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/voucher/list/nemo/aut/sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/list/nemo/aut/sunt"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/list/nemo/aut/sunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/list/nemo/aut/sunt'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/voucher/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher?app=iusto" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher"
);

let params = {
    "app": "iusto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'iusto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher'
params = {
  'app': 'iusto',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/voucher

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/init?by=culpa" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/init"
);

let params = {
    "by": "culpa",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'culpa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/init'
params = {
  'by': 'culpa',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/voucher/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/change-status/similique" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"commodi","changeBy":"maiores","changeMode":"magnam","changeDate":"quidem","changeRemarks":"sint","changeStatusTo":"exercitationem","changeStatusObject":"quis","currentStatus":"rem","entityType":"ab","entityId":"repudiandae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/change-status/similique"
);

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

let body = {
    "changeStatusField": "commodi",
    "changeBy": "maiores",
    "changeMode": "magnam",
    "changeDate": "quidem",
    "changeRemarks": "sint",
    "changeStatusTo": "exercitationem",
    "changeStatusObject": "quis",
    "currentStatus": "rem",
    "entityType": "ab",
    "entityId": "repudiandae"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/change-status/similique',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'commodi',
            'changeBy' => 'maiores',
            'changeMode' => 'magnam',
            'changeDate' => 'quidem',
            'changeRemarks' => 'sint',
            'changeStatusTo' => 'exercitationem',
            'changeStatusObject' => 'quis',
            'currentStatus' => 'rem',
            'entityType' => 'ab',
            'entityId' => 'repudiandae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/change-status/similique'
payload = {
    "changeStatusField": "commodi",
    "changeBy": "maiores",
    "changeMode": "magnam",
    "changeDate": "quidem",
    "changeRemarks": "sint",
    "changeStatusTo": "exercitationem",
    "changeStatusObject": "quis",
    "currentStatus": "rem",
    "entityType": "ab",
    "entityId": "repudiandae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/voucher/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/nemo?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/nemo"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/nemo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/nemo'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/voucher/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/fugiat?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/fugiat"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/fugiat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/fugiat'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/voucher/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/voucher/schema?sf=veniam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/schema"
);

let params = {
    "sf": "veniam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'veniam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/schema'
params = {
  'sf': 'veniam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/voucher/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/voucher/est?by=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/voucher/est"
);

let params = {
    "by": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/voucher/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/voucher/est'
params = {
  'by': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/voucher/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Warranty - Customer Product

Relasi antara Customer & Product yang telah dibeli dan memiliki warranty aktif

List Customer Product

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/customer-product

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/customer-product/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/list/ea/dolor/autem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/list/ea/dolor/autem"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/list/ea/dolor/autem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/list/ea/dolor/autem'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/customer-product/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Customer Product

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"customerId":"voluptatum","customerName":"tempore","customerType":"aut","customerCompany":"eius","productCategory":"consequuntur","productId":"repellat","productName":"at","productBarcode":"sapiente","productPicture":"est","productTags":"reiciendis","description":"non","registerDate":"totam","registeredBy":"accusantium","initialUseDate":"qui","warrantyNumber":"nobis","warrantyPeriodYr":"rerum","warrantyStartDate":"vitae","warrantyEndDate":"eligendi","warrantyType":"ut","productBundle":"harum","installerId":"consequatur","installerName":"eum","installerCompany":"sunt","installationDate":"aspernatur","installationNote":"laudantium","tz":"in"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product"
);

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

let body = {
    "customerId": "voluptatum",
    "customerName": "tempore",
    "customerType": "aut",
    "customerCompany": "eius",
    "productCategory": "consequuntur",
    "productId": "repellat",
    "productName": "at",
    "productBarcode": "sapiente",
    "productPicture": "est",
    "productTags": "reiciendis",
    "description": "non",
    "registerDate": "totam",
    "registeredBy": "accusantium",
    "initialUseDate": "qui",
    "warrantyNumber": "nobis",
    "warrantyPeriodYr": "rerum",
    "warrantyStartDate": "vitae",
    "warrantyEndDate": "eligendi",
    "warrantyType": "ut",
    "productBundle": "harum",
    "installerId": "consequatur",
    "installerName": "eum",
    "installerCompany": "sunt",
    "installationDate": "aspernatur",
    "installationNote": "laudantium",
    "tz": "in"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'customerId' => 'voluptatum',
            'customerName' => 'tempore',
            'customerType' => 'aut',
            'customerCompany' => 'eius',
            'productCategory' => 'consequuntur',
            'productId' => 'repellat',
            'productName' => 'at',
            'productBarcode' => 'sapiente',
            'productPicture' => 'est',
            'productTags' => 'reiciendis',
            'description' => 'non',
            'registerDate' => 'totam',
            'registeredBy' => 'accusantium',
            'initialUseDate' => 'qui',
            'warrantyNumber' => 'nobis',
            'warrantyPeriodYr' => 'rerum',
            'warrantyStartDate' => 'vitae',
            'warrantyEndDate' => 'eligendi',
            'warrantyType' => 'ut',
            'productBundle' => 'harum',
            'installerId' => 'consequatur',
            'installerName' => 'eum',
            'installerCompany' => 'sunt',
            'installationDate' => 'aspernatur',
            'installationNote' => 'laudantium',
            'tz' => 'in',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product'
payload = {
    "customerId": "voluptatum",
    "customerName": "tempore",
    "customerType": "aut",
    "customerCompany": "eius",
    "productCategory": "consequuntur",
    "productId": "repellat",
    "productName": "at",
    "productBarcode": "sapiente",
    "productPicture": "est",
    "productTags": "reiciendis",
    "description": "non",
    "registerDate": "totam",
    "registeredBy": "accusantium",
    "initialUseDate": "qui",
    "warrantyNumber": "nobis",
    "warrantyPeriodYr": "rerum",
    "warrantyStartDate": "vitae",
    "warrantyEndDate": "eligendi",
    "warrantyType": "ut",
    "productBundle": "harum",
    "installerId": "consequatur",
    "installerName": "eum",
    "installerCompany": "sunt",
    "installationDate": "aspernatur",
    "installationNote": "laudantium",
    "tz": "in"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/customer-product

Body Parameters

customerId  string optional  
Customer ID

customerName  string optional  
Customer Name

customerType  string optional  
Customer Type ie: retail/project

customerCompany  string optional  
Customer Company Name

productCategory  string optional  
Product Category

productId  string optional  
Product

productName  string optional  
Product

productBarcode  string optional  
Product

productPicture  string optional  
Product Picture URL

productTags  string optional  
Product Product Tags

description  string optional  
Deskripsi

registerDate  string optional  
Registration Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By / Didaftarkan oleh

initialUseDate  string optional  
Initial Use Date / Tanggal Penggunaan Pertama kali

warrantyNumber  string optional  
Warranty No

warrantyPeriodYr  string optional  
Warranty Period ( year )

warrantyStartDate  string optional  
Warranty Start Date ( YYYY-MM-DD ), could be Registration Date or Initial Use Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

productBundle  string optional  
Product Bundle ID

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/init?by=ea" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/init"
);

let params = {
    "by": "ea",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/init'
params = {
  'by': 'ea',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/customer-product/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/change-status/sequi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"fugit","changeBy":"est","changeMode":"libero","changeDate":"aut","changeRemarks":"nemo","changeStatusTo":"aut","changeStatusObject":"ex","currentStatus":"qui","entityType":"minima","entityId":"atque"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/change-status/sequi"
);

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

let body = {
    "changeStatusField": "fugit",
    "changeBy": "est",
    "changeMode": "libero",
    "changeDate": "aut",
    "changeRemarks": "nemo",
    "changeStatusTo": "aut",
    "changeStatusObject": "ex",
    "currentStatus": "qui",
    "entityType": "minima",
    "entityId": "atque"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/change-status/sequi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'fugit',
            'changeBy' => 'est',
            'changeMode' => 'libero',
            'changeDate' => 'aut',
            'changeRemarks' => 'nemo',
            'changeStatusTo' => 'aut',
            'changeStatusObject' => 'ex',
            'currentStatus' => 'qui',
            'entityType' => 'minima',
            'entityId' => 'atque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/change-status/sequi'
payload = {
    "changeStatusField": "fugit",
    "changeBy": "est",
    "changeMode": "libero",
    "changeDate": "aut",
    "changeRemarks": "nemo",
    "changeStatusTo": "aut",
    "changeStatusObject": "ex",
    "currentStatus": "qui",
    "entityType": "minima",
    "entityId": "atque"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/customer-product/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer Product

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/alias?by=iure" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"customerId":"labore","customerName":"consectetur","customerType":"atque","customerCompany":"et","productCategory":"qui","productId":"nobis","productName":"aliquid","productBarcode":"accusamus","productPicture":"earum","productTags":"occaecati","description":"corrupti","registerDate":"ad","registeredBy":"omnis","initialUseDate":"voluptates","warrantyNumber":"aut","warrantyPeriodYr":"voluptatum","warrantyStartDate":"non","warrantyEndDate":"eaque","warrantyType":"ut","productBundle":"quidem","installerId":"laboriosam","installerName":"qui","installerCompany":"quia","installationDate":"deserunt","installationNote":"soluta","tz":"magnam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/alias"
);

let params = {
    "by": "iure",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "customerId": "labore",
    "customerName": "consectetur",
    "customerType": "atque",
    "customerCompany": "et",
    "productCategory": "qui",
    "productId": "nobis",
    "productName": "aliquid",
    "productBarcode": "accusamus",
    "productPicture": "earum",
    "productTags": "occaecati",
    "description": "corrupti",
    "registerDate": "ad",
    "registeredBy": "omnis",
    "initialUseDate": "voluptates",
    "warrantyNumber": "aut",
    "warrantyPeriodYr": "voluptatum",
    "warrantyStartDate": "non",
    "warrantyEndDate": "eaque",
    "warrantyType": "ut",
    "productBundle": "quidem",
    "installerId": "laboriosam",
    "installerName": "qui",
    "installerCompany": "quia",
    "installationDate": "deserunt",
    "installationNote": "soluta",
    "tz": "magnam"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/alias',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'iure',
        ],
        'json' => [
            'customerId' => 'labore',
            'customerName' => 'consectetur',
            'customerType' => 'atque',
            'customerCompany' => 'et',
            'productCategory' => 'qui',
            'productId' => 'nobis',
            'productName' => 'aliquid',
            'productBarcode' => 'accusamus',
            'productPicture' => 'earum',
            'productTags' => 'occaecati',
            'description' => 'corrupti',
            'registerDate' => 'ad',
            'registeredBy' => 'omnis',
            'initialUseDate' => 'voluptates',
            'warrantyNumber' => 'aut',
            'warrantyPeriodYr' => 'voluptatum',
            'warrantyStartDate' => 'non',
            'warrantyEndDate' => 'eaque',
            'warrantyType' => 'ut',
            'productBundle' => 'quidem',
            'installerId' => 'laboriosam',
            'installerName' => 'qui',
            'installerCompany' => 'quia',
            'installationDate' => 'deserunt',
            'installationNote' => 'soluta',
            'tz' => 'magnam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/alias'
payload = {
    "customerId": "labore",
    "customerName": "consectetur",
    "customerType": "atque",
    "customerCompany": "et",
    "productCategory": "qui",
    "productId": "nobis",
    "productName": "aliquid",
    "productBarcode": "accusamus",
    "productPicture": "earum",
    "productTags": "occaecati",
    "description": "corrupti",
    "registerDate": "ad",
    "registeredBy": "omnis",
    "initialUseDate": "voluptates",
    "warrantyNumber": "aut",
    "warrantyPeriodYr": "voluptatum",
    "warrantyStartDate": "non",
    "warrantyEndDate": "eaque",
    "warrantyType": "ut",
    "productBundle": "quidem",
    "installerId": "laboriosam",
    "installerName": "qui",
    "installerCompany": "quia",
    "installationDate": "deserunt",
    "installationNote": "soluta",
    "tz": "magnam"
}
params = {
  'by': 'iure',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/customer-product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Body Parameters

customerId  string optional  
Customer ID

customerName  string optional  
Customer Name

customerType  string optional  
Customer Type ie: retail/project

customerCompany  string optional  
Customer Company Name

productCategory  string optional  
Product Category

productId  string optional  
Product

productName  string optional  
Product

productBarcode  string optional  
Product

productPicture  string optional  
Product Picture URL

productTags  string optional  
Product Product Tags

description  string optional  
Deskripsi

registerDate  string optional  
Registration Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By / Didaftarkan oleh

initialUseDate  string optional  
Initial Use Date / Tanggal Penggunaan Pertama kali

warrantyNumber  string optional  
Warranty No

warrantyPeriodYr  string optional  
Warranty Period ( year )

warrantyStartDate  string optional  
Warranty Start Date ( YYYY-MM-DD ), could be Registration Date or Initial Use Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

productBundle  string optional  
Product Bundle ID

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aperiam?by=iste" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aperiam"
);

let params = {
    "by": "iste",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aperiam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'iste',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aperiam'
params = {
  'by': 'iste',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/warranty/customer-product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/schema?sf=sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/schema"
);

let params = {
    "sf": "sunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'sunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/schema'
params = {
  'sf': 'sunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/customer-product/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aspernatur?by=blanditiis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aspernatur"
);

let params = {
    "by": "blanditiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aspernatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'blanditiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/customer-product/aspernatur'
params = {
  'by': 'blanditiis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/customer-product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Warranty Master Product Item

Warranty Master product item

List Product Item

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail?p=11&pp=8&sf=12&sv=11&me=fuga&ms=ut&df=vero&ds=nulla&de=id&lf=tempora&lat=17287369.5&lng=8040.496&rad=8.201722684" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail"
);

let params = {
    "p": "11",
    "pp": "8",
    "sf": "12",
    "sv": "11",
    "me": "fuga",
    "ms": "ut",
    "df": "vero",
    "ds": "nulla",
    "de": "id",
    "lf": "tempora",
    "lat": "17287369.5",
    "lng": "8040.496",
    "rad": "8.201722684",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '11',
            'pp'=> '8',
            'sf'=> '12',
            'sv'=> '11',
            'me'=> 'fuga',
            'ms'=> 'ut',
            'df'=> 'vero',
            'ds'=> 'nulla',
            'de'=> 'id',
            'lf'=> 'tempora',
            'lat'=> '17287369.5',
            'lng'=> '8040.496',
            'rad'=> '8.201722684',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail'
params = {
  'p': '11',
  'pp': '8',
  'sf': '12',
  'sv': '11',
  'me': 'fuga',
  'ms': 'ut',
  'df': 'vero',
  'ds': 'nulla',
  'de': 'id',
  'lf': 'tempora',
  'lat': '17287369.5',
  'lng': '8040.496',
  'rad': '8.201722684',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master-detail

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master-detail/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/list/nam/rem/doloribus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/list/nam/rem/doloribus"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/list/nam/rem/doloribus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/list/nam/rem/doloribus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master-detail/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Product Item

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-master-detail

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/init?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/init"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/init'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-master-detail/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/change-status/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"iste","changeBy":"illum","changeMode":"fuga","changeDate":"quis","changeRemarks":"ratione","changeStatusTo":"aut","changeStatusObject":"nisi","currentStatus":"et","entityType":"qui","entityId":"et"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/change-status/et"
);

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

let body = {
    "changeStatusField": "iste",
    "changeBy": "illum",
    "changeMode": "fuga",
    "changeDate": "quis",
    "changeRemarks": "ratione",
    "changeStatusTo": "aut",
    "changeStatusObject": "nisi",
    "currentStatus": "et",
    "entityType": "qui",
    "entityId": "et"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/change-status/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'iste',
            'changeBy' => 'illum',
            'changeMode' => 'fuga',
            'changeDate' => 'quis',
            'changeRemarks' => 'ratione',
            'changeStatusTo' => 'aut',
            'changeStatusObject' => 'nisi',
            'currentStatus' => 'et',
            'entityType' => 'qui',
            'entityId' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/change-status/et'
payload = {
    "changeStatusField": "iste",
    "changeBy": "illum",
    "changeMode": "fuga",
    "changeDate": "quis",
    "changeRemarks": "ratione",
    "changeStatusTo": "aut",
    "changeStatusObject": "nisi",
    "currentStatus": "et",
    "entityType": "qui",
    "entityId": "et"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-master-detail/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Product Item

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/sit?by=ea" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/sit"
);

let params = {
    "by": "ea",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/sit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/sit'
params = {
  'by': 'ea',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-master-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/quidem?by=exercitationem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/quidem"
);

let params = {
    "by": "exercitationem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/quidem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'exercitationem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/quidem'
params = {
  'by': 'exercitationem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/warranty/warranty-master-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/schema?sf=voluptate" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/schema"
);

let params = {
    "sf": "voluptate",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'voluptate',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/schema'
params = {
  'sf': 'voluptate',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master-detail/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/iure?by=quae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/iure"
);

let params = {
    "by": "quae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/iure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master-detail/iure'
params = {
  'by': 'quae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Warranty Master

Warranty Master register for custom warranty contract

List Warranty Master

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master?p=7&pp=3&sf=17&sv=18&me=mollitia&ms=provident&df=voluptate&ds=animi&de=autem&lf=eius&lat=34037.307&lng=333.777283005&rad=764.46" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master"
);

let params = {
    "p": "7",
    "pp": "3",
    "sf": "17",
    "sv": "18",
    "me": "mollitia",
    "ms": "provident",
    "df": "voluptate",
    "ds": "animi",
    "de": "autem",
    "lf": "eius",
    "lat": "34037.307",
    "lng": "333.777283005",
    "rad": "764.46",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '7',
            'pp'=> '3',
            'sf'=> '17',
            'sv'=> '18',
            'me'=> 'mollitia',
            'ms'=> 'provident',
            'df'=> 'voluptate',
            'ds'=> 'animi',
            'de'=> 'autem',
            'lf'=> 'eius',
            'lat'=> '34037.307',
            'lng'=> '333.777283005',
            'rad'=> '764.46',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master'
params = {
  'p': '7',
  'pp': '3',
  'sf': '17',
  'sv': '18',
  'me': 'mollitia',
  'ms': 'provident',
  'df': 'voluptate',
  'ds': 'animi',
  'de': 'autem',
  'lf': 'eius',
  'lat': '34037.307',
  'lng': '333.777283005',
  'rad': '764.46',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/list/praesentium/et/quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/list/praesentium/et/quos"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/list/praesentium/et/quos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/list/praesentium/et/quos'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Warranty Master

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-master

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/init?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/init"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/init'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-master/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/change-status/dolores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"doloremque","changeBy":"distinctio","changeMode":"dolorum","changeDate":"quidem","changeRemarks":"molestiae","changeStatusTo":"voluptatum","changeStatusObject":"et","currentStatus":"ad","entityType":"perspiciatis","entityId":"voluptatum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/change-status/dolores"
);

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

let body = {
    "changeStatusField": "doloremque",
    "changeBy": "distinctio",
    "changeMode": "dolorum",
    "changeDate": "quidem",
    "changeRemarks": "molestiae",
    "changeStatusTo": "voluptatum",
    "changeStatusObject": "et",
    "currentStatus": "ad",
    "entityType": "perspiciatis",
    "entityId": "voluptatum"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/change-status/dolores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'doloremque',
            'changeBy' => 'distinctio',
            'changeMode' => 'dolorum',
            'changeDate' => 'quidem',
            'changeRemarks' => 'molestiae',
            'changeStatusTo' => 'voluptatum',
            'changeStatusObject' => 'et',
            'currentStatus' => 'ad',
            'entityType' => 'perspiciatis',
            'entityId' => 'voluptatum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/change-status/dolores'
payload = {
    "changeStatusField": "doloremque",
    "changeBy": "distinctio",
    "changeMode": "dolorum",
    "changeDate": "quidem",
    "changeRemarks": "molestiae",
    "changeStatusTo": "voluptatum",
    "changeStatusObject": "et",
    "currentStatus": "ad",
    "entityType": "perspiciatis",
    "entityId": "voluptatum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-master/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Warranty Master

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/ducimus?by=impedit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/ducimus"
);

let params = {
    "by": "impedit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/ducimus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'impedit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/ducimus'
params = {
  'by': 'impedit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-master/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/voluptate?by=vitae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/voluptate"
);

let params = {
    "by": "vitae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/voluptate',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vitae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/voluptate'
params = {
  'by': 'vitae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/warranty/warranty-master/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/schema?sf=consectetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/schema"
);

let params = {
    "sf": "consectetur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'consectetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/schema'
params = {
  'sf': 'consectetur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/quo?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/quo"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-master/quo'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-master/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Warranty - Register

Warranty Register for activated warranty by customer after delivery & installation

List Warranty Register

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-register

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-register/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/list/totam/natus/eaque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/list/totam/natus/eaque"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/list/totam/natus/eaque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/list/totam/natus/eaque'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-register/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Warranty Register

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"companyId":"maxime","companyName":"perspiciatis","customerId":"qui","customerName":"neque","customerPhone":"quo","customerAddress":"ut","customerLng":"non","customerLat":"numquam","customerLngLat":"nobis","customerLatLng":"at","customerType":"iusto","customerCompany":"minima","productBarcode":"aut","productName":"rerum","productId":"suscipit","description":"voluptatibus","registerDate":"et","registeredBy":"corrupti","initialUseDate":"ex","warrantyNumber":"illo","warrantyPeriodYr":"voluptates","warrantyStartDate":"iste","warrantyEndDate":"doloremque","warrantyType":"veniam","subProducts":["ipsum","dolorem"],"installerId":"voluptatum","installerName":"quisquam","installerCompany":"aperiam","installationDate":"temporibus","installationNote":"non","tz":"quisquam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register"
);

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

let body = {
    "companyId": "maxime",
    "companyName": "perspiciatis",
    "customerId": "qui",
    "customerName": "neque",
    "customerPhone": "quo",
    "customerAddress": "ut",
    "customerLng": "non",
    "customerLat": "numquam",
    "customerLngLat": "nobis",
    "customerLatLng": "at",
    "customerType": "iusto",
    "customerCompany": "minima",
    "productBarcode": "aut",
    "productName": "rerum",
    "productId": "suscipit",
    "description": "voluptatibus",
    "registerDate": "et",
    "registeredBy": "corrupti",
    "initialUseDate": "ex",
    "warrantyNumber": "illo",
    "warrantyPeriodYr": "voluptates",
    "warrantyStartDate": "iste",
    "warrantyEndDate": "doloremque",
    "warrantyType": "veniam",
    "subProducts": [
        "ipsum",
        "dolorem"
    ],
    "installerId": "voluptatum",
    "installerName": "quisquam",
    "installerCompany": "aperiam",
    "installationDate": "temporibus",
    "installationNote": "non",
    "tz": "quisquam"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'companyId' => 'maxime',
            'companyName' => 'perspiciatis',
            'customerId' => 'qui',
            'customerName' => 'neque',
            'customerPhone' => 'quo',
            'customerAddress' => 'ut',
            'customerLng' => 'non',
            'customerLat' => 'numquam',
            'customerLngLat' => 'nobis',
            'customerLatLng' => 'at',
            'customerType' => 'iusto',
            'customerCompany' => 'minima',
            'productBarcode' => 'aut',
            'productName' => 'rerum',
            'productId' => 'suscipit',
            'description' => 'voluptatibus',
            'registerDate' => 'et',
            'registeredBy' => 'corrupti',
            'initialUseDate' => 'ex',
            'warrantyNumber' => 'illo',
            'warrantyPeriodYr' => 'voluptates',
            'warrantyStartDate' => 'iste',
            'warrantyEndDate' => 'doloremque',
            'warrantyType' => 'veniam',
            'subProducts' => [
                'ipsum',
                'dolorem',
            ],
            'installerId' => 'voluptatum',
            'installerName' => 'quisquam',
            'installerCompany' => 'aperiam',
            'installationDate' => 'temporibus',
            'installationNote' => 'non',
            'tz' => 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register'
payload = {
    "companyId": "maxime",
    "companyName": "perspiciatis",
    "customerId": "qui",
    "customerName": "neque",
    "customerPhone": "quo",
    "customerAddress": "ut",
    "customerLng": "non",
    "customerLat": "numquam",
    "customerLngLat": "nobis",
    "customerLatLng": "at",
    "customerType": "iusto",
    "customerCompany": "minima",
    "productBarcode": "aut",
    "productName": "rerum",
    "productId": "suscipit",
    "description": "voluptatibus",
    "registerDate": "et",
    "registeredBy": "corrupti",
    "initialUseDate": "ex",
    "warrantyNumber": "illo",
    "warrantyPeriodYr": "voluptates",
    "warrantyStartDate": "iste",
    "warrantyEndDate": "doloremque",
    "warrantyType": "veniam",
    "subProducts": [
        "ipsum",
        "dolorem"
    ],
    "installerId": "voluptatum",
    "installerName": "quisquam",
    "installerCompany": "aperiam",
    "installationDate": "temporibus",
    "installationNote": "non",
    "tz": "quisquam"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-register

Body Parameters

companyId  string optional  
Company Id

companyName  string optional  
Company Name

customerId  string optional  
Customer Id

customerName  string optional  
Customer Name

customerPhone  string optional  
Customer Phone

customerAddress  string optional  
Customer Address

customerLng  string optional  
Customer Lng

customerLat  string optional  
Customer Lat

customerLngLat  string optional  
Customer LngLat

customerLatLng  string optional  
Customer LatLng

customerType  string optional  
Customer Type

customerCompany  string optional  
Customer Company

productBarcode  string optional  
Product Barcode

productName  string optional  
Product Name

productId  string optional  
Product Id

description  string optional  
Description

registerDate  string optional  
Register Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By

initialUseDate  string optional  
InitialUse Date

warrantyNumber  string optional  
Warranty Number

warrantyPeriodYr  string optional  
Warranty Period Yr

warrantyStartDate  string optional  
Warranty Start Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

subProducts  string[] optional  
Sub Products

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/init?by=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/init"
);

let params = {
    "by": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/init'
params = {
  'by': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-register/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/change-status/delectus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"qui","changeBy":"nihil","changeMode":"saepe","changeDate":"non","changeRemarks":"qui","changeStatusTo":"officiis","changeStatusObject":"eius","currentStatus":"optio","entityType":"sapiente","entityId":"quo"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/change-status/delectus"
);

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

let body = {
    "changeStatusField": "qui",
    "changeBy": "nihil",
    "changeMode": "saepe",
    "changeDate": "non",
    "changeRemarks": "qui",
    "changeStatusTo": "officiis",
    "changeStatusObject": "eius",
    "currentStatus": "optio",
    "entityType": "sapiente",
    "entityId": "quo"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/change-status/delectus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'qui',
            'changeBy' => 'nihil',
            'changeMode' => 'saepe',
            'changeDate' => 'non',
            'changeRemarks' => 'qui',
            'changeStatusTo' => 'officiis',
            'changeStatusObject' => 'eius',
            'currentStatus' => 'optio',
            'entityType' => 'sapiente',
            'entityId' => 'quo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/change-status/delectus'
payload = {
    "changeStatusField": "qui",
    "changeBy": "nihil",
    "changeMode": "saepe",
    "changeDate": "non",
    "changeRemarks": "qui",
    "changeStatusTo": "officiis",
    "changeStatusObject": "eius",
    "currentStatus": "optio",
    "entityType": "sapiente",
    "entityId": "quo"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-register/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Warranty Register

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/et?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"companyId":"sequi","companyName":"suscipit","customerId":"ullam","customerName":"enim","customerPhone":"repellat","customerAddress":"eaque","customerLng":"beatae","customerLat":"omnis","customerLngLat":"quidem","customerLatLng":"incidunt","customerType":"pariatur","customerCompany":"error","productBarcode":"quo","productName":"nihil","productId":"velit","description":"impedit","registerDate":"vitae","registeredBy":"maiores","initialUseDate":"reprehenderit","warrantyNumber":"quia","warrantyPeriodYr":"repellat","warrantyStartDate":"velit","warrantyEndDate":"et","warrantyType":"inventore","subProducts":["saepe","omnis"],"installerId":"ut","installerName":"accusantium","installerCompany":"quibusdam","installationDate":"totam","installationNote":"et","tz":"ea"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/et"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "companyId": "sequi",
    "companyName": "suscipit",
    "customerId": "ullam",
    "customerName": "enim",
    "customerPhone": "repellat",
    "customerAddress": "eaque",
    "customerLng": "beatae",
    "customerLat": "omnis",
    "customerLngLat": "quidem",
    "customerLatLng": "incidunt",
    "customerType": "pariatur",
    "customerCompany": "error",
    "productBarcode": "quo",
    "productName": "nihil",
    "productId": "velit",
    "description": "impedit",
    "registerDate": "vitae",
    "registeredBy": "maiores",
    "initialUseDate": "reprehenderit",
    "warrantyNumber": "quia",
    "warrantyPeriodYr": "repellat",
    "warrantyStartDate": "velit",
    "warrantyEndDate": "et",
    "warrantyType": "inventore",
    "subProducts": [
        "saepe",
        "omnis"
    ],
    "installerId": "ut",
    "installerName": "accusantium",
    "installerCompany": "quibusdam",
    "installationDate": "totam",
    "installationNote": "et",
    "tz": "ea"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
        'json' => [
            'companyId' => 'sequi',
            'companyName' => 'suscipit',
            'customerId' => 'ullam',
            'customerName' => 'enim',
            'customerPhone' => 'repellat',
            'customerAddress' => 'eaque',
            'customerLng' => 'beatae',
            'customerLat' => 'omnis',
            'customerLngLat' => 'quidem',
            'customerLatLng' => 'incidunt',
            'customerType' => 'pariatur',
            'customerCompany' => 'error',
            'productBarcode' => 'quo',
            'productName' => 'nihil',
            'productId' => 'velit',
            'description' => 'impedit',
            'registerDate' => 'vitae',
            'registeredBy' => 'maiores',
            'initialUseDate' => 'reprehenderit',
            'warrantyNumber' => 'quia',
            'warrantyPeriodYr' => 'repellat',
            'warrantyStartDate' => 'velit',
            'warrantyEndDate' => 'et',
            'warrantyType' => 'inventore',
            'subProducts' => [
                'saepe',
                'omnis',
            ],
            'installerId' => 'ut',
            'installerName' => 'accusantium',
            'installerCompany' => 'quibusdam',
            'installationDate' => 'totam',
            'installationNote' => 'et',
            'tz' => 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/et'
payload = {
    "companyId": "sequi",
    "companyName": "suscipit",
    "customerId": "ullam",
    "customerName": "enim",
    "customerPhone": "repellat",
    "customerAddress": "eaque",
    "customerLng": "beatae",
    "customerLat": "omnis",
    "customerLngLat": "quidem",
    "customerLatLng": "incidunt",
    "customerType": "pariatur",
    "customerCompany": "error",
    "productBarcode": "quo",
    "productName": "nihil",
    "productId": "velit",
    "description": "impedit",
    "registerDate": "vitae",
    "registeredBy": "maiores",
    "initialUseDate": "reprehenderit",
    "warrantyNumber": "quia",
    "warrantyPeriodYr": "repellat",
    "warrantyStartDate": "velit",
    "warrantyEndDate": "et",
    "warrantyType": "inventore",
    "subProducts": [
        "saepe",
        "omnis"
    ],
    "installerId": "ut",
    "installerName": "accusantium",
    "installerCompany": "quibusdam",
    "installationDate": "totam",
    "installationNote": "et",
    "tz": "ea"
}
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Body Parameters

companyId  string optional  
Company Id

companyName  string optional  
Company Name

customerId  string optional  
Customer Id

customerName  string optional  
Customer Name

customerPhone  string optional  
Customer Phone

customerAddress  string optional  
Customer Address

customerLng  string optional  
Customer Lng

customerLat  string optional  
Customer Lat

customerLngLat  string optional  
Customer LngLat

customerLatLng  string optional  
Customer LatLng

customerType  string optional  
Customer Type

customerCompany  string optional  
Customer Company

productBarcode  string optional  
Product Barcode

productName  string optional  
Product Name

productId  string optional  
Product Id

description  string optional  
Description

registerDate  string optional  
Register Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By

initialUseDate  string optional  
InitialUse Date

warrantyNumber  string optional  
Warranty Number

warrantyPeriodYr  string optional  
Warranty Period Yr

warrantyStartDate  string optional  
Warranty Start Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

subProducts  string[] optional  
Sub Products

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/sapiente?by=sapiente" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/sapiente"
);

let params = {
    "by": "sapiente",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/sapiente',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sapiente',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/sapiente'
params = {
  'by': 'sapiente',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/warranty/warranty-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/schema?sf=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/schema"
);

let params = {
    "sf": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/schema'
params = {
  'sf': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-register/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/dolorem?by=eaque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/dolorem"
);

let params = {
    "by": "eaque",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/dolorem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-register/dolorem'
params = {
  'by': 'eaque',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Warranty - Transaction

Warranty Transaction Log

Warranty transactions listing

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-transaction

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-transaction/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/list/quasi/ipsa/quaerat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/list/quasi/ipsa/quaerat"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/list/quasi/ipsa/quaerat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/list/quasi/ipsa/quaerat'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-transaction/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Warranty Transaction

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"customerId":"laboriosam","customerName":"beatae","customerType":"non","customerCompany":"voluptatem","productCategory":"autem","productId":"dicta","productName":"optio","productBarcode":"ut","productPicture":"ut","productTags":"modi","description":"facilis","registerDate":"eos","registeredBy":"inventore","initialUseDate":"et","warrantyNumber":"voluptate","warrantyPeriodYr":"alias","warrantyStartDate":"consequatur","warrantyEndDate":"maxime","warrantyType":"culpa","productBundle":"voluptas","installerId":"id","installerName":"optio","installerCompany":"necessitatibus","installationDate":"et","installationNote":"rerum","tz":"rerum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction"
);

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

let body = {
    "customerId": "laboriosam",
    "customerName": "beatae",
    "customerType": "non",
    "customerCompany": "voluptatem",
    "productCategory": "autem",
    "productId": "dicta",
    "productName": "optio",
    "productBarcode": "ut",
    "productPicture": "ut",
    "productTags": "modi",
    "description": "facilis",
    "registerDate": "eos",
    "registeredBy": "inventore",
    "initialUseDate": "et",
    "warrantyNumber": "voluptate",
    "warrantyPeriodYr": "alias",
    "warrantyStartDate": "consequatur",
    "warrantyEndDate": "maxime",
    "warrantyType": "culpa",
    "productBundle": "voluptas",
    "installerId": "id",
    "installerName": "optio",
    "installerCompany": "necessitatibus",
    "installationDate": "et",
    "installationNote": "rerum",
    "tz": "rerum"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'customerId' => 'laboriosam',
            'customerName' => 'beatae',
            'customerType' => 'non',
            'customerCompany' => 'voluptatem',
            'productCategory' => 'autem',
            'productId' => 'dicta',
            'productName' => 'optio',
            'productBarcode' => 'ut',
            'productPicture' => 'ut',
            'productTags' => 'modi',
            'description' => 'facilis',
            'registerDate' => 'eos',
            'registeredBy' => 'inventore',
            'initialUseDate' => 'et',
            'warrantyNumber' => 'voluptate',
            'warrantyPeriodYr' => 'alias',
            'warrantyStartDate' => 'consequatur',
            'warrantyEndDate' => 'maxime',
            'warrantyType' => 'culpa',
            'productBundle' => 'voluptas',
            'installerId' => 'id',
            'installerName' => 'optio',
            'installerCompany' => 'necessitatibus',
            'installationDate' => 'et',
            'installationNote' => 'rerum',
            'tz' => 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction'
payload = {
    "customerId": "laboriosam",
    "customerName": "beatae",
    "customerType": "non",
    "customerCompany": "voluptatem",
    "productCategory": "autem",
    "productId": "dicta",
    "productName": "optio",
    "productBarcode": "ut",
    "productPicture": "ut",
    "productTags": "modi",
    "description": "facilis",
    "registerDate": "eos",
    "registeredBy": "inventore",
    "initialUseDate": "et",
    "warrantyNumber": "voluptate",
    "warrantyPeriodYr": "alias",
    "warrantyStartDate": "consequatur",
    "warrantyEndDate": "maxime",
    "warrantyType": "culpa",
    "productBundle": "voluptas",
    "installerId": "id",
    "installerName": "optio",
    "installerCompany": "necessitatibus",
    "installationDate": "et",
    "installationNote": "rerum",
    "tz": "rerum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-transaction

Body Parameters

customerId  string optional  
Customer ID

customerName  string optional  
Customer Name

customerType  string optional  
Customer Type ie: retail/project

customerCompany  string optional  
Customer Company Name

productCategory  string optional  
Product Category

productId  string optional  
Product

productName  string optional  
Product

productBarcode  string optional  
Product

productPicture  string optional  
Product Picture URL

productTags  string optional  
Product Product Tags

description  string optional  
Deskripsi

registerDate  string optional  
Registration Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By / Didaftarkan oleh

initialUseDate  string optional  
Initial Use Date / Tanggal Penggunaan Pertama kali

warrantyNumber  string optional  
Warranty No

warrantyPeriodYr  string optional  
Warranty Period ( year )

warrantyStartDate  string optional  
Warranty Start Date ( YYYY-MM-DD ), could be Registration Date or Initial Use Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

productBundle  string optional  
Product Bundle ID

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/init?by=quidem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/init"
);

let params = {
    "by": "quidem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quidem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/init'
params = {
  'by': 'quidem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/warranty/warranty-transaction/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/change-status/voluptatibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"ad","changeBy":"consequatur","changeMode":"at","changeDate":"iste","changeRemarks":"quod","changeStatusTo":"maiores","changeStatusObject":"et","currentStatus":"laborum","entityType":"qui","entityId":"cumque"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/change-status/voluptatibus"
);

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

let body = {
    "changeStatusField": "ad",
    "changeBy": "consequatur",
    "changeMode": "at",
    "changeDate": "iste",
    "changeRemarks": "quod",
    "changeStatusTo": "maiores",
    "changeStatusObject": "et",
    "currentStatus": "laborum",
    "entityType": "qui",
    "entityId": "cumque"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/change-status/voluptatibus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'ad',
            'changeBy' => 'consequatur',
            'changeMode' => 'at',
            'changeDate' => 'iste',
            'changeRemarks' => 'quod',
            'changeStatusTo' => 'maiores',
            'changeStatusObject' => 'et',
            'currentStatus' => 'laborum',
            'entityType' => 'qui',
            'entityId' => 'cumque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/change-status/voluptatibus'
payload = {
    "changeStatusField": "ad",
    "changeBy": "consequatur",
    "changeMode": "at",
    "changeDate": "iste",
    "changeRemarks": "quod",
    "changeStatusTo": "maiores",
    "changeStatusObject": "et",
    "currentStatus": "laborum",
    "entityType": "qui",
    "entityId": "cumque"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-transaction/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Warranty Transaction

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/aut?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"customerId":"et","customerName":"sit","customerType":"sunt","customerCompany":"sit","productCategory":"quibusdam","productId":"ut","productName":"quia","productBarcode":"voluptates","productPicture":"esse","productTags":"aut","description":"odit","registerDate":"corrupti","registeredBy":"qui","initialUseDate":"ex","warrantyNumber":"laborum","warrantyPeriodYr":"qui","warrantyStartDate":"voluptatem","warrantyEndDate":"quo","warrantyType":"vero","productBundle":"et","installerId":"ipsam","installerName":"recusandae","installerCompany":"alias","installationDate":"consequatur","installationNote":"nihil","tz":"voluptatibus"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/aut"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "customerId": "et",
    "customerName": "sit",
    "customerType": "sunt",
    "customerCompany": "sit",
    "productCategory": "quibusdam",
    "productId": "ut",
    "productName": "quia",
    "productBarcode": "voluptates",
    "productPicture": "esse",
    "productTags": "aut",
    "description": "odit",
    "registerDate": "corrupti",
    "registeredBy": "qui",
    "initialUseDate": "ex",
    "warrantyNumber": "laborum",
    "warrantyPeriodYr": "qui",
    "warrantyStartDate": "voluptatem",
    "warrantyEndDate": "quo",
    "warrantyType": "vero",
    "productBundle": "et",
    "installerId": "ipsam",
    "installerName": "recusandae",
    "installerCompany": "alias",
    "installationDate": "consequatur",
    "installationNote": "nihil",
    "tz": "voluptatibus"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
        'json' => [
            'customerId' => 'et',
            'customerName' => 'sit',
            'customerType' => 'sunt',
            'customerCompany' => 'sit',
            'productCategory' => 'quibusdam',
            'productId' => 'ut',
            'productName' => 'quia',
            'productBarcode' => 'voluptates',
            'productPicture' => 'esse',
            'productTags' => 'aut',
            'description' => 'odit',
            'registerDate' => 'corrupti',
            'registeredBy' => 'qui',
            'initialUseDate' => 'ex',
            'warrantyNumber' => 'laborum',
            'warrantyPeriodYr' => 'qui',
            'warrantyStartDate' => 'voluptatem',
            'warrantyEndDate' => 'quo',
            'warrantyType' => 'vero',
            'productBundle' => 'et',
            'installerId' => 'ipsam',
            'installerName' => 'recusandae',
            'installerCompany' => 'alias',
            'installationDate' => 'consequatur',
            'installationNote' => 'nihil',
            'tz' => 'voluptatibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/aut'
payload = {
    "customerId": "et",
    "customerName": "sit",
    "customerType": "sunt",
    "customerCompany": "sit",
    "productCategory": "quibusdam",
    "productId": "ut",
    "productName": "quia",
    "productBarcode": "voluptates",
    "productPicture": "esse",
    "productTags": "aut",
    "description": "odit",
    "registerDate": "corrupti",
    "registeredBy": "qui",
    "initialUseDate": "ex",
    "warrantyNumber": "laborum",
    "warrantyPeriodYr": "qui",
    "warrantyStartDate": "voluptatem",
    "warrantyEndDate": "quo",
    "warrantyType": "vero",
    "productBundle": "et",
    "installerId": "ipsam",
    "installerName": "recusandae",
    "installerCompany": "alias",
    "installationDate": "consequatur",
    "installationNote": "nihil",
    "tz": "voluptatibus"
}
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/warranty/warranty-transaction/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Body Parameters

customerId  string optional  
Customer ID

customerName  string optional  
Customer Name

customerType  string optional  
Customer Type ie: retail/project

customerCompany  string optional  
Customer Company Name

productCategory  string optional  
Product Category

productId  string optional  
Product

productName  string optional  
Product

productBarcode  string optional  
Product

productPicture  string optional  
Product Picture URL

productTags  string optional  
Product Product Tags

description  string optional  
Deskripsi

registerDate  string optional  
Registration Date ( YYYY-MM-DD )

registeredBy  string optional  
Registered By / Didaftarkan oleh

initialUseDate  string optional  
Initial Use Date / Tanggal Penggunaan Pertama kali

warrantyNumber  string optional  
Warranty No

warrantyPeriodYr  string optional  
Warranty Period ( year )

warrantyStartDate  string optional  
Warranty Start Date ( YYYY-MM-DD ), could be Registration Date or Initial Use Date

warrantyEndDate  string optional  
Warranty End Date ( YYYY-MM-DD )

warrantyType  string optional  
Warranty Type

productBundle  string optional  
Product Bundle ID

installerId  string optional  
Installer User ID

installerName  string optional  
Installer Name

installerCompany  string optional  
Installer Company

installationDate  string optional  
Installation Date ( YYYY-MM-DD )

installationNote  string optional  
Installation Note

tz  string optional  
Timezone Info, default Asia/Jakarta

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/asperiores?by=voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/asperiores"
);

let params = {
    "by": "voluptates",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/asperiores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptates',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/asperiores'
params = {
  'by': 'voluptates',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/warranty/warranty-transaction/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/schema?sf=velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/schema"
);

let params = {
    "sf": "velit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/schema'
params = {
  'sf': 'velit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-transaction/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/ut?by=voluptatum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/ut"
);

let params = {
    "by": "voluptatum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/warranty/warranty-transaction/ut'
params = {
  'by': 'voluptatum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/warranty/warranty-transaction/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Work Procedure Head

Library of Work Procedure Head by Product, Product Category & Custom Scope

List Work Procedure Head

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head?p=13&pp=7&sf=5&sv=14&me=eum&ms=molestiae&df=exercitationem&ds=nam&de=officiis&lf=et&lat=5099.8&lng=1.2&rad=5.964886" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head"
);

let params = {
    "p": "13",
    "pp": "7",
    "sf": "5",
    "sv": "14",
    "me": "eum",
    "ms": "molestiae",
    "df": "exercitationem",
    "ds": "nam",
    "de": "officiis",
    "lf": "et",
    "lat": "5099.8",
    "lng": "1.2",
    "rad": "5.964886",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '13',
            'pp'=> '7',
            'sf'=> '5',
            'sv'=> '14',
            'me'=> 'eum',
            'ms'=> 'molestiae',
            'df'=> 'exercitationem',
            'ds'=> 'nam',
            'de'=> 'officiis',
            'lf'=> 'et',
            'lat'=> '5099.8',
            'lng'=> '1.2',
            'rad'=> '5.964886',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head'
params = {
  'p': '13',
  'pp': '7',
  'sf': '5',
  'sv': '14',
  'me': 'eum',
  'ms': 'molestiae',
  'df': 'exercitationem',
  'ds': 'nam',
  'de': 'officiis',
  'lf': 'et',
  'lat': '5099.8',
  'lng': '1.2',
  'rad': '5.964886',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-head

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-head/options

List Select Option with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/list/minus/occaecati/non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/list/minus/occaecati/non"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/list/minus/occaecati/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/list/minus/occaecati/non'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-head/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
Group

keyword1  string optional  
subGroup

keyword2  string optional  
serviceOrderId nullable, digunakan untuk mendapatkan berapa kali workprocedure telah dilakukan untuk service order tersebut

Add Work Procedure Head

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/work-procedure-head

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/init?by=totam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/init"
);

let params = {
    "by": "totam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/init'
params = {
  'by': 'totam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/work-procedure-head/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/change-status/earum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aspernatur","changeBy":"dolores","changeMode":"ipsa","changeDate":"quis","changeRemarks":"deleniti","changeStatusTo":"ut","changeStatusObject":"ut","currentStatus":"dolores","entityType":"voluptatem","entityId":"et"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/change-status/earum"
);

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

let body = {
    "changeStatusField": "aspernatur",
    "changeBy": "dolores",
    "changeMode": "ipsa",
    "changeDate": "quis",
    "changeRemarks": "deleniti",
    "changeStatusTo": "ut",
    "changeStatusObject": "ut",
    "currentStatus": "dolores",
    "entityType": "voluptatem",
    "entityId": "et"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/change-status/earum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aspernatur',
            'changeBy' => 'dolores',
            'changeMode' => 'ipsa',
            'changeDate' => 'quis',
            'changeRemarks' => 'deleniti',
            'changeStatusTo' => 'ut',
            'changeStatusObject' => 'ut',
            'currentStatus' => 'dolores',
            'entityType' => 'voluptatem',
            'entityId' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/change-status/earum'
payload = {
    "changeStatusField": "aspernatur",
    "changeBy": "dolores",
    "changeMode": "ipsa",
    "changeDate": "quis",
    "changeRemarks": "deleniti",
    "changeStatusTo": "ut",
    "changeStatusObject": "ut",
    "currentStatus": "dolores",
    "entityType": "voluptatem",
    "entityId": "et"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/work-procedure-head/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Work Procedure Head

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/fuga?by=voluptatibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/fuga"
);

let params = {
    "by": "voluptatibus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/fuga',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/fuga'
params = {
  'by': 'voluptatibus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/work-procedure-head/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/porro?by=occaecati" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/porro"
);

let params = {
    "by": "occaecati",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/porro',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'occaecati',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/porro'
params = {
  'by': 'occaecati',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/maintenance/work-procedure-head/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/schema?sf=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/schema"
);

let params = {
    "sf": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/schema'
params = {
  'sf': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-head/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/et?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/et"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-head/et'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-head/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Work Procedure Result Log

Result of executed work procedure set

List Procedure Result

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result?p=13&pp=18&sf=16&sv=13&me=perferendis&ms=libero&df=nostrum&ds=veritatis&de=quis&lf=odit&lat=0&lng=34.524&rad=17" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result"
);

let params = {
    "p": "13",
    "pp": "18",
    "sf": "16",
    "sv": "13",
    "me": "perferendis",
    "ms": "libero",
    "df": "nostrum",
    "ds": "veritatis",
    "de": "quis",
    "lf": "odit",
    "lat": "0",
    "lng": "34.524",
    "rad": "17",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '13',
            'pp'=> '18',
            'sf'=> '16',
            'sv'=> '13',
            'me'=> 'perferendis',
            'ms'=> 'libero',
            'df'=> 'nostrum',
            'ds'=> 'veritatis',
            'de'=> 'quis',
            'lf'=> 'odit',
            'lat'=> '0',
            'lng'=> '34.524',
            'rad'=> '17',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result'
params = {
  'p': '13',
  'pp': '18',
  'sf': '16',
  'sv': '13',
  'me': 'perferendis',
  'ms': 'libero',
  'df': 'nostrum',
  'ds': 'veritatis',
  'de': 'quis',
  'lf': 'odit',
  'lat': '0',
  'lng': '34.524',
  'rad': '17',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-result

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-result/options

List Customer Billing Detail with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/list/ut/dolor/exercitationem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/list/ut/dolor/exercitationem"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/list/ut/dolor/exercitationem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/list/ut/dolor/exercitationem'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-result/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  
Diisi serviceOrderId

keyword1  string optional  
bersifat optional ( boleh ada boleh tidak ) , diisi dengan procedureGroupSlug $keyword2 nullable;

keyword2  string optional  

Add Procedure Result

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/work-procedure-result

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/init?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/init"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/init'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/work-procedure-result/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/change-status/recusandae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"dolor","changeBy":"molestiae","changeMode":"provident","changeDate":"in","changeRemarks":"natus","changeStatusTo":"mollitia","changeStatusObject":"dicta","currentStatus":"minus","entityType":"eius","entityId":"quisquam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/change-status/recusandae"
);

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

let body = {
    "changeStatusField": "dolor",
    "changeBy": "molestiae",
    "changeMode": "provident",
    "changeDate": "in",
    "changeRemarks": "natus",
    "changeStatusTo": "mollitia",
    "changeStatusObject": "dicta",
    "currentStatus": "minus",
    "entityType": "eius",
    "entityId": "quisquam"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/change-status/recusandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'dolor',
            'changeBy' => 'molestiae',
            'changeMode' => 'provident',
            'changeDate' => 'in',
            'changeRemarks' => 'natus',
            'changeStatusTo' => 'mollitia',
            'changeStatusObject' => 'dicta',
            'currentStatus' => 'minus',
            'entityType' => 'eius',
            'entityId' => 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/change-status/recusandae'
payload = {
    "changeStatusField": "dolor",
    "changeBy": "molestiae",
    "changeMode": "provident",
    "changeDate": "in",
    "changeRemarks": "natus",
    "changeStatusTo": "mollitia",
    "changeStatusObject": "dicta",
    "currentStatus": "minus",
    "entityType": "eius",
    "entityId": "quisquam"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/work-procedure-result/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Procedure Result

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/molestiae?by=deserunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/molestiae"
);

let params = {
    "by": "deserunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/molestiae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'deserunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/molestiae'
params = {
  'by': 'deserunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/work-procedure-result/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/modi?by=nobis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/modi"
);

let params = {
    "by": "nobis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/modi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nobis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/modi'
params = {
  'by': 'nobis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/maintenance/work-procedure-result/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/schema?sf=totam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/schema"
);

let params = {
    "sf": "totam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/schema'
params = {
  'sf': 'totam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-result/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/aut?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/aut"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure-result/aut'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure-result/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

0. PPJ - Work Procedure

Library of Work Procedure by Product, Product Category & Custom Scope

List Work Procedure

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure?p=15&pp=8&sf=6&sv=19&me=reiciendis&ms=enim&df=officia&ds=labore&de=iste&lf=dolores&lat=44186.2349436&lng=713.785121894&rad=520850.5" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure"
);

let params = {
    "p": "15",
    "pp": "8",
    "sf": "6",
    "sv": "19",
    "me": "reiciendis",
    "ms": "enim",
    "df": "officia",
    "ds": "labore",
    "de": "iste",
    "lf": "dolores",
    "lat": "44186.2349436",
    "lng": "713.785121894",
    "rad": "520850.5",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '15',
            'pp'=> '8',
            'sf'=> '6',
            'sv'=> '19',
            'me'=> 'reiciendis',
            'ms'=> 'enim',
            'df'=> 'officia',
            'ds'=> 'labore',
            'de'=> 'iste',
            'lf'=> 'dolores',
            'lat'=> '44186.2349436',
            'lng'=> '713.785121894',
            'rad'=> '520850.5',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure'
params = {
  'p': '15',
  'pp': '8',
  'sf': '6',
  'sv': '19',
  'me': 'reiciendis',
  'ms': 'enim',
  'df': 'officia',
  'ds': 'labore',
  'de': 'iste',
  'lf': 'dolores',
  'lat': '44186.2349436',
  'lng': '713.785121894',
  'rad': '520850.5',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure/options

List Select Option with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/list/suscipit/dolor/placeat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/list/suscipit/dolor/placeat"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/list/suscipit/dolor/placeat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/list/suscipit/dolor/placeat'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
Group

keyword1  string optional  
subGroup

keyword2  string optional  
serviceOrderId nullable, digunakan untuk mendapatkan berapa kali workprocedure telah dilakukan untuk service order tersebut

Add Work Procedure

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/work-procedure

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/init?by=ducimus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/init"
);

let params = {
    "by": "ducimus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/init'
params = {
  'by': 'ducimus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/maintenance/work-procedure/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/change-status/quibusdam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"similique","changeBy":"dicta","changeMode":"aut","changeDate":"consequatur","changeRemarks":"deleniti","changeStatusTo":"qui","changeStatusObject":"non","currentStatus":"omnis","entityType":"est","entityId":"temporibus"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/change-status/quibusdam"
);

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

let body = {
    "changeStatusField": "similique",
    "changeBy": "dicta",
    "changeMode": "aut",
    "changeDate": "consequatur",
    "changeRemarks": "deleniti",
    "changeStatusTo": "qui",
    "changeStatusObject": "non",
    "currentStatus": "omnis",
    "entityType": "est",
    "entityId": "temporibus"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/change-status/quibusdam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'similique',
            'changeBy' => 'dicta',
            'changeMode' => 'aut',
            'changeDate' => 'consequatur',
            'changeRemarks' => 'deleniti',
            'changeStatusTo' => 'qui',
            'changeStatusObject' => 'non',
            'currentStatus' => 'omnis',
            'entityType' => 'est',
            'entityId' => 'temporibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/change-status/quibusdam'
payload = {
    "changeStatusField": "similique",
    "changeBy": "dicta",
    "changeMode": "aut",
    "changeDate": "consequatur",
    "changeRemarks": "deleniti",
    "changeStatusTo": "qui",
    "changeStatusObject": "non",
    "currentStatus": "omnis",
    "entityType": "est",
    "entityId": "temporibus"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/work-procedure/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Work Procedure

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/natus?by=consequuntur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/natus"
);

let params = {
    "by": "consequuntur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/natus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequuntur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/natus'
params = {
  'by': 'consequuntur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/maintenance/work-procedure/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nihil?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nihil"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nihil',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nihil'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/maintenance/work-procedure/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/schema?sf=facilis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/schema"
);

let params = {
    "sf": "facilis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'facilis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/schema'
params = {
  'sf': 'facilis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nemo?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nemo"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nemo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/maintenance/work-procedure/nemo'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/maintenance/work-procedure/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

1. Core - Authentication & User Management

Request untuk generate OTP & kirim ke User

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/otp" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ns":"tempora","via":"dicta","field":"culpa","recipient":"sit"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/otp"
);

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

let body = {
    "ns": "tempora",
    "via": "dicta",
    "field": "culpa",
    "recipient": "sit"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/otp',
    [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'json' => [
            'ns' => 'tempora',
            'via' => 'dicta',
            'field' => 'culpa',
            'recipient' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/otp'
payload = {
    "ns": "tempora",
    "via": "dicta",
    "field": "culpa",
    "recipient": "sit"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/otp

Body Parameters

ns  string optional  
Namespace untuk request, static : "verification" / "registration" / "reset"

via  string optional  
Transport pengiriman OTP ie : "email" / "wa" / "sms"

field  string optional  
Field yg akan diverifikasi ie : "email" / "mobile"

recipient  string optional  
Value yang diverifikasi ie : "[email protected]" / "628112345678"

Verifikasi OTP

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/otp/verify" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ns":"placeat","via":"est","field":"qui","recipient":"assumenda","code":"voluptas"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/otp/verify"
);

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

let body = {
    "ns": "placeat",
    "via": "est",
    "field": "qui",
    "recipient": "assumenda",
    "code": "voluptas"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/otp/verify',
    [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'json' => [
            'ns' => 'placeat',
            'via' => 'est',
            'field' => 'qui',
            'recipient' => 'assumenda',
            'code' => 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/otp/verify'
payload = {
    "ns": "placeat",
    "via": "est",
    "field": "qui",
    "recipient": "assumenda",
    "code": "voluptas"
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/otp/verify

Body Parameters

ns  string optional  
Namespace untuk request, static : "verification" / "registration" / "reset"

via  string optional  
Transport pengiriman OTP ie : "email" / "wa" / "sms"

field  string optional  
Field yg akan diverifikasi ie : "email" / "mobile"

recipient  string optional  
Value yang diverifikasi ie : "[email protected]" / "628112345678"

code  string optional  
Kode OTP yg akan diotentikasi

Get Current User Profile

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-profile" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-profile"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-profile',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-profile'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/my-profile

Update Self Profile

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-profile" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-profile"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-profile',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-profile'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers)
response.json()

Request      

PUT api/v1/mobile/my-profile

Update Password

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-pass" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"pass":"eum","confirmPass":"sint"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-pass"
);

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

let body = {
    "pass": "eum",
    "confirmPass": "sint"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-pass',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pass' => 'eum',
            'confirmPass' => 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-pass'
payload = {
    "pass": "eum",
    "confirmPass": "sint"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/my-pass

Body Parameters

pass  string optional  
New password

confirmPass  string optional  
New password confirmation to validate typo

Update PIN

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-pin" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"pin":"et","confirmPin":"nobis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-pin"
);

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

let body = {
    "pin": "et",
    "confirmPin": "nobis"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-pin',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'pin' => 'et',
            'confirmPin' => 'nobis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-pin'
payload = {
    "pin": "et",
    "confirmPin": "nobis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/my-pin

Body Parameters

pin  string optional  
New PIN

confirmPin  string optional  
New PIN confirmation to validate typo

Reset password request

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/reset?email=error" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"ns":"odio","field":"omnis","recipient":"nostrum","code":"eum","via":"id","pass":"aut","confirmPass":"ad"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/reset"
);

let params = {
    "email": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "ns": "odio",
    "field": "omnis",
    "recipient": "nostrum",
    "code": "eum",
    "via": "id",
    "pass": "aut",
    "confirmPass": "ad"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/reset',
    [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'query' => [
            'email'=> 'error',
        ],
        'json' => [
            'ns' => 'odio',
            'field' => 'omnis',
            'recipient' => 'nostrum',
            'code' => 'eum',
            'via' => 'id',
            'pass' => 'aut',
            'confirmPass' => 'ad',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/reset'
payload = {
    "ns": "odio",
    "field": "omnis",
    "recipient": "nostrum",
    "code": "eum",
    "via": "id",
    "pass": "aut",
    "confirmPass": "ad"
}
params = {
  'email': 'error',
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload, params=params)
response.json()

Request      

POST api/v1/mobile/auth/reset

Query Parameters

email  string  
Registered email address that identifies the user account

Body Parameters

ns  string optional  
Namespace untuk request, static : "verification" / "registration" / "reset"

field  string optional  
Field yg akan diverifikasi ie : "email" / "mobile"

recipient  string optional  
Value yang diverifikasi ie : "[email protected]" / "628112345678"

code  string optional  
OTP untuk identifikasi sesi reset

via  string optional  
Transport pengiriman OTP ie : "email" / "wa" / "sms"

pass  string optional  
Password baru

confirmPass  string optional  
Konfirmasi assword baru

1. Core - Delete User Request

API to request account deletion / termination

List Account Termination Request

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request?p=12&pp=17&sf=6&sv=13&me=sapiente&ms=dolorum&df=cum&ds=itaque&de=nobis&lf=qui&lat=5570.81778491&lng=353357.26358796&rad=23248318.540881" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request"
);

let params = {
    "p": "12",
    "pp": "17",
    "sf": "6",
    "sv": "13",
    "me": "sapiente",
    "ms": "dolorum",
    "df": "cum",
    "ds": "itaque",
    "de": "nobis",
    "lf": "qui",
    "lat": "5570.81778491",
    "lng": "353357.26358796",
    "rad": "23248318.540881",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '12',
            'pp'=> '17',
            'sf'=> '6',
            'sv'=> '13',
            'me'=> 'sapiente',
            'ms'=> 'dolorum',
            'df'=> 'cum',
            'ds'=> 'itaque',
            'de'=> 'nobis',
            'lf'=> 'qui',
            'lat'=> '5570.81778491',
            'lng'=> '353357.26358796',
            'rad'=> '23248318.540881',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request'
params = {
  'p': '12',
  'pp': '17',
  'sf': '6',
  'sv': '13',
  'me': 'sapiente',
  'ms': 'dolorum',
  'df': 'cum',
  'ds': 'itaque',
  'de': 'nobis',
  'lf': 'qui',
  'lat': '5570.81778491',
  'lng': '353357.26358796',
  'rad': '23248318.540881',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/del-acc-request

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/options"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/del-acc-request/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/list/omnis/eligendi/non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/list/omnis/eligendi/non"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/list/omnis/eligendi/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/list/omnis/eligendi/non'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/del-acc-request/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Account Termination Request

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request"
);

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/user/del-acc-request

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/init?by=pariatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/init"
);

let params = {
    "by": "pariatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'pariatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/init'
params = {
  'by': 'pariatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/user/del-acc-request/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/change-status/voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"eum","changeBy":"laboriosam","changeMode":"rerum","changeDate":"eos","changeRemarks":"exercitationem","changeStatusTo":"a","changeStatusObject":"numquam","currentStatus":"dolorum","entityType":"est","entityId":"quae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/change-status/voluptas"
);

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

let body = {
    "changeStatusField": "eum",
    "changeBy": "laboriosam",
    "changeMode": "rerum",
    "changeDate": "eos",
    "changeRemarks": "exercitationem",
    "changeStatusTo": "a",
    "changeStatusObject": "numquam",
    "currentStatus": "dolorum",
    "entityType": "est",
    "entityId": "quae"
}

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/change-status/voluptas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'eum',
            'changeBy' => 'laboriosam',
            'changeMode' => 'rerum',
            'changeDate' => 'eos',
            'changeRemarks' => 'exercitationem',
            'changeStatusTo' => 'a',
            'changeStatusObject' => 'numquam',
            'currentStatus' => 'dolorum',
            'entityType' => 'est',
            'entityId' => 'quae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/change-status/voluptas'
payload = {
    "changeStatusField": "eum",
    "changeBy": "laboriosam",
    "changeMode": "rerum",
    "changeDate": "eos",
    "changeRemarks": "exercitationem",
    "changeStatusTo": "a",
    "changeStatusObject": "numquam",
    "currentStatus": "dolorum",
    "entityType": "est",
    "entityId": "quae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/user/del-acc-request/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Account Termination Request

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/quo?by=perspiciatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/quo"
);

let params = {
    "by": "perspiciatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'perspiciatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/quo'
params = {
  'by': 'perspiciatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/user/del-acc-request/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/aut?by=vero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/aut"
);

let params = {
    "by": "vero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/aut'
params = {
  'by': 'vero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/user/del-acc-request/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/schema?sf=labore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/schema"
);

let params = {
    "sf": "labore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'labore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/schema'
params = {
  'sf': 'labore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/del-acc-request/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/et?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/et"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/del-acc-request/et'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/del-acc-request/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

1. Core - File Upload API

APIs for uploading files

File upload endpoint

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/upload?t=id&m=voluptatibus&handle=voluptas&nohandle=17&rawupload=commodi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: multipart/form-data" \
    -H "Accept: application/json" \
    -F "file=@/tmp/phpBEM1QM" 
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/upload"
);

let params = {
    "t": "id",
    "m": "voluptatibus",
    "handle": "voluptas",
    "nohandle": "17",
    "rawupload": "commodi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

const body = new FormData();
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/upload',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            't'=> 'id',
            'm'=> 'voluptatibus',
            'handle'=> 'voluptas',
            'nohandle'=> '17',
            'rawupload'=> 'commodi',
        ],
        'multipart' => [
            [
                'name' => 'file',
                'contents' => fopen('/tmp/phpBEM1QM', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/upload'
files = {
  'file': open('/tmp/phpBEM1QM', 'rb')
}
params = {
  't': 'id',
  'm': 'voluptatibus',
  'handle': 'voluptas',
  'nohandle': '17',
  'rawupload': 'commodi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, files=files, params=params)
response.json()

Request      

POST api/v1/mobile/upload

Query Parameters

t  string optional  
File type ie : images

m  string optional  
Upload mode, "single" or "multi", this will affect the JSON return, whether it return single , latest uploaded file url, or array of urls uploaded with the same session *handle*

handle  string optional  
File handle, used to connect db record with file. if nohandle is false, handle will be used for the name of directory name containing the actual file.

nohandle  integer optional  
Denotes existence of handle information

rawupload  string optional  

Body Parameters

file  file optional  
File to upload

Delete file(s)

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/upload/del" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"url":"aspernatur","urls":["et","sint"]}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/upload/del"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "url": "aspernatur",
    "urls": [
        "et",
        "sint"
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/upload/del',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'url' => 'aspernatur',
            'urls' => [
                'et',
                'sint',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/upload/del'
payload = {
    "url": "aspernatur",
    "urls": [
        "et",
        "sint"
    ]
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/upload/del

Body Parameters

url  string optional  
optional single file url to delete.

urls  string[] optional  
optional Array of file url strings to delete.

Update file caption

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/upload/caption" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fileId":"vitae","caption":"sint"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/upload/caption"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "fileId": "vitae",
    "caption": "sint"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/upload/caption',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'fileId' => 'vitae',
            'caption' => 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/upload/caption'
payload = {
    "fileId": "vitae",
    "caption": "sint"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/upload/caption

Body Parameters

fileId  string optional  
file id to update.

caption  string optional  
new caption for the file

1. Core - Select Options

Select Options API for small qty options

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options?p=7&pp=3&sf=13&sv=19&me=harum&ms=velit&df=atque&ds=voluptates&de=qui&lf=minima&lat=260033.88552&lng=9.501384307&rad=671994826.38262" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options"
);

let params = {
    "p": "7",
    "pp": "3",
    "sf": "13",
    "sv": "19",
    "me": "harum",
    "ms": "velit",
    "df": "atque",
    "ds": "voluptates",
    "de": "qui",
    "lf": "minima",
    "lat": "260033.88552",
    "lng": "9.501384307",
    "rad": "671994826.38262",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '7',
            'pp'=> '3',
            'sf'=> '13',
            'sv'=> '19',
            'me'=> 'harum',
            'ms'=> 'velit',
            'df'=> 'atque',
            'ds'=> 'voluptates',
            'de'=> 'qui',
            'lf'=> 'minima',
            'lat'=> '260033.88552',
            'lng'=> '9.501384307',
            'rad'=> '671994826.38262',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options'
params = {
  'p': '7',
  'pp': '3',
  'sf': '13',
  'sv': '19',
  'me': 'harum',
  'ms': 'velit',
  'df': 'atque',
  'ds': 'voluptates',
  'de': 'qui',
  'lf': 'minima',
  'lat': '260033.88552',
  'lng': '9.501384307',
  'rad': '671994826.38262',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/select-options

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/select-options/options

List Select Option with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/list/nemo/non/eius" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/list/nemo/non/eius"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/list/nemo/non/eius',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/list/nemo/non/eius'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/select-options/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
Group

keyword1  string optional  
subGroup

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options?app=exercitationem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options"
);

let params = {
    "app": "exercitationem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'exercitationem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options'
params = {
  'app': 'exercitationem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/select-options

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/init?by=itaque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/init"
);

let params = {
    "by": "itaque",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'itaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/init'
params = {
  'by': 'itaque',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/select-options/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/change-status/consequuntur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"officia","changeBy":"quos","changeMode":"aut","changeDate":"sed","changeRemarks":"eaque","changeStatusTo":"quos","changeStatusObject":"expedita","currentStatus":"hic","entityType":"eligendi","entityId":"iste"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/change-status/consequuntur"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "officia",
    "changeBy": "quos",
    "changeMode": "aut",
    "changeDate": "sed",
    "changeRemarks": "eaque",
    "changeStatusTo": "quos",
    "changeStatusObject": "expedita",
    "currentStatus": "hic",
    "entityType": "eligendi",
    "entityId": "iste"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/change-status/consequuntur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'officia',
            'changeBy' => 'quos',
            'changeMode' => 'aut',
            'changeDate' => 'sed',
            'changeRemarks' => 'eaque',
            'changeStatusTo' => 'quos',
            'changeStatusObject' => 'expedita',
            'currentStatus' => 'hic',
            'entityType' => 'eligendi',
            'entityId' => 'iste',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/change-status/consequuntur'
payload = {
    "changeStatusField": "officia",
    "changeBy": "quos",
    "changeMode": "aut",
    "changeDate": "sed",
    "changeRemarks": "eaque",
    "changeStatusTo": "quos",
    "changeStatusObject": "expedita",
    "currentStatus": "hic",
    "entityType": "eligendi",
    "entityId": "iste"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reference/select-options/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/modi?by=ullam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/modi"
);

let params = {
    "by": "ullam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/modi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ullam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/modi'
params = {
  'by': 'ullam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reference/select-options/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/rerum?by=sapiente" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/rerum"
);

let params = {
    "by": "sapiente",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/rerum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sapiente',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/rerum'
params = {
  'by': 'sapiente',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reference/select-options/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/select-options/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/vitae?by=eum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/vitae"
);

let params = {
    "by": "eum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/vitae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/select-options/vitae'
params = {
  'by': 'eum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/select-options/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config?p=14&pp=19&sf=4&sv=18&me=quos&ms=vel&df=harum&ds=temporibus&de=ut&lf=minus&lat=1.462&lng=53160498.700008&rad=11.408093311" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config"
);

let params = {
    "p": "14",
    "pp": "19",
    "sf": "4",
    "sv": "18",
    "me": "quos",
    "ms": "vel",
    "df": "harum",
    "ds": "temporibus",
    "de": "ut",
    "lf": "minus",
    "lat": "1.462",
    "lng": "53160498.700008",
    "rad": "11.408093311",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '19',
            'sf'=> '4',
            'sv'=> '18',
            'me'=> 'quos',
            'ms'=> 'vel',
            'df'=> 'harum',
            'ds'=> 'temporibus',
            'de'=> 'ut',
            'lf'=> 'minus',
            'lat'=> '1.462',
            'lng'=> '53160498.700008',
            'rad'=> '11.408093311',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config'
params = {
  'p': '14',
  'pp': '19',
  'sf': '4',
  'sv': '18',
  'me': 'quos',
  'ms': 'vel',
  'df': 'harum',
  'ds': 'temporibus',
  'de': 'ut',
  'lf': 'minus',
  'lat': '1.462',
  'lng': '53160498.700008',
  'rad': '11.408093311',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/remote-config

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/remote-config/options

List Select Option with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/list/ut/nihil/vitae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/list/ut/nihil/vitae"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/list/ut/nihil/vitae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/list/ut/nihil/vitae'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/remote-config/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
Group

keyword1  string optional  
subGroup

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config?app=eos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config"
);

let params = {
    "app": "eos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config'
params = {
  'app': 'eos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/remote-config

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/init?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/init"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/init'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/remote-config/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/change-status/qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"unde","changeBy":"qui","changeMode":"tempore","changeDate":"fuga","changeRemarks":"quisquam","changeStatusTo":"quis","changeStatusObject":"esse","currentStatus":"accusantium","entityType":"commodi","entityId":"porro"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/change-status/qui"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "unde",
    "changeBy": "qui",
    "changeMode": "tempore",
    "changeDate": "fuga",
    "changeRemarks": "quisquam",
    "changeStatusTo": "quis",
    "changeStatusObject": "esse",
    "currentStatus": "accusantium",
    "entityType": "commodi",
    "entityId": "porro"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/change-status/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'unde',
            'changeBy' => 'qui',
            'changeMode' => 'tempore',
            'changeDate' => 'fuga',
            'changeRemarks' => 'quisquam',
            'changeStatusTo' => 'quis',
            'changeStatusObject' => 'esse',
            'currentStatus' => 'accusantium',
            'entityType' => 'commodi',
            'entityId' => 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/change-status/qui'
payload = {
    "changeStatusField": "unde",
    "changeBy": "qui",
    "changeMode": "tempore",
    "changeDate": "fuga",
    "changeRemarks": "quisquam",
    "changeStatusTo": "quis",
    "changeStatusObject": "esse",
    "currentStatus": "accusantium",
    "entityType": "commodi",
    "entityId": "porro"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reference/remote-config/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/consequatur?by=molestiae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/consequatur"
);

let params = {
    "by": "molestiae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'molestiae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/consequatur'
params = {
  'by': 'molestiae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reference/remote-config/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/qui?by=velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/qui"
);

let params = {
    "by": "velit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/qui'
params = {
  'by': 'velit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reference/remote-config/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/schema?sf=eligendi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/schema"
);

let params = {
    "sf": "eligendi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'eligendi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/schema'
params = {
  'sf': 'eligendi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/remote-config/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/odio?by=incidunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/odio"
);

let params = {
    "by": "incidunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/odio',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'incidunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/remote-config/odio'
params = {
  'by': 'incidunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/remote-config/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

1. Core - User Activity

History of User Activity, as compound list of many types of activity and optionally actions related to it

List User Activity

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/activity?p=16&pp=9&sf=2&sv=2&me=est&ms=eaque&df=est&ds=esse&de=sit&lf=dolorem&lat=7.531936&lng=2471721.5435305&rad=66.199546" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity"
);

let params = {
    "p": "16",
    "pp": "9",
    "sf": "2",
    "sv": "2",
    "me": "est",
    "ms": "eaque",
    "df": "est",
    "ds": "esse",
    "de": "sit",
    "lf": "dolorem",
    "lat": "7.531936",
    "lng": "2471721.5435305",
    "rad": "66.199546",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '9',
            'sf'=> '2',
            'sv'=> '2',
            'me'=> 'est',
            'ms'=> 'eaque',
            'df'=> 'est',
            'ds'=> 'esse',
            'de'=> 'sit',
            'lf'=> 'dolorem',
            'lat'=> '7.531936',
            'lng'=> '2471721.5435305',
            'rad'=> '66.199546',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity'
params = {
  'p': '16',
  'pp': '9',
  'sf': '2',
  'sv': '2',
  'me': 'est',
  'ms': 'eaque',
  'df': 'est',
  'ds': 'esse',
  'de': 'sit',
  'lf': 'dolorem',
  'lat': '7.531936',
  'lng': '2471721.5435305',
  'rad': '66.199546',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/activity

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/activity/options

List Activity with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/list/soluta/inventore/quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/list/soluta/inventore/quo"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/list/soluta/inventore/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/list/soluta/inventore/quo'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/activity/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
define model to be used "request-status" or "order-status"

keyword1  string optional  
filter for tab : "progress" or "history"

keyword2  string optional  
not used

Add User Activity

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/user/activity

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/init?by=inventore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/init"
);

let params = {
    "by": "inventore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'inventore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/init'
params = {
  'by': 'inventore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/user/activity/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/change-status/assumenda" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"neque","changeBy":"dolor","changeMode":"magni","changeDate":"et","changeRemarks":"possimus","changeStatusTo":"laborum","changeStatusObject":"consequatur","currentStatus":"impedit","entityType":"non","entityId":"accusantium"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/change-status/assumenda"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "neque",
    "changeBy": "dolor",
    "changeMode": "magni",
    "changeDate": "et",
    "changeRemarks": "possimus",
    "changeStatusTo": "laborum",
    "changeStatusObject": "consequatur",
    "currentStatus": "impedit",
    "entityType": "non",
    "entityId": "accusantium"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/change-status/assumenda',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'neque',
            'changeBy' => 'dolor',
            'changeMode' => 'magni',
            'changeDate' => 'et',
            'changeRemarks' => 'possimus',
            'changeStatusTo' => 'laborum',
            'changeStatusObject' => 'consequatur',
            'currentStatus' => 'impedit',
            'entityType' => 'non',
            'entityId' => 'accusantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/change-status/assumenda'
payload = {
    "changeStatusField": "neque",
    "changeBy": "dolor",
    "changeMode": "magni",
    "changeDate": "et",
    "changeRemarks": "possimus",
    "changeStatusTo": "laborum",
    "changeStatusObject": "consequatur",
    "currentStatus": "impedit",
    "entityType": "non",
    "entityId": "accusantium"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/user/activity/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User Activity

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/velit?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/velit"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/velit'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/user/activity/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/quibusdam?by=tempore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/quibusdam"
);

let params = {
    "by": "tempore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/quibusdam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'tempore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/quibusdam'
params = {
  'by': 'tempore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/user/activity/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/schema?sf=facilis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/schema"
);

let params = {
    "sf": "facilis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'facilis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/schema'
params = {
  'sf': 'facilis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/activity/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/unde?by=vel" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/activity/unde"
);

let params = {
    "by": "vel",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/unde',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/activity/unde'
params = {
  'by': 'vel',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/activity/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

1. Core - User Notification

Unified Notification List untuk User ( semua role )

List User Notification

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/notification?p=10&pp=7&sf=4&sv=1&me=necessitatibus&ms=excepturi&df=hic&ds=aut&de=cumque&lf=facere&lat=36.15505638&lng=10686.403615&rad=1115910.3692233" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification"
);

let params = {
    "p": "10",
    "pp": "7",
    "sf": "4",
    "sv": "1",
    "me": "necessitatibus",
    "ms": "excepturi",
    "df": "hic",
    "ds": "aut",
    "de": "cumque",
    "lf": "facere",
    "lat": "36.15505638",
    "lng": "10686.403615",
    "rad": "1115910.3692233",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '10',
            'pp'=> '7',
            'sf'=> '4',
            'sv'=> '1',
            'me'=> 'necessitatibus',
            'ms'=> 'excepturi',
            'df'=> 'hic',
            'ds'=> 'aut',
            'de'=> 'cumque',
            'lf'=> 'facere',
            'lat'=> '36.15505638',
            'lng'=> '10686.403615',
            'rad'=> '1115910.3692233',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification'
params = {
  'p': '10',
  'pp': '7',
  'sf': '4',
  'sv': '1',
  'me': 'necessitatibus',
  'ms': 'excepturi',
  'df': 'hic',
  'ds': 'aut',
  'de': 'cumque',
  'lf': 'facere',
  'lat': '36.15505638',
  'lng': '10686.403615',
  'rad': '1115910.3692233',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/notification

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/notification/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/list/quae/doloribus/at" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/list/quae/doloribus/at"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/list/quae/doloribus/at',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/list/quae/doloribus/at'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/notification/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add User Notification

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/user/notification

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/init?by=architecto" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/init"
);

let params = {
    "by": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'architecto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/init'
params = {
  'by': 'architecto',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/user/notification/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/change-status/debitis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"architecto","changeBy":"ut","changeMode":"et","changeDate":"repellendus","changeRemarks":"qui","changeStatusTo":"suscipit","changeStatusObject":"aperiam","currentStatus":"quo","entityType":"dignissimos","entityId":"veniam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/change-status/debitis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "architecto",
    "changeBy": "ut",
    "changeMode": "et",
    "changeDate": "repellendus",
    "changeRemarks": "qui",
    "changeStatusTo": "suscipit",
    "changeStatusObject": "aperiam",
    "currentStatus": "quo",
    "entityType": "dignissimos",
    "entityId": "veniam"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/change-status/debitis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'architecto',
            'changeBy' => 'ut',
            'changeMode' => 'et',
            'changeDate' => 'repellendus',
            'changeRemarks' => 'qui',
            'changeStatusTo' => 'suscipit',
            'changeStatusObject' => 'aperiam',
            'currentStatus' => 'quo',
            'entityType' => 'dignissimos',
            'entityId' => 'veniam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/change-status/debitis'
payload = {
    "changeStatusField": "architecto",
    "changeBy": "ut",
    "changeMode": "et",
    "changeDate": "repellendus",
    "changeRemarks": "qui",
    "changeStatusTo": "suscipit",
    "changeStatusObject": "aperiam",
    "currentStatus": "quo",
    "entityType": "dignissimos",
    "entityId": "veniam"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/user/notification/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User Notification

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/accusantium?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/accusantium"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/accusantium',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/accusantium'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/user/notification/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/ab?by=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/ab"
);

let params = {
    "by": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/ab',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/ab'
params = {
  'by': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/user/notification/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/schema?sf=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/schema"
);

let params = {
    "sf": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/schema'
params = {
  'sf': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/notification/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/explicabo?by=consequuntur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/explicabo"
);

let params = {
    "by": "consequuntur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/explicabo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequuntur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/explicabo'
params = {
  'by': 'consequuntur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/notification/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Unread User Notification

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/unread" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/notification/unread"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/unread',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/notification/unread'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/user/notification/unread

1. Core - User

Main User entity

List User

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user?p=20&pp=1&sf=3&sv=13&me=facere&ms=aut&df=perferendis&ds=quasi&de=deserunt&lf=unde&lat=10.481891&lng=2808.5492&rad=383694005.50694" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user"
);

let params = {
    "p": "20",
    "pp": "1",
    "sf": "3",
    "sv": "13",
    "me": "facere",
    "ms": "aut",
    "df": "perferendis",
    "ds": "quasi",
    "de": "deserunt",
    "lf": "unde",
    "lat": "10.481891",
    "lng": "2808.5492",
    "rad": "383694005.50694",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '20',
            'pp'=> '1',
            'sf'=> '3',
            'sv'=> '13',
            'me'=> 'facere',
            'ms'=> 'aut',
            'df'=> 'perferendis',
            'ds'=> 'quasi',
            'de'=> 'deserunt',
            'lf'=> 'unde',
            'lat'=> '10.481891',
            'lng'=> '2808.5492',
            'rad'=> '383694005.50694',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user'
params = {
  'p': '20',
  'pp': '1',
  'sf': '3',
  'sv': '13',
  'me': 'facere',
  'ms': 'aut',
  'df': 'perferendis',
  'ds': 'quasi',
  'de': 'deserunt',
  'lf': 'unde',
  'lat': '10.481891',
  'lng': '2808.5492',
  'rad': '383694005.50694',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/auth/register/user

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/auth/register/user/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/list/laborum/voluptatem/iure" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/list/laborum/voluptatem/iure"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/list/laborum/voluptatem/iure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/list/laborum/voluptatem/iure'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/auth/register/user/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add User

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/auth/register/user

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/init?by=ipsum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/init"
);

let params = {
    "by": "ipsum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ipsum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/init'
params = {
  'by': 'ipsum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/auth/register/user/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/change-status/iure" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"ut","changeBy":"enim","changeMode":"est","changeDate":"facilis","changeRemarks":"natus","changeStatusTo":"sed","changeStatusObject":"et","currentStatus":"vitae","entityType":"optio","entityId":"recusandae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/change-status/iure"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "ut",
    "changeBy": "enim",
    "changeMode": "est",
    "changeDate": "facilis",
    "changeRemarks": "natus",
    "changeStatusTo": "sed",
    "changeStatusObject": "et",
    "currentStatus": "vitae",
    "entityType": "optio",
    "entityId": "recusandae"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/change-status/iure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'ut',
            'changeBy' => 'enim',
            'changeMode' => 'est',
            'changeDate' => 'facilis',
            'changeRemarks' => 'natus',
            'changeStatusTo' => 'sed',
            'changeStatusObject' => 'et',
            'currentStatus' => 'vitae',
            'entityType' => 'optio',
            'entityId' => 'recusandae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/change-status/iure'
payload = {
    "changeStatusField": "ut",
    "changeBy": "enim",
    "changeMode": "est",
    "changeDate": "facilis",
    "changeRemarks": "natus",
    "changeStatusTo": "sed",
    "changeStatusObject": "et",
    "currentStatus": "vitae",
    "entityType": "optio",
    "entityId": "recusandae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/auth/register/user/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/dolores?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/dolores"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/dolores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/dolores'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/auth/register/user/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/vitae?by=expedita" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/vitae"
);

let params = {
    "by": "expedita",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/vitae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'expedita',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/vitae'
params = {
  'by': 'expedita',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/auth/register/user/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/schema?sf=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/schema"
);

let params = {
    "sf": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/schema'
params = {
  'sf': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/auth/register/user/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/qui?by=optio" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/qui"
);

let params = {
    "by": "optio",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'optio',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/auth/register/user/qui'
params = {
  'by': 'optio',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/auth/register/user/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List User

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user?p=1&pp=11&sf=10&sv=4&me=cumque&ms=hic&df=et&ds=molestias&de=et&lf=est&lat=18.805&lng=27.966&rad=36063.56938" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user"
);

let params = {
    "p": "1",
    "pp": "11",
    "sf": "10",
    "sv": "4",
    "me": "cumque",
    "ms": "hic",
    "df": "et",
    "ds": "molestias",
    "de": "et",
    "lf": "est",
    "lat": "18.805",
    "lng": "27.966",
    "rad": "36063.56938",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '1',
            'pp'=> '11',
            'sf'=> '10',
            'sv'=> '4',
            'me'=> 'cumque',
            'ms'=> 'hic',
            'df'=> 'et',
            'ds'=> 'molestias',
            'de'=> 'et',
            'lf'=> 'est',
            'lat'=> '18.805',
            'lng'=> '27.966',
            'rad'=> '36063.56938',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user'
params = {
  'p': '1',
  'pp': '11',
  'sf': '10',
  'sv': '4',
  'me': 'cumque',
  'ms': 'hic',
  'df': 'et',
  'ds': 'molestias',
  'de': 'et',
  'lf': 'est',
  'lat': '18.805',
  'lng': '27.966',
  'rad': '36063.56938',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/list/est/molestiae/labore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/list/est/molestiae/labore"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/list/est/molestiae/labore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/list/est/molestiae/labore'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/user/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add User

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/user

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/init?by=harum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/init"
);

let params = {
    "by": "harum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'harum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/init'
params = {
  'by': 'harum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/user/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/change-status/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"rerum","changeBy":"velit","changeMode":"velit","changeDate":"optio","changeRemarks":"harum","changeStatusTo":"atque","changeStatusObject":"accusamus","currentStatus":"dolores","entityType":"mollitia","entityId":"autem"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/change-status/ut"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "rerum",
    "changeBy": "velit",
    "changeMode": "velit",
    "changeDate": "optio",
    "changeRemarks": "harum",
    "changeStatusTo": "atque",
    "changeStatusObject": "accusamus",
    "currentStatus": "dolores",
    "entityType": "mollitia",
    "entityId": "autem"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/change-status/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'rerum',
            'changeBy' => 'velit',
            'changeMode' => 'velit',
            'changeDate' => 'optio',
            'changeRemarks' => 'harum',
            'changeStatusTo' => 'atque',
            'changeStatusObject' => 'accusamus',
            'currentStatus' => 'dolores',
            'entityType' => 'mollitia',
            'entityId' => 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/change-status/ut'
payload = {
    "changeStatusField": "rerum",
    "changeBy": "velit",
    "changeMode": "velit",
    "changeDate": "optio",
    "changeRemarks": "harum",
    "changeStatusTo": "atque",
    "changeStatusObject": "accusamus",
    "currentStatus": "dolores",
    "entityType": "mollitia",
    "entityId": "autem"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/user/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/qui?by=mollitia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/qui"
);

let params = {
    "by": "mollitia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/qui'
params = {
  'by': 'mollitia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/user/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/user/officia?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/officia"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/officia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/officia'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/user/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/schema?sf=ex" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/schema"
);

let params = {
    "sf": "ex",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ex',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/schema'
params = {
  'sf': 'ex',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/user/voluptas?by=enim" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/user/voluptas"
);

let params = {
    "by": "enim",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/user/voluptas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/user/voluptas'
params = {
  'by': 'enim',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/user/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

1. Dashboard - PO Online

Dashboard data for PO online app

PO Dashboard Widget & Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po?p=12&pp=13&sf=8&sv=8&me=delectus&ms=hic&df=nihil&ds=totam&de=eveniet&lf=qui&lat=0&lng=18.19406244&rad=7410585.2245323" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po"
);

let params = {
    "p": "12",
    "pp": "13",
    "sf": "8",
    "sv": "8",
    "me": "delectus",
    "ms": "hic",
    "df": "nihil",
    "ds": "totam",
    "de": "eveniet",
    "lf": "qui",
    "lat": "0",
    "lng": "18.19406244",
    "rad": "7410585.2245323",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '12',
            'pp'=> '13',
            'sf'=> '8',
            'sv'=> '8',
            'me'=> 'delectus',
            'ms'=> 'hic',
            'df'=> 'nihil',
            'ds'=> 'totam',
            'de'=> 'eveniet',
            'lf'=> 'qui',
            'lat'=> '0',
            'lng'=> '18.19406244',
            'rad'=> '7410585.2245323',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po'
params = {
  'p': '12',
  'pp': '13',
  'sf': '8',
  'sv': '8',
  'me': 'delectus',
  'ms': 'hic',
  'df': 'nihil',
  'ds': 'totam',
  'de': 'eveniet',
  'lf': 'qui',
  'lat': '0',
  'lng': '18.19406244',
  'rad': '7410585.2245323',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/dashboard/po

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/dashboard/po/options

List Activity with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/list/nemo/consequatur/exercitationem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/list/nemo/consequatur/exercitationem"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/list/nemo/consequatur/exercitationem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/list/nemo/consequatur/exercitationem'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/dashboard/po/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
define model to be used "request-status" or "order-status"

keyword1  string optional  
filter for tab : "progress" or "history"

keyword2  string optional  
not used

Add User Activity

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/dashboard/po

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/init?by=quae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/init"
);

let params = {
    "by": "quae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/init'
params = {
  'by': 'quae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/dashboard/po/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/change-status/dolore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aperiam","changeBy":"expedita","changeMode":"expedita","changeDate":"quis","changeRemarks":"voluptas","changeStatusTo":"hic","changeStatusObject":"voluptatibus","currentStatus":"et","entityType":"velit","entityId":"et"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/change-status/dolore"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "aperiam",
    "changeBy": "expedita",
    "changeMode": "expedita",
    "changeDate": "quis",
    "changeRemarks": "voluptas",
    "changeStatusTo": "hic",
    "changeStatusObject": "voluptatibus",
    "currentStatus": "et",
    "entityType": "velit",
    "entityId": "et"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/change-status/dolore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aperiam',
            'changeBy' => 'expedita',
            'changeMode' => 'expedita',
            'changeDate' => 'quis',
            'changeRemarks' => 'voluptas',
            'changeStatusTo' => 'hic',
            'changeStatusObject' => 'voluptatibus',
            'currentStatus' => 'et',
            'entityType' => 'velit',
            'entityId' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/change-status/dolore'
payload = {
    "changeStatusField": "aperiam",
    "changeBy": "expedita",
    "changeMode": "expedita",
    "changeDate": "quis",
    "changeRemarks": "voluptas",
    "changeStatusTo": "hic",
    "changeStatusObject": "voluptatibus",
    "currentStatus": "et",
    "entityType": "velit",
    "entityId": "et"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/dashboard/po/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User Activity

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/labore?by=dicta" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/labore"
);

let params = {
    "by": "dicta",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/labore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dicta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/labore'
params = {
  'by': 'dicta',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/dashboard/po/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/ut?by=sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/ut"
);

let params = {
    "by": "sunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/ut'
params = {
  'by': 'sunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/dashboard/po/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/schema?sf=nesciunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/schema"
);

let params = {
    "sf": "nesciunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'nesciunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/schema'
params = {
  'sf': 'nesciunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/dashboard/po/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/est?by=at" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/est"
);

let params = {
    "by": "at",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'at',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/po/est'
params = {
  'by': 'at',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/dashboard/po/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

1. Dashboard - PPJ

Dashboard data for PPJ online app

List User Activity

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj?p=8&pp=1&sf=7&sv=9&me=hic&ms=assumenda&df=corrupti&ds=sit&de=veritatis&lf=reiciendis&lat=75397781.9&lng=7702187.175&rad=2728254.28" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj"
);

let params = {
    "p": "8",
    "pp": "1",
    "sf": "7",
    "sv": "9",
    "me": "hic",
    "ms": "assumenda",
    "df": "corrupti",
    "ds": "sit",
    "de": "veritatis",
    "lf": "reiciendis",
    "lat": "75397781.9",
    "lng": "7702187.175",
    "rad": "2728254.28",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '8',
            'pp'=> '1',
            'sf'=> '7',
            'sv'=> '9',
            'me'=> 'hic',
            'ms'=> 'assumenda',
            'df'=> 'corrupti',
            'ds'=> 'sit',
            'de'=> 'veritatis',
            'lf'=> 'reiciendis',
            'lat'=> '75397781.9',
            'lng'=> '7702187.175',
            'rad'=> '2728254.28',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj'
params = {
  'p': '8',
  'pp': '1',
  'sf': '7',
  'sv': '9',
  'me': 'hic',
  'ms': 'assumenda',
  'df': 'corrupti',
  'ds': 'sit',
  'de': 'veritatis',
  'lf': 'reiciendis',
  'lat': '75397781.9',
  'lng': '7702187.175',
  'rad': '2728254.28',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/dashboard/ppj

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/dashboard/ppj/options

List Activity with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/list/assumenda/consequatur/provident" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/list/assumenda/consequatur/provident"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/list/assumenda/consequatur/provident',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/list/assumenda/consequatur/provident'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/dashboard/ppj/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string optional  
define model to be used "request-status" or "order-status"

keyword1  string optional  
filter for tab : "progress" or "history"

keyword2  string optional  
not used

Add User Activity

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/dashboard/ppj

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/init?by=vero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/init"
);

let params = {
    "by": "vero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/init'
params = {
  'by': 'vero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/dashboard/ppj/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/change-status/nihil" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"officia","changeBy":"sed","changeMode":"quae","changeDate":"earum","changeRemarks":"aspernatur","changeStatusTo":"iste","changeStatusObject":"odit","currentStatus":"enim","entityType":"eius","entityId":"expedita"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/change-status/nihil"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "officia",
    "changeBy": "sed",
    "changeMode": "quae",
    "changeDate": "earum",
    "changeRemarks": "aspernatur",
    "changeStatusTo": "iste",
    "changeStatusObject": "odit",
    "currentStatus": "enim",
    "entityType": "eius",
    "entityId": "expedita"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/change-status/nihil',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'officia',
            'changeBy' => 'sed',
            'changeMode' => 'quae',
            'changeDate' => 'earum',
            'changeRemarks' => 'aspernatur',
            'changeStatusTo' => 'iste',
            'changeStatusObject' => 'odit',
            'currentStatus' => 'enim',
            'entityType' => 'eius',
            'entityId' => 'expedita',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/change-status/nihil'
payload = {
    "changeStatusField": "officia",
    "changeBy": "sed",
    "changeMode": "quae",
    "changeDate": "earum",
    "changeRemarks": "aspernatur",
    "changeStatusTo": "iste",
    "changeStatusObject": "odit",
    "currentStatus": "enim",
    "entityType": "eius",
    "entityId": "expedita"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/dashboard/ppj/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User Activity

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/maxime?by=quibusdam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/maxime"
);

let params = {
    "by": "quibusdam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/maxime',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quibusdam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/maxime'
params = {
  'by': 'quibusdam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/dashboard/ppj/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/illo?by=quasi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/illo"
);

let params = {
    "by": "quasi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/illo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quasi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/illo'
params = {
  'by': 'quasi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/dashboard/ppj/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/schema?sf=perspiciatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/schema"
);

let params = {
    "sf": "perspiciatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'perspiciatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/schema'
params = {
  'sf': 'perspiciatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/dashboard/ppj/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/neque?by=repellat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/neque"
);

let params = {
    "by": "repellat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/neque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'repellat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard/ppj/neque'
params = {
  'by': 'repellat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/dashboard/ppj/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

2. CMS - Article

{{docGroupDescr}}

List Article

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/article?p=10&pp=6&sf=4&sv=19&me=quia&ms=non&df=vero&ds=sint&de=officiis&lf=et&lat=53&lng=2190539.833&rad=201" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article"
);

let params = {
    "p": "10",
    "pp": "6",
    "sf": "4",
    "sv": "19",
    "me": "quia",
    "ms": "non",
    "df": "vero",
    "ds": "sint",
    "de": "officiis",
    "lf": "et",
    "lat": "53",
    "lng": "2190539.833",
    "rad": "201",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '10',
            'pp'=> '6',
            'sf'=> '4',
            'sv'=> '19',
            'me'=> 'quia',
            'ms'=> 'non',
            'df'=> 'vero',
            'ds'=> 'sint',
            'de'=> 'officiis',
            'lf'=> 'et',
            'lat'=> '53',
            'lng'=> '2190539.833',
            'rad'=> '201',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article'
params = {
  'p': '10',
  'pp': '6',
  'sf': '4',
  'sv': '19',
  'me': 'quia',
  'ms': 'non',
  'df': 'vero',
  'ds': 'sint',
  'de': 'officiis',
  'lf': 'et',
  'lat': '53',
  'lng': '2190539.833',
  'rad': '201',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/article

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/cms/article/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/list/veniam/magnam/accusamus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/list/veniam/magnam/accusamus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/list/veniam/magnam/accusamus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/list/veniam/magnam/accusamus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/cms/article/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Article

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/cms/article

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/init?by=ullam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/init"
);

let params = {
    "by": "ullam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ullam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/init'
params = {
  'by': 'ullam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/cms/article/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/change-status/molestiae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"perferendis","changeBy":"excepturi","changeMode":"accusamus","changeDate":"numquam","changeRemarks":"aut","changeStatusTo":"fugit","changeStatusObject":"aliquam","currentStatus":"numquam","entityType":"deserunt","entityId":"quod"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/change-status/molestiae"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "perferendis",
    "changeBy": "excepturi",
    "changeMode": "accusamus",
    "changeDate": "numquam",
    "changeRemarks": "aut",
    "changeStatusTo": "fugit",
    "changeStatusObject": "aliquam",
    "currentStatus": "numquam",
    "entityType": "deserunt",
    "entityId": "quod"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/change-status/molestiae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'perferendis',
            'changeBy' => 'excepturi',
            'changeMode' => 'accusamus',
            'changeDate' => 'numquam',
            'changeRemarks' => 'aut',
            'changeStatusTo' => 'fugit',
            'changeStatusObject' => 'aliquam',
            'currentStatus' => 'numquam',
            'entityType' => 'deserunt',
            'entityId' => 'quod',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/change-status/molestiae'
payload = {
    "changeStatusField": "perferendis",
    "changeBy": "excepturi",
    "changeMode": "accusamus",
    "changeDate": "numquam",
    "changeRemarks": "aut",
    "changeStatusTo": "fugit",
    "changeStatusObject": "aliquam",
    "currentStatus": "numquam",
    "entityType": "deserunt",
    "entityId": "quod"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/cms/article/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Article

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/minus?by=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/minus"
);

let params = {
    "by": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/minus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/minus'
params = {
  'by': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/cms/article/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/ut?by=similique" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/ut"
);

let params = {
    "by": "similique",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'similique',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/ut'
params = {
  'by': 'similique',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/cms/article/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/schema?sf=modi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/schema"
);

let params = {
    "sf": "modi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'modi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/schema'
params = {
  'sf': 'modi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/article/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/harum?by=amet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/article/harum"
);

let params = {
    "by": "amet",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/harum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'amet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/article/harum'
params = {
  'by': 'amet',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/article/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List Article

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/open/article?p=3&pp=9&sf=15&sv=11&me=ut&ms=qui&df=explicabo&ds=rerum&de=minima&lf=asperiores&lat=50851171.875675&lng=3844604.535807&rad=35342366.004" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/open/article"
);

let params = {
    "p": "3",
    "pp": "9",
    "sf": "15",
    "sv": "11",
    "me": "ut",
    "ms": "qui",
    "df": "explicabo",
    "ds": "rerum",
    "de": "minima",
    "lf": "asperiores",
    "lat": "50851171.875675",
    "lng": "3844604.535807",
    "rad": "35342366.004",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/open/article',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '9',
            'sf'=> '15',
            'sv'=> '11',
            'me'=> 'ut',
            'ms'=> 'qui',
            'df'=> 'explicabo',
            'ds'=> 'rerum',
            'de'=> 'minima',
            'lf'=> 'asperiores',
            'lat'=> '50851171.875675',
            'lng'=> '3844604.535807',
            'rad'=> '35342366.004',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/open/article'
params = {
  'p': '3',
  'pp': '9',
  'sf': '15',
  'sv': '11',
  'me': 'ut',
  'ms': 'qui',
  'df': 'explicabo',
  'ds': 'rerum',
  'de': 'minima',
  'lf': 'asperiores',
  'lat': '50851171.875675',
  'lng': '3844604.535807',
  'rad': '35342366.004',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/open/article

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

2. CMS - Category

{{docGroupDescr}}

List Category

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/category?p=9&pp=19&sf=3&sv=16&me=enim&ms=et&df=distinctio&ds=a&de=exercitationem&lf=eius&lat=533340123.2709&lng=9768.9472&rad=310639356.6344" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category"
);

let params = {
    "p": "9",
    "pp": "19",
    "sf": "3",
    "sv": "16",
    "me": "enim",
    "ms": "et",
    "df": "distinctio",
    "ds": "a",
    "de": "exercitationem",
    "lf": "eius",
    "lat": "533340123.2709",
    "lng": "9768.9472",
    "rad": "310639356.6344",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '9',
            'pp'=> '19',
            'sf'=> '3',
            'sv'=> '16',
            'me'=> 'enim',
            'ms'=> 'et',
            'df'=> 'distinctio',
            'ds'=> 'a',
            'de'=> 'exercitationem',
            'lf'=> 'eius',
            'lat'=> '533340123.2709',
            'lng'=> '9768.9472',
            'rad'=> '310639356.6344',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category'
params = {
  'p': '9',
  'pp': '19',
  'sf': '3',
  'sv': '16',
  'me': 'enim',
  'ms': 'et',
  'df': 'distinctio',
  'ds': 'a',
  'de': 'exercitationem',
  'lf': 'eius',
  'lat': '533340123.2709',
  'lng': '9768.9472',
  'rad': '310639356.6344',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/category

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/cms/category/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/list/impedit/impedit/iusto" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/list/impedit/impedit/iusto"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/list/impedit/impedit/iusto',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/list/impedit/impedit/iusto'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/cms/category/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Category

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/cms/category

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/init?by=quas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/init"
);

let params = {
    "by": "quas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/init'
params = {
  'by': 'quas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/cms/category/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/change-status/quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"vero","changeBy":"id","changeMode":"laboriosam","changeDate":"voluptatibus","changeRemarks":"doloribus","changeStatusTo":"quis","changeStatusObject":"debitis","currentStatus":"cupiditate","entityType":"quia","entityId":"officia"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/change-status/quo"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "vero",
    "changeBy": "id",
    "changeMode": "laboriosam",
    "changeDate": "voluptatibus",
    "changeRemarks": "doloribus",
    "changeStatusTo": "quis",
    "changeStatusObject": "debitis",
    "currentStatus": "cupiditate",
    "entityType": "quia",
    "entityId": "officia"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/change-status/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'vero',
            'changeBy' => 'id',
            'changeMode' => 'laboriosam',
            'changeDate' => 'voluptatibus',
            'changeRemarks' => 'doloribus',
            'changeStatusTo' => 'quis',
            'changeStatusObject' => 'debitis',
            'currentStatus' => 'cupiditate',
            'entityType' => 'quia',
            'entityId' => 'officia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/change-status/quo'
payload = {
    "changeStatusField": "vero",
    "changeBy": "id",
    "changeMode": "laboriosam",
    "changeDate": "voluptatibus",
    "changeRemarks": "doloribus",
    "changeStatusTo": "quis",
    "changeStatusObject": "debitis",
    "currentStatus": "cupiditate",
    "entityType": "quia",
    "entityId": "officia"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/cms/category/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Category

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/earum?by=occaecati" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/earum"
);

let params = {
    "by": "occaecati",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/earum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'occaecati',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/earum'
params = {
  'by': 'occaecati',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/cms/category/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/sint?by=doloribus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/sint"
);

let params = {
    "by": "doloribus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/sint',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'doloribus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/sint'
params = {
  'by': 'doloribus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/cms/category/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/schema?sf=ex" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/schema"
);

let params = {
    "sf": "ex",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ex',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/schema'
params = {
  'sf': 'ex',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/category/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/inventore?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/category/inventore"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/inventore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/category/inventore'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/category/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

2. CMS - Section

CMS Section

List Section

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/section?p=1&pp=14&sf=6&sv=5&me=culpa&ms=porro&df=quisquam&ds=quod&de=ex&lf=quod&lat=13475&lng=38169.42295&rad=50.29" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section"
);

let params = {
    "p": "1",
    "pp": "14",
    "sf": "6",
    "sv": "5",
    "me": "culpa",
    "ms": "porro",
    "df": "quisquam",
    "ds": "quod",
    "de": "ex",
    "lf": "quod",
    "lat": "13475",
    "lng": "38169.42295",
    "rad": "50.29",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '1',
            'pp'=> '14',
            'sf'=> '6',
            'sv'=> '5',
            'me'=> 'culpa',
            'ms'=> 'porro',
            'df'=> 'quisquam',
            'ds'=> 'quod',
            'de'=> 'ex',
            'lf'=> 'quod',
            'lat'=> '13475',
            'lng'=> '38169.42295',
            'rad'=> '50.29',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section'
params = {
  'p': '1',
  'pp': '14',
  'sf': '6',
  'sv': '5',
  'me': 'culpa',
  'ms': 'porro',
  'df': 'quisquam',
  'ds': 'quod',
  'de': 'ex',
  'lf': 'quod',
  'lat': '13475',
  'lng': '38169.42295',
  'rad': '50.29',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/section

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/cms/section/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/list/quia/non/repudiandae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/list/quia/non/repudiandae"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/list/quia/non/repudiandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/list/quia/non/repudiandae'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/cms/section/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Section

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/cms/section

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/init?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/init"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/init'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/cms/section/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/change-status/velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"earum","changeBy":"quia","changeMode":"illum","changeDate":"explicabo","changeRemarks":"et","changeStatusTo":"dolorem","changeStatusObject":"pariatur","currentStatus":"dolore","entityType":"est","entityId":"sed"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/change-status/velit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "earum",
    "changeBy": "quia",
    "changeMode": "illum",
    "changeDate": "explicabo",
    "changeRemarks": "et",
    "changeStatusTo": "dolorem",
    "changeStatusObject": "pariatur",
    "currentStatus": "dolore",
    "entityType": "est",
    "entityId": "sed"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/change-status/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'earum',
            'changeBy' => 'quia',
            'changeMode' => 'illum',
            'changeDate' => 'explicabo',
            'changeRemarks' => 'et',
            'changeStatusTo' => 'dolorem',
            'changeStatusObject' => 'pariatur',
            'currentStatus' => 'dolore',
            'entityType' => 'est',
            'entityId' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/change-status/velit'
payload = {
    "changeStatusField": "earum",
    "changeBy": "quia",
    "changeMode": "illum",
    "changeDate": "explicabo",
    "changeRemarks": "et",
    "changeStatusTo": "dolorem",
    "changeStatusObject": "pariatur",
    "currentStatus": "dolore",
    "entityType": "est",
    "entityId": "sed"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/cms/section/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Section

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/fugit?by=officiis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/fugit"
);

let params = {
    "by": "officiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/fugit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'officiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/fugit'
params = {
  'by': 'officiis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/cms/section/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/sit?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/sit"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/sit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/sit'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/cms/section/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/section/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/harum?by=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/cms/section/harum"
);

let params = {
    "by": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/harum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/cms/section/harum'
params = {
  'by': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/cms/section/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

3. DEV - CRUD Editor

CRUD YML Editor

List CRUD Editor

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor?p=16&pp=3&sf=4&sv=4&me=totam&ms=iusto&df=vero&ds=iusto&de=est&lf=molestiae&lat=425.6&lng=7901159.8&rad=165.725303984" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor"
);

let params = {
    "p": "16",
    "pp": "3",
    "sf": "4",
    "sv": "4",
    "me": "totam",
    "ms": "iusto",
    "df": "vero",
    "ds": "iusto",
    "de": "est",
    "lf": "molestiae",
    "lat": "425.6",
    "lng": "7901159.8",
    "rad": "165.725303984",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '3',
            'sf'=> '4',
            'sv'=> '4',
            'me'=> 'totam',
            'ms'=> 'iusto',
            'df'=> 'vero',
            'ds'=> 'iusto',
            'de'=> 'est',
            'lf'=> 'molestiae',
            'lat'=> '425.6',
            'lng'=> '7901159.8',
            'rad'=> '165.725303984',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor'
params = {
  'p': '16',
  'pp': '3',
  'sf': '4',
  'sv': '4',
  'me': 'totam',
  'ms': 'iusto',
  'df': 'vero',
  'ds': 'iusto',
  'de': 'est',
  'lf': 'molestiae',
  'lat': '425.6',
  'lng': '7901159.8',
  'rad': '165.725303984',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/obj/crud-editor

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/obj/crud-editor/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/list/explicabo/est/repellendus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/list/explicabo/est/repellendus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/list/explicabo/est/repellendus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/list/explicabo/est/repellendus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/obj/crud-editor/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add CRUD Editor

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/obj/crud-editor

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/init?by=nihil" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/init"
);

let params = {
    "by": "nihil",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nihil',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/init'
params = {
  'by': 'nihil',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/obj/crud-editor/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/change-status/sequi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"tempore","changeBy":"omnis","changeMode":"fuga","changeDate":"ipsa","changeRemarks":"est","changeStatusTo":"neque","changeStatusObject":"distinctio","currentStatus":"dolore","entityType":"impedit","entityId":"consequatur"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/change-status/sequi"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "tempore",
    "changeBy": "omnis",
    "changeMode": "fuga",
    "changeDate": "ipsa",
    "changeRemarks": "est",
    "changeStatusTo": "neque",
    "changeStatusObject": "distinctio",
    "currentStatus": "dolore",
    "entityType": "impedit",
    "entityId": "consequatur"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/change-status/sequi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'tempore',
            'changeBy' => 'omnis',
            'changeMode' => 'fuga',
            'changeDate' => 'ipsa',
            'changeRemarks' => 'est',
            'changeStatusTo' => 'neque',
            'changeStatusObject' => 'distinctio',
            'currentStatus' => 'dolore',
            'entityType' => 'impedit',
            'entityId' => 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/change-status/sequi'
payload = {
    "changeStatusField": "tempore",
    "changeBy": "omnis",
    "changeMode": "fuga",
    "changeDate": "ipsa",
    "changeRemarks": "est",
    "changeStatusTo": "neque",
    "changeStatusObject": "distinctio",
    "currentStatus": "dolore",
    "entityType": "impedit",
    "entityId": "consequatur"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/obj/crud-editor/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update CRUD Editor

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/sit?by=consectetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/sit"
);

let params = {
    "by": "consectetur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/sit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consectetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/sit'
params = {
  'by': 'consectetur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/obj/crud-editor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/iusto?by=accusamus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/iusto"
);

let params = {
    "by": "accusamus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/iusto',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'accusamus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/iusto'
params = {
  'by': 'accusamus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/obj/crud-editor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/schema?sf=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/schema"
);

let params = {
    "sf": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/schema'
params = {
  'sf': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/obj/crud-editor/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/pariatur?by=error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/pariatur"
);

let params = {
    "by": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/pariatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'error',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/obj/crud-editor/pariatur'
params = {
  'by': 'error',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/obj/crud-editor/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

4. MMS - Chat Presence

Update chat user availability status Online - Offline - Busy - Do Not Disturb

List Chat Presence

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence?p=6&pp=6&sf=2&sv=5&me=laborum&ms=laudantium&df=sed&ds=aut&de=eos&lf=ut&lat=35152.4&lng=44487421.6337&rad=584.9943003" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence"
);

let params = {
    "p": "6",
    "pp": "6",
    "sf": "2",
    "sv": "5",
    "me": "laborum",
    "ms": "laudantium",
    "df": "sed",
    "ds": "aut",
    "de": "eos",
    "lf": "ut",
    "lat": "35152.4",
    "lng": "44487421.6337",
    "rad": "584.9943003",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '6',
            'pp'=> '6',
            'sf'=> '2',
            'sv'=> '5',
            'me'=> 'laborum',
            'ms'=> 'laudantium',
            'df'=> 'sed',
            'ds'=> 'aut',
            'de'=> 'eos',
            'lf'=> 'ut',
            'lat'=> '35152.4',
            'lng'=> '44487421.6337',
            'rad'=> '584.9943003',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence'
params = {
  'p': '6',
  'pp': '6',
  'sf': '2',
  'sv': '5',
  'me': 'laborum',
  'ms': 'laudantium',
  'df': 'sed',
  'ds': 'aut',
  'de': 'eos',
  'lf': 'ut',
  'lat': '35152.4',
  'lng': '44487421.6337',
  'rad': '584.9943003',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/chat-presence

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/chat-presence/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/list/cum/dolores/quae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/list/cum/dolores/quae"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/list/cum/dolores/quae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/list/cum/dolores/quae'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/chat-presence/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Chat Presence

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/mms/chat-presence

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/init?by=possimus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/init"
);

let params = {
    "by": "possimus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'possimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/init'
params = {
  'by': 'possimus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/chat-presence/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/change-status/sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"ducimus","changeBy":"quasi","changeMode":"explicabo","changeDate":"dolores","changeRemarks":"nostrum","changeStatusTo":"consequatur","changeStatusObject":"sint","currentStatus":"voluptatem","entityType":"dolore","entityId":"dicta"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/change-status/sint"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "ducimus",
    "changeBy": "quasi",
    "changeMode": "explicabo",
    "changeDate": "dolores",
    "changeRemarks": "nostrum",
    "changeStatusTo": "consequatur",
    "changeStatusObject": "sint",
    "currentStatus": "voluptatem",
    "entityType": "dolore",
    "entityId": "dicta"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/change-status/sint',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'ducimus',
            'changeBy' => 'quasi',
            'changeMode' => 'explicabo',
            'changeDate' => 'dolores',
            'changeRemarks' => 'nostrum',
            'changeStatusTo' => 'consequatur',
            'changeStatusObject' => 'sint',
            'currentStatus' => 'voluptatem',
            'entityType' => 'dolore',
            'entityId' => 'dicta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/change-status/sint'
payload = {
    "changeStatusField": "ducimus",
    "changeBy": "quasi",
    "changeMode": "explicabo",
    "changeDate": "dolores",
    "changeRemarks": "nostrum",
    "changeStatusTo": "consequatur",
    "changeStatusObject": "sint",
    "currentStatus": "voluptatem",
    "entityType": "dolore",
    "entityId": "dicta"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/chat-presence/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Chat Presence

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/sint?by=quod" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/sint"
);

let params = {
    "by": "quod",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/sint',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quod',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/sint'
params = {
  'by': 'quod',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/chat-presence/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/tempora?by=illo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/tempora"
);

let params = {
    "by": "illo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/tempora',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'illo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/tempora'
params = {
  'by': 'illo',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/chat-presence/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/schema?sf=accusamus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/schema"
);

let params = {
    "sf": "accusamus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'accusamus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/schema'
params = {
  'sf': 'accusamus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/chat-presence/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/saepe?by=quibusdam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/saepe"
);

let params = {
    "by": "quibusdam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/saepe',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quibusdam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat-presence/saepe'
params = {
  'by': 'quibusdam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/chat-presence/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

4. MMS - Chat

Peer to peer ahat Messaging

Unread User Chat

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/unread" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"sr":"et","so":"incidunt"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/unread"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "sr": "et",
    "so": "incidunt"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/unread',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'sr' => 'et',
            'so' => 'incidunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/unread'
payload = {
    "sr": "et",
    "so": "incidunt"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/mms/chat/unread

Body Parameters

sr  string optional  
Service Request ID as chat session scope

so  string optional  
Service Order ID as chat session scope

List Chat Message

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat?p=15&pp=7&sf=3&sv=6&me=ut&ms=dolore&df=est&ds=nesciunt&de=repudiandae&lf=beatae&lat=7811991.33446&lng=358178.421&rad=15811304.361335" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat"
);

let params = {
    "p": "15",
    "pp": "7",
    "sf": "3",
    "sv": "6",
    "me": "ut",
    "ms": "dolore",
    "df": "est",
    "ds": "nesciunt",
    "de": "repudiandae",
    "lf": "beatae",
    "lat": "7811991.33446",
    "lng": "358178.421",
    "rad": "15811304.361335",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '15',
            'pp'=> '7',
            'sf'=> '3',
            'sv'=> '6',
            'me'=> 'ut',
            'ms'=> 'dolore',
            'df'=> 'est',
            'ds'=> 'nesciunt',
            'de'=> 'repudiandae',
            'lf'=> 'beatae',
            'lat'=> '7811991.33446',
            'lng'=> '358178.421',
            'rad'=> '15811304.361335',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat'
params = {
  'p': '15',
  'pp': '7',
  'sf': '3',
  'sv': '6',
  'me': 'ut',
  'ms': 'dolore',
  'df': 'est',
  'ds': 'nesciunt',
  'de': 'repudiandae',
  'lf': 'beatae',
  'lat': '7811991.33446',
  'lng': '358178.421',
  'rad': '15811304.361335',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/chat

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/chat/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/list/sunt/laborum/quibusdam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/list/sunt/laborum/quibusdam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/list/sunt/laborum/quibusdam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/list/sunt/laborum/quibusdam'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/chat/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Chat Message

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"toId":"harum","toName":"perferendis","fromId":"nihil","fromName":"impedit"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "toId": "harum",
    "toName": "perferendis",
    "fromId": "nihil",
    "fromName": "impedit"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'toId' => 'harum',
            'toName' => 'perferendis',
            'fromId' => 'nihil',
            'fromName' => 'impedit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat'
payload = {
    "toId": "harum",
    "toName": "perferendis",
    "fromId": "nihil",
    "fromName": "impedit"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/mms/chat

Body Parameters

toId  string optional  
To extId ( recipient id )

toName  string optional  
To extId ( recipient Name )

fromId  string optional  
To extId ( recipient id )

fromName  string optional  
To extId ( recipient id )

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/init?by=quibusdam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/init"
);

let params = {
    "by": "quibusdam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quibusdam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/init'
params = {
  'by': 'quibusdam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/chat/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/change-status/ipsam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"eveniet","changeBy":"omnis","changeMode":"voluptatibus","changeDate":"quia","changeRemarks":"quam","changeStatusTo":"voluptatibus","changeStatusObject":"nam","currentStatus":"veniam","entityType":"minima","entityId":"omnis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/change-status/ipsam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "eveniet",
    "changeBy": "omnis",
    "changeMode": "voluptatibus",
    "changeDate": "quia",
    "changeRemarks": "quam",
    "changeStatusTo": "voluptatibus",
    "changeStatusObject": "nam",
    "currentStatus": "veniam",
    "entityType": "minima",
    "entityId": "omnis"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/change-status/ipsam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'eveniet',
            'changeBy' => 'omnis',
            'changeMode' => 'voluptatibus',
            'changeDate' => 'quia',
            'changeRemarks' => 'quam',
            'changeStatusTo' => 'voluptatibus',
            'changeStatusObject' => 'nam',
            'currentStatus' => 'veniam',
            'entityType' => 'minima',
            'entityId' => 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/change-status/ipsam'
payload = {
    "changeStatusField": "eveniet",
    "changeBy": "omnis",
    "changeMode": "voluptatibus",
    "changeDate": "quia",
    "changeRemarks": "quam",
    "changeStatusTo": "voluptatibus",
    "changeStatusObject": "nam",
    "currentStatus": "veniam",
    "entityType": "minima",
    "entityId": "omnis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/chat/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Chat Message

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/iste?by=temporibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/iste"
);

let params = {
    "by": "temporibus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/iste',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'temporibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/iste'
params = {
  'by': 'temporibus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/chat/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/consectetur?by=sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/consectetur"
);

let params = {
    "by": "sint",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/consectetur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/consectetur'
params = {
  'by': 'sint',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/chat/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/schema?sf=aliquid" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/schema"
);

let params = {
    "sf": "aliquid",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/schema'
params = {
  'sf': 'aliquid',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/chat/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/modi?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/modi"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/modi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/chat/modi'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/chat/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

4. MMS - FCM Register

FCM token register & management

Register FCM token to the platform

requires authentication

FCM service token will be granted upon device signin and eventually changed periodically.

  1. The app must implement local storage to store this token in the device
  2. This token is device specific, therefore must me connected to logged in user account by sending it to the server upon user login process
  3. Everytime the token is changed by FCM service , the device must report the changes to the server

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/fcm/token?token=alias&prevToken=voluptate" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/fcm/token"
);

let params = {
    "token": "alias",
    "prevToken": "voluptate",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/fcm/token',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'token'=> 'alias',
            'prevToken'=> 'voluptate',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/fcm/token'
params = {
  'token': 'alias',
  'prevToken': 'voluptate',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/fcm/token

Query Parameters

token  string  
FCM token assigned to the device, usually set by FCM service upon device hook up

prevToken  string optional  
previously stored FCM token,to identify which token must be updated at the server

Send To Topic

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-topic" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"topics":"cupiditate","message":"at","templateId":"aut","image":"et","sound":"sed","data":[]}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-topic"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "topics": "cupiditate",
    "message": "at",
    "templateId": "aut",
    "image": "et",
    "sound": "sed",
    "data": []
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-topic',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'topics' => 'cupiditate',
            'message' => 'at',
            'templateId' => 'aut',
            'image' => 'et',
            'sound' => 'sed',
            'data' => [],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-topic'
payload = {
    "topics": "cupiditate",
    "message": "at",
    "templateId": "aut",
    "image": "et",
    "sound": "sed",
    "data": []
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/fcm/send-topic

Body Parameters

topics  array optional  
Array of topics to broadcast to

message  string optional  
message body

templateId  string optional  
template id to be used

image  string optional  
image URL

sound  string optional  
sound URL

data  object optional  
additional data object

Send To Users

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-user" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"userIds":"sapiente","title":"adipisci","message":"dignissimos","templateId":"est","image":"quae","sound":"ipsum","data":[]}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-user"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "userIds": "sapiente",
    "title": "adipisci",
    "message": "dignissimos",
    "templateId": "est",
    "image": "quae",
    "sound": "ipsum",
    "data": []
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-user',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'userIds' => 'sapiente',
            'title' => 'adipisci',
            'message' => 'dignissimos',
            'templateId' => 'est',
            'image' => 'quae',
            'sound' => 'ipsum',
            'data' => [],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/fcm/send-user'
payload = {
    "userIds": "sapiente",
    "title": "adipisci",
    "message": "dignissimos",
    "templateId": "est",
    "image": "quae",
    "sound": "ipsum",
    "data": []
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/fcm/send-user

Body Parameters

userIds  array optional  
Array of user IDs as FCM recipient

title  string optional  
message title

message  string optional  
message body

templateId  string optional  
template id to be used

image  string optional  
image URL

sound  string optional  
sound URL

data  object optional  
additional data object

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register?p=14&pp=13&sf=16&sv=7&me=perferendis&ms=deserunt&df=alias&ds=qui&de=nesciunt&lf=deserunt&lat=367.93&lng=1529.48&rad=6585.90784" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register"
);

let params = {
    "p": "14",
    "pp": "13",
    "sf": "16",
    "sv": "7",
    "me": "perferendis",
    "ms": "deserunt",
    "df": "alias",
    "ds": "qui",
    "de": "nesciunt",
    "lf": "deserunt",
    "lat": "367.93",
    "lng": "1529.48",
    "rad": "6585.90784",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '13',
            'sf'=> '16',
            'sv'=> '7',
            'me'=> 'perferendis',
            'ms'=> 'deserunt',
            'df'=> 'alias',
            'ds'=> 'qui',
            'de'=> 'nesciunt',
            'lf'=> 'deserunt',
            'lat'=> '367.93',
            'lng'=> '1529.48',
            'rad'=> '6585.90784',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register'
params = {
  'p': '14',
  'pp': '13',
  'sf': '16',
  'sv': '7',
  'me': 'perferendis',
  'ms': 'deserunt',
  'df': 'alias',
  'ds': 'qui',
  'de': 'nesciunt',
  'lf': 'deserunt',
  'lat': '367.93',
  'lng': '1529.48',
  'rad': '6585.90784',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/fcm-register

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/fcm-register/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/list/error/provident/non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/list/error/provident/non"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/list/error/provident/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/list/error/provident/non'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/fcm-register/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register?app=ipsa" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register"
);

let params = {
    "app": "ipsa",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'ipsa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register'
params = {
  'app': 'ipsa',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/fcm-register

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/init?by=iste" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/init"
);

let params = {
    "by": "iste",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'iste',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/init'
params = {
  'by': 'iste',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/fcm-register/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/change-status/minus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"animi","changeBy":"accusamus","changeMode":"deserunt","changeDate":"unde","changeRemarks":"sit","changeStatusTo":"voluptas","changeStatusObject":"et","currentStatus":"eaque","entityType":"cum","entityId":"est"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/change-status/minus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "animi",
    "changeBy": "accusamus",
    "changeMode": "deserunt",
    "changeDate": "unde",
    "changeRemarks": "sit",
    "changeStatusTo": "voluptas",
    "changeStatusObject": "et",
    "currentStatus": "eaque",
    "entityType": "cum",
    "entityId": "est"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/change-status/minus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'animi',
            'changeBy' => 'accusamus',
            'changeMode' => 'deserunt',
            'changeDate' => 'unde',
            'changeRemarks' => 'sit',
            'changeStatusTo' => 'voluptas',
            'changeStatusObject' => 'et',
            'currentStatus' => 'eaque',
            'entityType' => 'cum',
            'entityId' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/change-status/minus'
payload = {
    "changeStatusField": "animi",
    "changeBy": "accusamus",
    "changeMode": "deserunt",
    "changeDate": "unde",
    "changeRemarks": "sit",
    "changeStatusTo": "voluptas",
    "changeStatusObject": "et",
    "currentStatus": "eaque",
    "entityType": "cum",
    "entityId": "est"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/fcm-register/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/ullam?by=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/ullam"
);

let params = {
    "by": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/ullam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/ullam'
params = {
  'by': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/fcm-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est?by=error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est"
);

let params = {
    "by": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'error',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est'
params = {
  'by': 'error',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/fcm-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/fcm-register/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est?by=hic" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est"
);

let params = {
    "by": "hic",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'hic',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/fcm-register/est'
params = {
  'by': 'hic',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/fcm-register/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

4. MMS - User Notification

Unified Notification List untuk User ( semua role )

List User Notification

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification?p=16&pp=1&sf=13&sv=1&me=quisquam&ms=atque&df=in&ds=amet&de=repudiandae&lf=non&lat=788880.552687&lng=2.2578&rad=3.2188" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification"
);

let params = {
    "p": "16",
    "pp": "1",
    "sf": "13",
    "sv": "1",
    "me": "quisquam",
    "ms": "atque",
    "df": "in",
    "ds": "amet",
    "de": "repudiandae",
    "lf": "non",
    "lat": "788880.552687",
    "lng": "2.2578",
    "rad": "3.2188",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '1',
            'sf'=> '13',
            'sv'=> '1',
            'me'=> 'quisquam',
            'ms'=> 'atque',
            'df'=> 'in',
            'ds'=> 'amet',
            'de'=> 'repudiandae',
            'lf'=> 'non',
            'lat'=> '788880.552687',
            'lng'=> '2.2578',
            'rad'=> '3.2188',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification'
params = {
  'p': '16',
  'pp': '1',
  'sf': '13',
  'sv': '1',
  'me': 'quisquam',
  'ms': 'atque',
  'df': 'in',
  'ds': 'amet',
  'de': 'repudiandae',
  'lf': 'non',
  'lat': '788880.552687',
  'lng': '2.2578',
  'rad': '3.2188',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/list/rerum/explicabo/molestias" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/list/rerum/explicabo/molestias"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/list/rerum/explicabo/molestias',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/list/rerum/explicabo/molestias'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add User Notification

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/mms/notification

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/init?by=laudantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/init"
);

let params = {
    "by": "laudantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laudantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/init'
params = {
  'by': 'laudantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/change-status/quae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aut","changeBy":"et","changeMode":"dolorem","changeDate":"quia","changeRemarks":"et","changeStatusTo":"aut","changeStatusObject":"eos","currentStatus":"molestias","entityType":"et","entityId":"rerum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/change-status/quae"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "aut",
    "changeBy": "et",
    "changeMode": "dolorem",
    "changeDate": "quia",
    "changeRemarks": "et",
    "changeStatusTo": "aut",
    "changeStatusObject": "eos",
    "currentStatus": "molestias",
    "entityType": "et",
    "entityId": "rerum"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/change-status/quae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aut',
            'changeBy' => 'et',
            'changeMode' => 'dolorem',
            'changeDate' => 'quia',
            'changeRemarks' => 'et',
            'changeStatusTo' => 'aut',
            'changeStatusObject' => 'eos',
            'currentStatus' => 'molestias',
            'entityType' => 'et',
            'entityId' => 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/change-status/quae'
payload = {
    "changeStatusField": "aut",
    "changeBy": "et",
    "changeMode": "dolorem",
    "changeDate": "quia",
    "changeRemarks": "et",
    "changeStatusTo": "aut",
    "changeStatusObject": "eos",
    "currentStatus": "molestias",
    "entityType": "et",
    "entityId": "rerum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/notification/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User Notification

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/rerum?by=sed" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/rerum"
);

let params = {
    "by": "sed",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/rerum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/rerum'
params = {
  'by': 'sed',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/notification/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/ut?by=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/ut"
);

let params = {
    "by": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/ut'
params = {
  'by': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/notification/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/schema?sf=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/schema"
);

let params = {
    "sf": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/schema'
params = {
  'sf': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/exercitationem?by=facilis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/exercitationem"
);

let params = {
    "by": "facilis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/exercitationem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'facilis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification/exercitationem'
params = {
  'by': 'facilis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

5. Workflow - Approval Queue

Approval Queue process

List Auth Queue

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue?p=3&pp=18&sf=7&sv=7&me=sit&ms=minus&df=molestias&ds=cupiditate&de=dicta&lf=ea&lat=191592.01&lng=213312502.19&rad=387576.46" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue"
);

let params = {
    "p": "3",
    "pp": "18",
    "sf": "7",
    "sv": "7",
    "me": "sit",
    "ms": "minus",
    "df": "molestias",
    "ds": "cupiditate",
    "de": "dicta",
    "lf": "ea",
    "lat": "191592.01",
    "lng": "213312502.19",
    "rad": "387576.46",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '18',
            'sf'=> '7',
            'sv'=> '7',
            'me'=> 'sit',
            'ms'=> 'minus',
            'df'=> 'molestias',
            'ds'=> 'cupiditate',
            'de'=> 'dicta',
            'lf'=> 'ea',
            'lat'=> '191592.01',
            'lng'=> '213312502.19',
            'rad'=> '387576.46',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue'
params = {
  'p': '3',
  'pp': '18',
  'sf': '7',
  'sv': '7',
  'me': 'sit',
  'ms': 'minus',
  'df': 'molestias',
  'ds': 'cupiditate',
  'de': 'dicta',
  'lf': 'ea',
  'lat': '191592.01',
  'lng': '213312502.19',
  'rad': '387576.46',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval-queue

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval-queue/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/list/modi/sequi/aliquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/list/modi/sequi/aliquam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/list/modi/sequi/aliquam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/list/modi/sequi/aliquam'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval-queue/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Auth Queue

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/workflow/approval/approval-queue

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/init?by=officiis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/init"
);

let params = {
    "by": "officiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'officiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/init'
params = {
  'by': 'officiis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/approval-queue/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/change-status/debitis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"nobis","changeBy":"est","changeMode":"est","changeDate":"aut","changeRemarks":"corrupti","changeStatusTo":"porro","changeStatusObject":"rerum","currentStatus":"numquam","entityType":"quis","entityId":"sit"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/change-status/debitis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "nobis",
    "changeBy": "est",
    "changeMode": "est",
    "changeDate": "aut",
    "changeRemarks": "corrupti",
    "changeStatusTo": "porro",
    "changeStatusObject": "rerum",
    "currentStatus": "numquam",
    "entityType": "quis",
    "entityId": "sit"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/change-status/debitis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'nobis',
            'changeBy' => 'est',
            'changeMode' => 'est',
            'changeDate' => 'aut',
            'changeRemarks' => 'corrupti',
            'changeStatusTo' => 'porro',
            'changeStatusObject' => 'rerum',
            'currentStatus' => 'numquam',
            'entityType' => 'quis',
            'entityId' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/change-status/debitis'
payload = {
    "changeStatusField": "nobis",
    "changeBy": "est",
    "changeMode": "est",
    "changeDate": "aut",
    "changeRemarks": "corrupti",
    "changeStatusTo": "porro",
    "changeStatusObject": "rerum",
    "currentStatus": "numquam",
    "entityType": "quis",
    "entityId": "sit"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/approval-queue/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Auth Queue

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/dolorum?by=nisi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/dolorum"
);

let params = {
    "by": "nisi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/dolorum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nisi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/dolorum'
params = {
  'by': 'nisi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/approval-queue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/inventore?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/inventore"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/inventore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/inventore'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/approval/approval-queue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/schema?sf=natus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/schema"
);

let params = {
    "sf": "natus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'natus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/schema'
params = {
  'sf': 'natus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval-queue/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/non?by=deleniti" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/non"
);

let params = {
    "by": "deleniti",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'deleniti',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval-queue/non'
params = {
  'by': 'deleniti',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval-queue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

5. Workflow - Authorization Matrix

Workflow - Authorization Matrix of User and Authorization rights

List Authorization Matrix

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix?p=3&pp=20&sf=20&sv=15&me=excepturi&ms=ut&df=odit&ds=aperiam&de=voluptas&lf=deserunt&lat=0.9051&lng=5942009.6420209&rad=376336.196261" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix"
);

let params = {
    "p": "3",
    "pp": "20",
    "sf": "20",
    "sv": "15",
    "me": "excepturi",
    "ms": "ut",
    "df": "odit",
    "ds": "aperiam",
    "de": "voluptas",
    "lf": "deserunt",
    "lat": "0.9051",
    "lng": "5942009.6420209",
    "rad": "376336.196261",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '20',
            'sf'=> '20',
            'sv'=> '15',
            'me'=> 'excepturi',
            'ms'=> 'ut',
            'df'=> 'odit',
            'ds'=> 'aperiam',
            'de'=> 'voluptas',
            'lf'=> 'deserunt',
            'lat'=> '0.9051',
            'lng'=> '5942009.6420209',
            'rad'=> '376336.196261',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix'
params = {
  'p': '3',
  'pp': '20',
  'sf': '20',
  'sv': '15',
  'me': 'excepturi',
  'ms': 'ut',
  'df': 'odit',
  'ds': 'aperiam',
  'de': 'voluptas',
  'lf': 'deserunt',
  'lat': '0.9051',
  'lng': '5942009.6420209',
  'rad': '376336.196261',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-matrix

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Authorization Matrix

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-matrix/options

List Authorization Matrix with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/list/voluptates/consequatur/excepturi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/list/voluptates/consequatur/excepturi"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/list/voluptates/consequatur/excepturi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/list/voluptates/consequatur/excepturi'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-matrix/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Authorization Matrix

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/workflow/approval/authorization-matrix

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/init?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/init"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/init'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/authorization-matrix/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/change-status/repellat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"id","changeBy":"sint","changeMode":"voluptatem","changeDate":"nesciunt","changeRemarks":"voluptatum","changeStatusTo":"ratione","changeStatusObject":"aut","currentStatus":"reiciendis","entityType":"blanditiis","entityId":"maiores"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/change-status/repellat"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "id",
    "changeBy": "sint",
    "changeMode": "voluptatem",
    "changeDate": "nesciunt",
    "changeRemarks": "voluptatum",
    "changeStatusTo": "ratione",
    "changeStatusObject": "aut",
    "currentStatus": "reiciendis",
    "entityType": "blanditiis",
    "entityId": "maiores"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/change-status/repellat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'id',
            'changeBy' => 'sint',
            'changeMode' => 'voluptatem',
            'changeDate' => 'nesciunt',
            'changeRemarks' => 'voluptatum',
            'changeStatusTo' => 'ratione',
            'changeStatusObject' => 'aut',
            'currentStatus' => 'reiciendis',
            'entityType' => 'blanditiis',
            'entityId' => 'maiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/change-status/repellat'
payload = {
    "changeStatusField": "id",
    "changeBy": "sint",
    "changeMode": "voluptatem",
    "changeDate": "nesciunt",
    "changeRemarks": "voluptatum",
    "changeStatusTo": "ratione",
    "changeStatusObject": "aut",
    "currentStatus": "reiciendis",
    "entityType": "blanditiis",
    "entityId": "maiores"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/authorization-matrix/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Authorization Matrix

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/quo?by=pariatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/quo"
);

let params = {
    "by": "pariatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'pariatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/quo'
params = {
  'by': 'pariatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/authorization-matrix/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/assumenda?by=vero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/assumenda"
);

let params = {
    "by": "vero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/assumenda',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'vero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/assumenda'
params = {
  'by': 'vero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/approval/authorization-matrix/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/schema?sf=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/schema"
);

let params = {
    "sf": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/schema'
params = {
  'sf': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-matrix/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/dolorem?by=suscipit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/dolorem"
);

let params = {
    "by": "suscipit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/dolorem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-matrix/dolorem'
params = {
  'by': 'suscipit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-matrix/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

5. Workflow - Authorization Setup

Workflow - Authorization Rule Setup for business entities

List Authorization Setup

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup?p=9&pp=10&sf=3&sv=13&me=vel&ms=alias&df=dolore&ds=eum&de=magni&lf=suscipit&lat=232230.52403&lng=8937.566064823&rad=1896.35222819" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup"
);

let params = {
    "p": "9",
    "pp": "10",
    "sf": "3",
    "sv": "13",
    "me": "vel",
    "ms": "alias",
    "df": "dolore",
    "ds": "eum",
    "de": "magni",
    "lf": "suscipit",
    "lat": "232230.52403",
    "lng": "8937.566064823",
    "rad": "1896.35222819",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '9',
            'pp'=> '10',
            'sf'=> '3',
            'sv'=> '13',
            'me'=> 'vel',
            'ms'=> 'alias',
            'df'=> 'dolore',
            'ds'=> 'eum',
            'de'=> 'magni',
            'lf'=> 'suscipit',
            'lat'=> '232230.52403',
            'lng'=> '8937.566064823',
            'rad'=> '1896.35222819',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup'
params = {
  'p': '9',
  'pp': '10',
  'sf': '3',
  'sv': '13',
  'me': 'vel',
  'ms': 'alias',
  'df': 'dolore',
  'ds': 'eum',
  'de': 'magni',
  'lf': 'suscipit',
  'lat': '232230.52403',
  'lng': '8937.566064823',
  'rad': '1896.35222819',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-setup

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Authorization Setup

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-setup/options

List Authorization Setup with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/list/rem/numquam/earum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/list/rem/numquam/earum"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/list/rem/numquam/earum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/list/rem/numquam/earum'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-setup/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Authorization Matrix

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/workflow/approval/authorization-setup

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/init?by=architecto" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/init"
);

let params = {
    "by": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'architecto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/init'
params = {
  'by': 'architecto',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/authorization-setup/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/change-status/omnis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"et","changeBy":"amet","changeMode":"ut","changeDate":"cumque","changeRemarks":"quam","changeStatusTo":"autem","changeStatusObject":"accusamus","currentStatus":"et","entityType":"ipsa","entityId":"sint"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/change-status/omnis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "et",
    "changeBy": "amet",
    "changeMode": "ut",
    "changeDate": "cumque",
    "changeRemarks": "quam",
    "changeStatusTo": "autem",
    "changeStatusObject": "accusamus",
    "currentStatus": "et",
    "entityType": "ipsa",
    "entityId": "sint"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/change-status/omnis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'et',
            'changeBy' => 'amet',
            'changeMode' => 'ut',
            'changeDate' => 'cumque',
            'changeRemarks' => 'quam',
            'changeStatusTo' => 'autem',
            'changeStatusObject' => 'accusamus',
            'currentStatus' => 'et',
            'entityType' => 'ipsa',
            'entityId' => 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/change-status/omnis'
payload = {
    "changeStatusField": "et",
    "changeBy": "amet",
    "changeMode": "ut",
    "changeDate": "cumque",
    "changeRemarks": "quam",
    "changeStatusTo": "autem",
    "changeStatusObject": "accusamus",
    "currentStatus": "et",
    "entityType": "ipsa",
    "entityId": "sint"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/authorization-setup/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Authorization Setup

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/dolorem?by=distinctio" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/dolorem"
);

let params = {
    "by": "distinctio",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/dolorem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'distinctio',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/dolorem'
params = {
  'by': 'distinctio',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/authorization-setup/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/velit?by=aliquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/velit"
);

let params = {
    "by": "aliquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/velit'
params = {
  'by': 'aliquam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/approval/authorization-setup/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/schema?sf=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/schema"
);

let params = {
    "sf": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/schema'
params = {
  'sf': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-setup/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/quis?by=nostrum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/quis"
);

let params = {
    "by": "nostrum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/quis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nostrum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/authorization-setup/quis'
params = {
  'by': 'nostrum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/authorization-setup/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

5. Workflow - Time Tracking

Time Tracking API / Clock In Clock Out

List Time Log records

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker?p=4&pp=15&sf=19&sv=17&me=a&ms=cupiditate&df=repellendus&ds=excepturi&de=pariatur&lf=molestias&lat=36.509985&lng=257138.44&rad=14" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker"
);

let params = {
    "p": "4",
    "pp": "15",
    "sf": "19",
    "sv": "17",
    "me": "a",
    "ms": "cupiditate",
    "df": "repellendus",
    "ds": "excepturi",
    "de": "pariatur",
    "lf": "molestias",
    "lat": "36.509985",
    "lng": "257138.44",
    "rad": "14",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '4',
            'pp'=> '15',
            'sf'=> '19',
            'sv'=> '17',
            'me'=> 'a',
            'ms'=> 'cupiditate',
            'df'=> 'repellendus',
            'ds'=> 'excepturi',
            'de'=> 'pariatur',
            'lf'=> 'molestias',
            'lat'=> '36.509985',
            'lng'=> '257138.44',
            'rad'=> '14',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker'
params = {
  'p': '4',
  'pp': '15',
  'sf': '19',
  'sv': '17',
  'me': 'a',
  'ms': 'cupiditate',
  'df': 'repellendus',
  'ds': 'excepturi',
  'de': 'pariatur',
  'lf': 'molestias',
  'lat': '36.509985',
  'lng': '257138.44',
  'rad': '14',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/tracker

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/init?by=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/init"
);

let params = {
    "by": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/init'
params = {
  'by': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/tracker/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/change-status/repudiandae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"est","changeBy":"expedita","changeMode":"consequatur","changeDate":"consequatur","changeRemarks":"nisi","changeStatusTo":"cumque","changeStatusObject":"nihil","currentStatus":"perferendis","entityType":"corrupti","entityId":"mollitia"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/change-status/repudiandae"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "est",
    "changeBy": "expedita",
    "changeMode": "consequatur",
    "changeDate": "consequatur",
    "changeRemarks": "nisi",
    "changeStatusTo": "cumque",
    "changeStatusObject": "nihil",
    "currentStatus": "perferendis",
    "entityType": "corrupti",
    "entityId": "mollitia"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/change-status/repudiandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'est',
            'changeBy' => 'expedita',
            'changeMode' => 'consequatur',
            'changeDate' => 'consequatur',
            'changeRemarks' => 'nisi',
            'changeStatusTo' => 'cumque',
            'changeStatusObject' => 'nihil',
            'currentStatus' => 'perferendis',
            'entityType' => 'corrupti',
            'entityId' => 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/change-status/repudiandae'
payload = {
    "changeStatusField": "est",
    "changeBy": "expedita",
    "changeMode": "consequatur",
    "changeDate": "consequatur",
    "changeRemarks": "nisi",
    "changeStatusTo": "cumque",
    "changeStatusObject": "nihil",
    "currentStatus": "perferendis",
    "entityType": "corrupti",
    "entityId": "mollitia"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/time/tracker/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/quia?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/quia"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/quia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/quia'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/time/tracker/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/schema?sf=sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/schema"
);

let params = {
    "sf": "sint",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/schema'
params = {
  'sf': 'sint',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/tracker/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/ullam?by=aperiam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/ullam"
);

let params = {
    "by": "aperiam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/ullam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aperiam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/tracker/ullam'
params = {
  'by': 'aperiam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/tracker/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Add Time Log

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/time/log" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"event":"reiciendis","atBreak":false,"attStatus":"maxime","clockIn":false,"clockOut":false,"attendanceSession":"aperiam","clockInTime":"voluptatum","clockOutTime":"labore","ciLng":219949.974,"ciLat":19527.393320712,"coLng":307.8728,"coLat":401,"breakStart":"quasi","breakEnd":"libero","breakSession":"qui","breakLng":47553.83,"breakLat":267,"pin":"nulla","tz":"dolorum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/time/log"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "event": "reiciendis",
    "atBreak": false,
    "attStatus": "maxime",
    "clockIn": false,
    "clockOut": false,
    "attendanceSession": "aperiam",
    "clockInTime": "voluptatum",
    "clockOutTime": "labore",
    "ciLng": 219949.974,
    "ciLat": 19527.393320712,
    "coLng": 307.8728,
    "coLat": 401,
    "breakStart": "quasi",
    "breakEnd": "libero",
    "breakSession": "qui",
    "breakLng": 47553.83,
    "breakLat": 267,
    "pin": "nulla",
    "tz": "dolorum"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/time/log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'event' => 'reiciendis',
            'atBreak' => false,
            'attStatus' => 'maxime',
            'clockIn' => false,
            'clockOut' => false,
            'attendanceSession' => 'aperiam',
            'clockInTime' => 'voluptatum',
            'clockOutTime' => 'labore',
            'ciLng' => 219949.974,
            'ciLat' => 19527.393320712,
            'coLng' => 307.8728,
            'coLat' => 401.0,
            'breakStart' => 'quasi',
            'breakEnd' => 'libero',
            'breakSession' => 'qui',
            'breakLng' => 47553.83,
            'breakLat' => 267.0,
            'pin' => 'nulla',
            'tz' => 'dolorum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/time/log'
payload = {
    "event": "reiciendis",
    "atBreak": false,
    "attStatus": "maxime",
    "clockIn": false,
    "clockOut": false,
    "attendanceSession": "aperiam",
    "clockInTime": "voluptatum",
    "clockOutTime": "labore",
    "ciLng": 219949.974,
    "ciLat": 19527.393320712,
    "coLng": 307.8728,
    "coLat": 401,
    "breakStart": "quasi",
    "breakEnd": "libero",
    "breakSession": "qui",
    "breakLng": 47553.83,
    "breakLat": 267,
    "pin": "nulla",
    "tz": "dolorum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/time/log

Body Parameters

event  string optional  
CLOCK_IN | CLOCK_OUT | START_BREAK | STOP_BREAK | TIMER_START | TIMER_STOP

atBreak  boolean optional  
penanda sedang break / istirahat

attStatus  string optional  
IN | OUT

clockIn  boolean optional  
penanda clock in

clockOut  boolean optional  
penanda clock out

attendanceSession  string optional  
random string , digenerate ketika clock in, digunakan sampai clock out

clockInTime  string optional  
datetime

clockOutTime  string optional  
datetime

ciLng  number optional  
longitude clock in

ciLat  number optional  
latitude clock out

coLng  number optional  
longitude clock in

coLat  number optional  
latitude clock out

breakStart  string optional  
datetime

breakEnd  string optional  
datetime

breakSession  random optional  
string , digenerate ketika break start, digunakan sampai break end

breakLng  number optional  
longitude break start / stop

breakLat  number optional  
latitude break start / stop

pin  string optional  

tz  string optional  

Examples :
CLOCK IN
timeState.value['event'] = 'CLOCK_IN';
timeState.value['atBreak'] = false;
timeState.value['attStatus'] = 'IN';
timeState.value['clockIn'] = true;
timeState.value['clockOut'] = false;
timeState.value['attendanceSession'] = '';
timeState.value['clockInTime'] = DateFormat("yyyy-MM-dd HH:mm:ss").format(DateTime.now());
timeState.value['tz'] = 'Asia/Jakarta';
timeState.value['ciLng'] = lng.value;
timeState.value['ciLat'] = lat.value;
timeState.value['pin'] = clockInPinCtl.text.toString();

CLOCK OUT
timeState.value['event'] = 'CLOCK_OUT';
timeState.value['atBreak'] = false;
timeState.value['attStatus'] = 'OUT';
timeState.value['clockIn'] = false;
timeState.value['clockOut'] = true;
timeState.value['clockOutTime'] = DateFormat("yyyy-MM-dd HH:mm:ss").format(DateTime.now());
timeState.value['tz'] = 'Asia/Jakarta';
timeState.value['coLng'] = lng.value;
timeState.value['coLat'] = lat.value;
timeState.value['pin'] = clockInPinCtl.text.toString();

BREAK START hanya bisa jika clockIn == true, ie : Break / Istirahat hanya bisa ketika sedang Clock In
timeState.value['event'] = 'BREAK';
timeState.value['atBreak'] = true;
timeState.value['attStatus'] = 'BREAK';
timeState.value['breakStart'] = DateFormat("yyyy-MM-dd HH:mm:ss").format(DateTime.now());;
timeState.value['breakEnd'] = null;
timeState.value['breakSession'] = ;
timeState.value['clockOutTime'] = DateFormat("yyyy-MM-dd HH:mm:ss").format(DateTime.now()); // dianggap sedang clock out sementara, untuk logging sesi break
timeState.value['tz'] = 'Asia/Jakarta';
timeState.value['breakLng'] = lng.value;
timeState.value['breakLat'] = lat.value;
timeState.value['pin'] = clockInPinCtl.text.toString();

BREAK END hanya bisa jika atBreak == true, ie : Break END / Selesai Istirahat hanya bisa ketika sedang BREAK
timeState.value['event'] = 'BREAK';
timeState.value['atBreak'] = false;
timeState.value['attStatus'] = 'IN';
timeState.value['breakStart'] = ;
timeState.value['breakEnd'] = DateFormat("yyyy-MM-dd HH:mm:ss").format(DateTime.now());;
timeState.value['breakSession'] = ;
timeState.value['clockInTime'] = DateFormat("yyyy-MM-dd HH:mm:ss").format(DateTime.now()); // dianggap masuk kembali, untuk logging sesi break
timeState.value['tz'] = 'Asia/Jakarta';
timeState.value['breakLng'] = lng.value;
timeState.value['breakLat'] = lat.value;
timeState.value['pin'] = clockInPinCtl.text.toString();

Time State retrieve by POST

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/time/log-state" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/time/log-state"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/time/log-state',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/time/log-state'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/time/log-state

Time State GET

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/time/log-state" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/time/log-state"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/time/log-state',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/time/log-state'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/time/log-state

6. Reflow - Pipeline Class Library

Class Library for pipeline

List Pipe Class

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib?p=17&pp=6&sf=19&sv=7&me=amet&ms=aliquam&df=autem&ds=omnis&de=voluptas&lf=aut&lat=19061516&lng=9398.41473911&rad=158637" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib"
);

let params = {
    "p": "17",
    "pp": "6",
    "sf": "19",
    "sv": "7",
    "me": "amet",
    "ms": "aliquam",
    "df": "autem",
    "ds": "omnis",
    "de": "voluptas",
    "lf": "aut",
    "lat": "19061516",
    "lng": "9398.41473911",
    "rad": "158637",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '17',
            'pp'=> '6',
            'sf'=> '19',
            'sv'=> '7',
            'me'=> 'amet',
            'ms'=> 'aliquam',
            'df'=> 'autem',
            'ds'=> 'omnis',
            'de'=> 'voluptas',
            'lf'=> 'aut',
            'lat'=> '19061516',
            'lng'=> '9398.41473911',
            'rad'=> '158637',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib'
params = {
  'p': '17',
  'pp': '6',
  'sf': '19',
  'sv': '7',
  'me': 'amet',
  'ms': 'aliquam',
  'df': 'autem',
  'ds': 'omnis',
  'de': 'voluptas',
  'lf': 'aut',
  'lat': '19061516',
  'lng': '9398.41473911',
  'rad': '158637',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/classlib

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Pipe Class

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/classlib/options

List Pipe Class with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/list/reprehenderit/sit/impedit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/list/reprehenderit/sit/impedit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/list/reprehenderit/sit/impedit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/list/reprehenderit/sit/impedit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/classlib/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Pipe Class

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/reflow/pipeline/classlib

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/init?by=necessitatibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/init"
);

let params = {
    "by": "necessitatibus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'necessitatibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/init'
params = {
  'by': 'necessitatibus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reflow/pipeline/classlib/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/change-status/provident" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"deserunt","changeBy":"et","changeMode":"sit","changeDate":"enim","changeRemarks":"optio","changeStatusTo":"deleniti","changeStatusObject":"iste","currentStatus":"quo","entityType":"doloremque","entityId":"animi"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/change-status/provident"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "deserunt",
    "changeBy": "et",
    "changeMode": "sit",
    "changeDate": "enim",
    "changeRemarks": "optio",
    "changeStatusTo": "deleniti",
    "changeStatusObject": "iste",
    "currentStatus": "quo",
    "entityType": "doloremque",
    "entityId": "animi"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/change-status/provident',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'deserunt',
            'changeBy' => 'et',
            'changeMode' => 'sit',
            'changeDate' => 'enim',
            'changeRemarks' => 'optio',
            'changeStatusTo' => 'deleniti',
            'changeStatusObject' => 'iste',
            'currentStatus' => 'quo',
            'entityType' => 'doloremque',
            'entityId' => 'animi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/change-status/provident'
payload = {
    "changeStatusField": "deserunt",
    "changeBy": "et",
    "changeMode": "sit",
    "changeDate": "enim",
    "changeRemarks": "optio",
    "changeStatusTo": "deleniti",
    "changeStatusObject": "iste",
    "currentStatus": "quo",
    "entityType": "doloremque",
    "entityId": "animi"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reflow/pipeline/classlib/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Pipe Class

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/facere?by=occaecati" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/facere"
);

let params = {
    "by": "occaecati",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/facere',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'occaecati',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/facere'
params = {
  'by': 'occaecati',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reflow/pipeline/classlib/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/vero?by=aliquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/vero"
);

let params = {
    "by": "aliquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/vero',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/vero'
params = {
  'by': 'aliquam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reflow/pipeline/classlib/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/schema?sf=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/schema"
);

let params = {
    "sf": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/schema'
params = {
  'sf': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/classlib/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/ipsum?by=fugiat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/ipsum"
);

let params = {
    "by": "fugiat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/ipsum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'fugiat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/classlib/ipsum'
params = {
  'by': 'fugiat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/classlib/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

6. Reflow - Pipeline Process

Pipeline process register

List Pipeline Process

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process?p=4&pp=9&sf=4&sv=4&me=inventore&ms=doloremque&df=eaque&ds=vitae&de=ut&lf=eos&lat=65.113&lng=256.316&rad=5597546.7674" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process"
);

let params = {
    "p": "4",
    "pp": "9",
    "sf": "4",
    "sv": "4",
    "me": "inventore",
    "ms": "doloremque",
    "df": "eaque",
    "ds": "vitae",
    "de": "ut",
    "lf": "eos",
    "lat": "65.113",
    "lng": "256.316",
    "rad": "5597546.7674",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '4',
            'pp'=> '9',
            'sf'=> '4',
            'sv'=> '4',
            'me'=> 'inventore',
            'ms'=> 'doloremque',
            'df'=> 'eaque',
            'ds'=> 'vitae',
            'de'=> 'ut',
            'lf'=> 'eos',
            'lat'=> '65.113',
            'lng'=> '256.316',
            'rad'=> '5597546.7674',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process'
params = {
  'p': '4',
  'pp': '9',
  'sf': '4',
  'sv': '4',
  'me': 'inventore',
  'ms': 'doloremque',
  'df': 'eaque',
  'ds': 'vitae',
  'de': 'ut',
  'lf': 'eos',
  'lat': '65.113',
  'lng': '256.316',
  'rad': '5597546.7674',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/process

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/process/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/list/rerum/sequi/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/list/rerum/sequi/et"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/list/rerum/sequi/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/list/rerum/sequi/et'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/process/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Pipeline Process

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/reflow/pipeline/process

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/init?by=ea" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/init"
);

let params = {
    "by": "ea",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/init'
params = {
  'by': 'ea',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reflow/pipeline/process/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/change-status/excepturi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"repellendus","changeBy":"quibusdam","changeMode":"quibusdam","changeDate":"ducimus","changeRemarks":"quibusdam","changeStatusTo":"facere","changeStatusObject":"numquam","currentStatus":"consequatur","entityType":"aliquid","entityId":"eos"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/change-status/excepturi"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "repellendus",
    "changeBy": "quibusdam",
    "changeMode": "quibusdam",
    "changeDate": "ducimus",
    "changeRemarks": "quibusdam",
    "changeStatusTo": "facere",
    "changeStatusObject": "numquam",
    "currentStatus": "consequatur",
    "entityType": "aliquid",
    "entityId": "eos"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/change-status/excepturi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'repellendus',
            'changeBy' => 'quibusdam',
            'changeMode' => 'quibusdam',
            'changeDate' => 'ducimus',
            'changeRemarks' => 'quibusdam',
            'changeStatusTo' => 'facere',
            'changeStatusObject' => 'numquam',
            'currentStatus' => 'consequatur',
            'entityType' => 'aliquid',
            'entityId' => 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/change-status/excepturi'
payload = {
    "changeStatusField": "repellendus",
    "changeBy": "quibusdam",
    "changeMode": "quibusdam",
    "changeDate": "ducimus",
    "changeRemarks": "quibusdam",
    "changeStatusTo": "facere",
    "changeStatusObject": "numquam",
    "currentStatus": "consequatur",
    "entityType": "aliquid",
    "entityId": "eos"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reflow/pipeline/process/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Pipeline Process

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/et?by=itaque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/et"
);

let params = {
    "by": "itaque",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'itaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/et'
params = {
  'by': 'itaque',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reflow/pipeline/process/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/eius?by=fuga" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/eius"
);

let params = {
    "by": "fuga",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/eius',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'fuga',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/eius'
params = {
  'by': 'fuga',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reflow/pipeline/process/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/schema?sf=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/schema"
);

let params = {
    "sf": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/schema'
params = {
  'sf': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/process/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/id?by=saepe" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/id"
);

let params = {
    "by": "saepe",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/id',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'saepe',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/pipeline/process/id'
params = {
  'by': 'saepe',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/pipeline/process/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

6. Reflow - Process Cycle

Cyclical process register

List Cycle Process

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle?p=1&pp=11&sf=16&sv=4&me=voluptatem&ms=consequatur&df=minus&ds=doloremque&de=ratione&lf=quis&lat=4971063&lng=153980059.73099&rad=198076.6550218" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle"
);

let params = {
    "p": "1",
    "pp": "11",
    "sf": "16",
    "sv": "4",
    "me": "voluptatem",
    "ms": "consequatur",
    "df": "minus",
    "ds": "doloremque",
    "de": "ratione",
    "lf": "quis",
    "lat": "4971063",
    "lng": "153980059.73099",
    "rad": "198076.6550218",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '1',
            'pp'=> '11',
            'sf'=> '16',
            'sv'=> '4',
            'me'=> 'voluptatem',
            'ms'=> 'consequatur',
            'df'=> 'minus',
            'ds'=> 'doloremque',
            'de'=> 'ratione',
            'lf'=> 'quis',
            'lat'=> '4971063',
            'lng'=> '153980059.73099',
            'rad'=> '198076.6550218',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle'
params = {
  'p': '1',
  'pp': '11',
  'sf': '16',
  'sv': '4',
  'me': 'voluptatem',
  'ms': 'consequatur',
  'df': 'minus',
  'ds': 'doloremque',
  'de': 'ratione',
  'lf': 'quis',
  'lat': '4971063',
  'lng': '153980059.73099',
  'rad': '198076.6550218',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/cycle

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reflow/cycle/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/list/velit/est/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/list/velit/est/et"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/list/velit/est/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/list/velit/est/et'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reflow/cycle/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Cycle Process

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/reflow/cycle

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/init?by=eos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/init"
);

let params = {
    "by": "eos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/init'
params = {
  'by': 'eos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reflow/cycle/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/change-status/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"ad","changeBy":"molestias","changeMode":"nemo","changeDate":"tempora","changeRemarks":"aperiam","changeStatusTo":"eligendi","changeStatusObject":"et","currentStatus":"nesciunt","entityType":"inventore","entityId":"nesciunt"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/change-status/ut"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "ad",
    "changeBy": "molestias",
    "changeMode": "nemo",
    "changeDate": "tempora",
    "changeRemarks": "aperiam",
    "changeStatusTo": "eligendi",
    "changeStatusObject": "et",
    "currentStatus": "nesciunt",
    "entityType": "inventore",
    "entityId": "nesciunt"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/change-status/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'ad',
            'changeBy' => 'molestias',
            'changeMode' => 'nemo',
            'changeDate' => 'tempora',
            'changeRemarks' => 'aperiam',
            'changeStatusTo' => 'eligendi',
            'changeStatusObject' => 'et',
            'currentStatus' => 'nesciunt',
            'entityType' => 'inventore',
            'entityId' => 'nesciunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/change-status/ut'
payload = {
    "changeStatusField": "ad",
    "changeBy": "molestias",
    "changeMode": "nemo",
    "changeDate": "tempora",
    "changeRemarks": "aperiam",
    "changeStatusTo": "eligendi",
    "changeStatusObject": "et",
    "currentStatus": "nesciunt",
    "entityType": "inventore",
    "entityId": "nesciunt"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reflow/cycle/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Cycle Process

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/ut?by=alias" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/ut"
);

let params = {
    "by": "alias",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'alias',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/ut'
params = {
  'by': 'alias',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reflow/cycle/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/laboriosam?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/laboriosam"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/laboriosam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/laboriosam'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reflow/cycle/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/cycle/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/non?by=maiores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/non"
);

let params = {
    "by": "maiores",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'maiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reflow/cycle/non'
params = {
  'by': 'maiores',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reflow/cycle/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

7. Commerce - Customer Billing Detail

Customer Billing Detail

List Customer Billing Detail

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail?p=8&pp=19&sf=20&sv=1&me=velit&ms=commodi&df=quos&ds=sit&de=et&lf=iure&lat=237.6898568&lng=167884495.71012&rad=383567320.78811" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail"
);

let params = {
    "p": "8",
    "pp": "19",
    "sf": "20",
    "sv": "1",
    "me": "velit",
    "ms": "commodi",
    "df": "quos",
    "ds": "sit",
    "de": "et",
    "lf": "iure",
    "lat": "237.6898568",
    "lng": "167884495.71012",
    "rad": "383567320.78811",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '8',
            'pp'=> '19',
            'sf'=> '20',
            'sv'=> '1',
            'me'=> 'velit',
            'ms'=> 'commodi',
            'df'=> 'quos',
            'ds'=> 'sit',
            'de'=> 'et',
            'lf'=> 'iure',
            'lat'=> '237.6898568',
            'lng'=> '167884495.71012',
            'rad'=> '383567320.78811',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail'
params = {
  'p': '8',
  'pp': '19',
  'sf': '20',
  'sv': '1',
  'me': 'velit',
  'ms': 'commodi',
  'df': 'quos',
  'ds': 'sit',
  'de': 'et',
  'lf': 'iure',
  'lat': '237.6898568',
  'lng': '167884495.71012',
  'rad': '383567320.78811',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing-detail

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Customer Billing Detail

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing-detail/options

List Customer Billing Detail with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/list/optio/sunt/repellendus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/list/optio/sunt/repellendus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/list/optio/sunt/repellendus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/list/optio/sunt/repellendus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing-detail/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  
Action yang akan dilakukan, "inventory" untuk mendapatkan listing produk / jasa yang bisa dipilih atau "item" untuk mendapatkan item billing per service order id

keyword1  string optional  
Jika keyword0 == 'inventory' , digunakan untuk filter jenis item, "service" atau "product", Jika keyword0 == 'item', maka keyword1 berisi serviceOrderId

keyword2  string optional  
Jika keyword0 == 'inventory' , maka keyword2 berisi serviceOrderId $keyword0 non null; $keyword1 nullable; $keyword2 nullable;

Add Customer Billing Detail

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"billingId":"harum","serviceOrderId":"vitae","seq":6,"itemId":"suscipit","itemType":"enim","itemDescription":"quasi","unitPrice":79.064714,"qty":3827956.1256695464,"uom":"rerum","pctTax":320485074.366597,"pctDiscount":2050901,"totalTax":3223,"totalDiscount":5,"totalAmount":0.221,"currency":"ducimus"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "billingId": "harum",
    "serviceOrderId": "vitae",
    "seq": 6,
    "itemId": "suscipit",
    "itemType": "enim",
    "itemDescription": "quasi",
    "unitPrice": 79.064714,
    "qty": 3827956.1256695464,
    "uom": "rerum",
    "pctTax": 320485074.366597,
    "pctDiscount": 2050901,
    "totalTax": 3223,
    "totalDiscount": 5,
    "totalAmount": 0.221,
    "currency": "ducimus"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'billingId' => 'harum',
            'serviceOrderId' => 'vitae',
            'seq' => 6,
            'itemId' => 'suscipit',
            'itemType' => 'enim',
            'itemDescription' => 'quasi',
            'unitPrice' => 79.064714,
            'qty' => 3827956.1256695464,
            'uom' => 'rerum',
            'pctTax' => 320485074.366597,
            'pctDiscount' => 2050901.0,
            'totalTax' => 3223.0,
            'totalDiscount' => 5.0,
            'totalAmount' => 0.221,
            'currency' => 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail'
payload = {
    "billingId": "harum",
    "serviceOrderId": "vitae",
    "seq": 6,
    "itemId": "suscipit",
    "itemType": "enim",
    "itemDescription": "quasi",
    "unitPrice": 79.064714,
    "qty": 3827956.1256695464,
    "uom": "rerum",
    "pctTax": 320485074.366597,
    "pctDiscount": 2050901,
    "totalTax": 3223,
    "totalDiscount": 5,
    "totalAmount": 0.221,
    "currency": "ducimus"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/transaction/customer-billing-detail

Body Parameters

billingId  string optional  
ID billing, nik generated ketika INIT customer billing

serviceOrderId  string optional  
Service Order Id yang sedang dijalankan

seq  integer optional  
sequence / urutan display item billing

itemId  string optional  
Service ID atau Product ID atau Barcode

itemType  string optional  
penanda apakah item ini SERVICE atau PRODUCT

itemDescription  string optional  

unitPrice  number optional  
Harga unit

qty  number optional  
Jumlah item

uom  string optional  

pctTax  number optional  
Pajak dalam persentase

pctDiscount  number optional  
Discount dalam persentase

totalTax  number optional  
Pajak dalam nominal, diperhitungkan dari unitPrice * pctTax

totalDiscount  number optional  
Discount dalam nominal, diperhitungkan dari unitPrice * pctDiscount atau diisikan langsung dari program promo

totalAmount  number optional  
total harga item : ( unitPrice * qty ) - discount

currency  string optional  
Mata uang yg digunakan untuk harga

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/init?by=debitis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/init"
);

let params = {
    "by": "debitis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'debitis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/init'
params = {
  'by': 'debitis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/transaction/customer-billing-detail/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/change-status/a" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aliquid","changeBy":"deleniti","changeMode":"esse","changeDate":"sit","changeRemarks":"cumque","changeStatusTo":"occaecati","changeStatusObject":"voluptate","currentStatus":"nihil","entityType":"enim","entityId":"saepe"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/change-status/a"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "aliquid",
    "changeBy": "deleniti",
    "changeMode": "esse",
    "changeDate": "sit",
    "changeRemarks": "cumque",
    "changeStatusTo": "occaecati",
    "changeStatusObject": "voluptate",
    "currentStatus": "nihil",
    "entityType": "enim",
    "entityId": "saepe"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/change-status/a',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aliquid',
            'changeBy' => 'deleniti',
            'changeMode' => 'esse',
            'changeDate' => 'sit',
            'changeRemarks' => 'cumque',
            'changeStatusTo' => 'occaecati',
            'changeStatusObject' => 'voluptate',
            'currentStatus' => 'nihil',
            'entityType' => 'enim',
            'entityId' => 'saepe',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/change-status/a'
payload = {
    "changeStatusField": "aliquid",
    "changeBy": "deleniti",
    "changeMode": "esse",
    "changeDate": "sit",
    "changeRemarks": "cumque",
    "changeStatusTo": "occaecati",
    "changeStatusObject": "voluptate",
    "currentStatus": "nihil",
    "entityType": "enim",
    "entityId": "saepe"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-billing-detail/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer Billing Detail

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/dolore?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/dolore"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/dolore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/dolore'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-billing-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/adipisci?by=ea" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/adipisci"
);

let params = {
    "by": "ea",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/adipisci',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/adipisci'
params = {
  'by': 'ea',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/transaction/customer-billing-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/schema?sf=officia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/schema"
);

let params = {
    "sf": "officia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'officia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/schema'
params = {
  'sf': 'officia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing-detail/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/maxime?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/maxime"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/maxime',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing-detail/maxime'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

7. Commerce - Customer Billing

Customer Billing

List Customer Billing

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing?p=4&pp=20&sf=6&sv=15&me=consequatur&ms=nisi&df=atque&ds=atque&de=doloremque&lf=sit&lat=186.2096933&lng=14875.711&rad=1.8871494" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing"
);

let params = {
    "p": "4",
    "pp": "20",
    "sf": "6",
    "sv": "15",
    "me": "consequatur",
    "ms": "nisi",
    "df": "atque",
    "ds": "atque",
    "de": "doloremque",
    "lf": "sit",
    "lat": "186.2096933",
    "lng": "14875.711",
    "rad": "1.8871494",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '4',
            'pp'=> '20',
            'sf'=> '6',
            'sv'=> '15',
            'me'=> 'consequatur',
            'ms'=> 'nisi',
            'df'=> 'atque',
            'ds'=> 'atque',
            'de'=> 'doloremque',
            'lf'=> 'sit',
            'lat'=> '186.2096933',
            'lng'=> '14875.711',
            'rad'=> '1.8871494',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing'
params = {
  'p': '4',
  'pp': '20',
  'sf': '6',
  'sv': '15',
  'me': 'consequatur',
  'ms': 'nisi',
  'df': 'atque',
  'ds': 'atque',
  'de': 'doloremque',
  'lf': 'sit',
  'lat': '186.2096933',
  'lng': '14875.711',
  'rad': '1.8871494',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (200, success):


{
         "customerName": "string",
         "customerId": "string",
         "coyName": "string",
         "coyId": "string",
         "actorName": "string",
         "actorId": "string",
         "trxDate": "date",
         "serviceOrderId": "string",
         "billingId": "string",
         "invoiceNo": "string",
         "splitNo": "integer",
         "pctTax": "double",
         "pctDiscount": "double",
         "totalTax": "double",
         "totalDiscount": "double",
         "totalAmount": "double",
         "currency": "string",
         "trxStatus": "string",
         "trxDescription": "string",
         "billingDetail": [
             {
                 "extId": "string",
                 "billingId": "string",
                 "serviceOrderId": "string",
                 "seq": "integer",
                 "itemId": "string",
                 "itemType": "string",
                 "itemDescription": "string",
                 "unitPrice": "string",
                 "qty": "double",
                 "uom": "string",
                 "pctTax": "double",
                 "pctDiscount": "double",
                 "totalTax": "double",
                 "totalDiscount": "double",
                 "totalAmount": "double",
                 "currency": "string",
             }
         ],
         "terms": "string",
         "dueDate": "date",
         "tz": "string"
     }

Request      

GET api/v1/mobile/transaction/customer-billing

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Customer Billing

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing/options

List Customer Billing with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/list/quam/animi/libero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/list/quam/animi/libero"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/list/quam/animi/libero',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/list/quam/animi/libero'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Customer Billing

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"customerName":"quas","customerId":"omnis","coyName":"et","coyId":"cupiditate","actorName":"non","actorId":"et","trxDate":"vel","serviceOrderId":"facilis","billingId":"qui","invoiceNo":"sed","splitNo":14,"pctTax":179090.3,"pctDiscount":33.4,"totalTax":25.05,"totalDiscount":5074.0792776,"totalAmount":471.816,"currency":"quia","trxStatus":"aut","trxDescription":"occaecati","invoiceDetail":"ea","terms":"sapiente","dueDate":"consequatur","tz":"dolores"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "customerName": "quas",
    "customerId": "omnis",
    "coyName": "et",
    "coyId": "cupiditate",
    "actorName": "non",
    "actorId": "et",
    "trxDate": "vel",
    "serviceOrderId": "facilis",
    "billingId": "qui",
    "invoiceNo": "sed",
    "splitNo": 14,
    "pctTax": 179090.3,
    "pctDiscount": 33.4,
    "totalTax": 25.05,
    "totalDiscount": 5074.0792776,
    "totalAmount": 471.816,
    "currency": "quia",
    "trxStatus": "aut",
    "trxDescription": "occaecati",
    "invoiceDetail": "ea",
    "terms": "sapiente",
    "dueDate": "consequatur",
    "tz": "dolores"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'customerName' => 'quas',
            'customerId' => 'omnis',
            'coyName' => 'et',
            'coyId' => 'cupiditate',
            'actorName' => 'non',
            'actorId' => 'et',
            'trxDate' => 'vel',
            'serviceOrderId' => 'facilis',
            'billingId' => 'qui',
            'invoiceNo' => 'sed',
            'splitNo' => 14,
            'pctTax' => 179090.3,
            'pctDiscount' => 33.4,
            'totalTax' => 25.05,
            'totalDiscount' => 5074.0792776,
            'totalAmount' => 471.816,
            'currency' => 'quia',
            'trxStatus' => 'aut',
            'trxDescription' => 'occaecati',
            'invoiceDetail' => 'ea',
            'terms' => 'sapiente',
            'dueDate' => 'consequatur',
            'tz' => 'dolores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing'
payload = {
    "customerName": "quas",
    "customerId": "omnis",
    "coyName": "et",
    "coyId": "cupiditate",
    "actorName": "non",
    "actorId": "et",
    "trxDate": "vel",
    "serviceOrderId": "facilis",
    "billingId": "qui",
    "invoiceNo": "sed",
    "splitNo": 14,
    "pctTax": 179090.3,
    "pctDiscount": 33.4,
    "totalTax": 25.05,
    "totalDiscount": 5074.0792776,
    "totalAmount": 471.816,
    "currency": "quia",
    "trxStatus": "aut",
    "trxDescription": "occaecati",
    "invoiceDetail": "ea",
    "terms": "sapiente",
    "dueDate": "consequatur",
    "tz": "dolores"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/transaction/customer-billing

Body Parameters

customerName  string optional  

customerId  string optional  

coyName  string optional  

coyId  string optional  

actorName  string optional  

actorId  string optional  

trxDate  date optional  

serviceOrderId  string optional  

billingId  string optional  

invoiceNo  string optional  

splitNo  integer optional  

pctTax  number optional  

pctDiscount  number optional  

totalTax  number optional  

totalDiscount  number optional  

totalAmount  number optional  

currency  string optional  

trxStatus  string optional  

trxDescription  string optional  

invoiceDetail  array optional  

terms  string optional  

dueDate  date optional  

tz  string optional  

Create INITIAL Customer Billing object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"serviceOrderId":"quam"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/init"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "serviceOrderId": "quam"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'serviceOrderId' => 'quam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/init'
payload = {
    "serviceOrderId": "quam"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/transaction/customer-billing/init

Body Parameters

serviceOrderId  string optional  
Service Order Number

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/change-status/possimus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aliquid","changeBy":"et","changeMode":"unde","changeDate":"voluptatum","changeRemarks":"nulla","changeStatusTo":"facere","changeStatusObject":"voluptatum","currentStatus":"vel","entityType":"ut","entityId":"officia"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/change-status/possimus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "aliquid",
    "changeBy": "et",
    "changeMode": "unde",
    "changeDate": "voluptatum",
    "changeRemarks": "nulla",
    "changeStatusTo": "facere",
    "changeStatusObject": "voluptatum",
    "currentStatus": "vel",
    "entityType": "ut",
    "entityId": "officia"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/change-status/possimus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aliquid',
            'changeBy' => 'et',
            'changeMode' => 'unde',
            'changeDate' => 'voluptatum',
            'changeRemarks' => 'nulla',
            'changeStatusTo' => 'facere',
            'changeStatusObject' => 'voluptatum',
            'currentStatus' => 'vel',
            'entityType' => 'ut',
            'entityId' => 'officia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/change-status/possimus'
payload = {
    "changeStatusField": "aliquid",
    "changeBy": "et",
    "changeMode": "unde",
    "changeDate": "voluptatum",
    "changeRemarks": "nulla",
    "changeStatusTo": "facere",
    "changeStatusObject": "voluptatum",
    "currentStatus": "vel",
    "entityType": "ut",
    "entityId": "officia"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-billing/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer Billing

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/officiis?by=reiciendis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/officiis"
);

let params = {
    "by": "reiciendis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/officiis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'reiciendis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/officiis'
params = {
  'by': 'reiciendis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-billing/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/cumque?by=veniam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/cumque"
);

let params = {
    "by": "veniam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/cumque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'veniam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/cumque'
params = {
  'by': 'veniam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/transaction/customer-billing/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/schema?sf=earum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/schema"
);

let params = {
    "sf": "earum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'earum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/schema'
params = {
  'sf': 'earum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/nesciunt?by=eveniet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/nesciunt"
);

let params = {
    "by": "eveniet",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/nesciunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eveniet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-billing/nesciunt'
params = {
  'by': 'eveniet',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-billing/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

7. Commerce - Customer Invoice Detail

Customer Invoice Detail

List Customer Invoice Detail

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail?p=17&pp=9&sf=5&sv=16&me=ipsum&ms=aperiam&df=doloribus&ds=id&de=laborum&lf=facere&lat=5.31449&lng=0.15110474&rad=8839696.8623" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail"
);

let params = {
    "p": "17",
    "pp": "9",
    "sf": "5",
    "sv": "16",
    "me": "ipsum",
    "ms": "aperiam",
    "df": "doloribus",
    "ds": "id",
    "de": "laborum",
    "lf": "facere",
    "lat": "5.31449",
    "lng": "0.15110474",
    "rad": "8839696.8623",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '17',
            'pp'=> '9',
            'sf'=> '5',
            'sv'=> '16',
            'me'=> 'ipsum',
            'ms'=> 'aperiam',
            'df'=> 'doloribus',
            'ds'=> 'id',
            'de'=> 'laborum',
            'lf'=> 'facere',
            'lat'=> '5.31449',
            'lng'=> '0.15110474',
            'rad'=> '8839696.8623',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail'
params = {
  'p': '17',
  'pp': '9',
  'sf': '5',
  'sv': '16',
  'me': 'ipsum',
  'ms': 'aperiam',
  'df': 'doloribus',
  'ds': 'id',
  'de': 'laborum',
  'lf': 'facere',
  'lat': '5.31449',
  'lng': '0.15110474',
  'rad': '8839696.8623',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice-detail

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Customer Invoice Detail

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice-detail/options

List Customer Invoice Detail with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/list/quod/minus/quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/list/quod/minus/quos"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/list/quod/minus/quos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/list/quod/minus/quos'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice-detail/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Customer Invoice Detail

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/transaction/customer-invoice-detail

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/init?by=aliquid" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/init"
);

let params = {
    "by": "aliquid",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/init'
params = {
  'by': 'aliquid',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/transaction/customer-invoice-detail/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/change-status/magni" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"excepturi","changeBy":"excepturi","changeMode":"asperiores","changeDate":"eius","changeRemarks":"sapiente","changeStatusTo":"facilis","changeStatusObject":"consectetur","currentStatus":"temporibus","entityType":"numquam","entityId":"recusandae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/change-status/magni"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "excepturi",
    "changeBy": "excepturi",
    "changeMode": "asperiores",
    "changeDate": "eius",
    "changeRemarks": "sapiente",
    "changeStatusTo": "facilis",
    "changeStatusObject": "consectetur",
    "currentStatus": "temporibus",
    "entityType": "numquam",
    "entityId": "recusandae"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/change-status/magni',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'excepturi',
            'changeBy' => 'excepturi',
            'changeMode' => 'asperiores',
            'changeDate' => 'eius',
            'changeRemarks' => 'sapiente',
            'changeStatusTo' => 'facilis',
            'changeStatusObject' => 'consectetur',
            'currentStatus' => 'temporibus',
            'entityType' => 'numquam',
            'entityId' => 'recusandae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/change-status/magni'
payload = {
    "changeStatusField": "excepturi",
    "changeBy": "excepturi",
    "changeMode": "asperiores",
    "changeDate": "eius",
    "changeRemarks": "sapiente",
    "changeStatusTo": "facilis",
    "changeStatusObject": "consectetur",
    "currentStatus": "temporibus",
    "entityType": "numquam",
    "entityId": "recusandae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-invoice-detail/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer Invoice Detail

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/est?by=nemo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/est"
);

let params = {
    "by": "nemo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nemo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/est'
params = {
  'by': 'nemo',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-invoice-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/asperiores?by=exercitationem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/asperiores"
);

let params = {
    "by": "exercitationem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/asperiores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'exercitationem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/asperiores'
params = {
  'by': 'exercitationem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/transaction/customer-invoice-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/schema?sf=nobis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/schema"
);

let params = {
    "sf": "nobis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'nobis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/schema'
params = {
  'sf': 'nobis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice-detail/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/illum?by=eveniet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/illum"
);

let params = {
    "by": "eveniet",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/illum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eveniet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice-detail/illum'
params = {
  'by': 'eveniet',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice-detail/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

7. Commerce - Customer Invoice

Customer Invoice

List Customer Invoice

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice?p=18&pp=13&sf=8&sv=2&me=est&ms=aut&df=repudiandae&ds=nihil&de=nihil&lf=repudiandae&lat=5031886.5486058&lng=63965297.22&rad=0.313807" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice"
);

let params = {
    "p": "18",
    "pp": "13",
    "sf": "8",
    "sv": "2",
    "me": "est",
    "ms": "aut",
    "df": "repudiandae",
    "ds": "nihil",
    "de": "nihil",
    "lf": "repudiandae",
    "lat": "5031886.5486058",
    "lng": "63965297.22",
    "rad": "0.313807",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '18',
            'pp'=> '13',
            'sf'=> '8',
            'sv'=> '2',
            'me'=> 'est',
            'ms'=> 'aut',
            'df'=> 'repudiandae',
            'ds'=> 'nihil',
            'de'=> 'nihil',
            'lf'=> 'repudiandae',
            'lat'=> '5031886.5486058',
            'lng'=> '63965297.22',
            'rad'=> '0.313807',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice'
params = {
  'p': '18',
  'pp': '13',
  'sf': '8',
  'sv': '2',
  'me': 'est',
  'ms': 'aut',
  'df': 'repudiandae',
  'ds': 'nihil',
  'de': 'nihil',
  'lf': 'repudiandae',
  'lat': '5031886.5486058',
  'lng': '63965297.22',
  'rad': '0.313807',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example response (200, success):


{
     "customerName": "string",
     "customerId": "string",
     "coyName": "string",
     "coyId": "string",
     "actorName": "string",
     "actorId": "string",
     "trxDate": "date",
     "serviceOrderId": "string",
     "billingId": "string",
     "invoiceNo": "string",
     "splitNo": "integer",
     "pctTax": "double",
     "pctDiscount": "double",
     "totalTax": "double",
     "totalDiscount": "double",
     "totalAmount": "double",
     "currency": "string",
     "trxStatus": "string",
     "trxDescription": "string",
     "invoiceDetail": [
         {
             "invoiceNo": "string",
             "seq": "integer",
             "itemId": "string",
             "itemType": "string",
             "itemDescription": "string",
             "unitPrice": "string",
             "qty": "double",
             "uom": "string",
             "pctTax": "double",
             "pctDiscount": "double",
             "totalTax": "double",
             "totalDiscount": "double",
             "totalAmount": "double",
             "currency": "string",
         }
     ],
     "terms": "string",
     "dueDate": "date",
     "tz": "string"
     }

Request      

GET api/v1/mobile/transaction/customer-invoice

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Customer Invoice

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice/options

List Customer Invoice with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/list/nulla/repellat/in" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/list/nulla/repellat/in"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/list/nulla/repellat/in',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/list/nulla/repellat/in'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Customer Invoice

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"customerName":"assumenda","customerId":"expedita","coyName":"sapiente","coyId":"quam","actorName":"sed","actorId":"ut","trxDate":"sed","serviceOrderId":"iste","billingId":"quod","invoiceNo":"aliquam","splitNo":19,"pctTax":145738730.48859,"pctDiscount":42498.42,"totalTax":85.5686,"totalDiscount":10.4,"totalAmount":1.102455088,"currency":"sit","trxStatus":"nam","trxDescription":"eum","invoiceDetail":"sapiente","terms":"veniam","dueDate":"eum","tz":"repudiandae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "customerName": "assumenda",
    "customerId": "expedita",
    "coyName": "sapiente",
    "coyId": "quam",
    "actorName": "sed",
    "actorId": "ut",
    "trxDate": "sed",
    "serviceOrderId": "iste",
    "billingId": "quod",
    "invoiceNo": "aliquam",
    "splitNo": 19,
    "pctTax": 145738730.48859,
    "pctDiscount": 42498.42,
    "totalTax": 85.5686,
    "totalDiscount": 10.4,
    "totalAmount": 1.102455088,
    "currency": "sit",
    "trxStatus": "nam",
    "trxDescription": "eum",
    "invoiceDetail": "sapiente",
    "terms": "veniam",
    "dueDate": "eum",
    "tz": "repudiandae"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'customerName' => 'assumenda',
            'customerId' => 'expedita',
            'coyName' => 'sapiente',
            'coyId' => 'quam',
            'actorName' => 'sed',
            'actorId' => 'ut',
            'trxDate' => 'sed',
            'serviceOrderId' => 'iste',
            'billingId' => 'quod',
            'invoiceNo' => 'aliquam',
            'splitNo' => 19,
            'pctTax' => 145738730.48859,
            'pctDiscount' => 42498.42,
            'totalTax' => 85.5686,
            'totalDiscount' => 10.4,
            'totalAmount' => 1.102455088,
            'currency' => 'sit',
            'trxStatus' => 'nam',
            'trxDescription' => 'eum',
            'invoiceDetail' => 'sapiente',
            'terms' => 'veniam',
            'dueDate' => 'eum',
            'tz' => 'repudiandae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice'
payload = {
    "customerName": "assumenda",
    "customerId": "expedita",
    "coyName": "sapiente",
    "coyId": "quam",
    "actorName": "sed",
    "actorId": "ut",
    "trxDate": "sed",
    "serviceOrderId": "iste",
    "billingId": "quod",
    "invoiceNo": "aliquam",
    "splitNo": 19,
    "pctTax": 145738730.48859,
    "pctDiscount": 42498.42,
    "totalTax": 85.5686,
    "totalDiscount": 10.4,
    "totalAmount": 1.102455088,
    "currency": "sit",
    "trxStatus": "nam",
    "trxDescription": "eum",
    "invoiceDetail": "sapiente",
    "terms": "veniam",
    "dueDate": "eum",
    "tz": "repudiandae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Request      

POST api/v1/mobile/transaction/customer-invoice

Body Parameters

customerName  string optional  

customerId  string optional  

coyName  string optional  

coyId  string optional  

actorName  string optional  

actorId  string optional  

trxDate  date optional  

serviceOrderId  string optional  

billingId  string optional  

invoiceNo  string optional  

splitNo  integer optional  

pctTax  number optional  

pctDiscount  number optional  

totalTax  number optional  

totalDiscount  number optional  

totalAmount  number optional  

currency  string optional  

trxStatus  string optional  

trxDescription  string optional  

invoiceDetail  array optional  

terms  string optional  

dueDate  date optional  

tz  string optional  

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/init?by=assumenda" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/init"
);

let params = {
    "by": "assumenda",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'assumenda',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/init'
params = {
  'by': 'assumenda',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/transaction/customer-invoice/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/change-status/quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"ullam","changeBy":"aperiam","changeMode":"laborum","changeDate":"repudiandae","changeRemarks":"itaque","changeStatusTo":"nihil","changeStatusObject":"ipsa","currentStatus":"et","entityType":"eligendi","entityId":"enim"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/change-status/quo"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "ullam",
    "changeBy": "aperiam",
    "changeMode": "laborum",
    "changeDate": "repudiandae",
    "changeRemarks": "itaque",
    "changeStatusTo": "nihil",
    "changeStatusObject": "ipsa",
    "currentStatus": "et",
    "entityType": "eligendi",
    "entityId": "enim"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/change-status/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'ullam',
            'changeBy' => 'aperiam',
            'changeMode' => 'laborum',
            'changeDate' => 'repudiandae',
            'changeRemarks' => 'itaque',
            'changeStatusTo' => 'nihil',
            'changeStatusObject' => 'ipsa',
            'currentStatus' => 'et',
            'entityType' => 'eligendi',
            'entityId' => 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/change-status/quo'
payload = {
    "changeStatusField": "ullam",
    "changeBy": "aperiam",
    "changeMode": "laborum",
    "changeDate": "repudiandae",
    "changeRemarks": "itaque",
    "changeStatusTo": "nihil",
    "changeStatusObject": "ipsa",
    "currentStatus": "et",
    "entityType": "eligendi",
    "entityId": "enim"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-invoice/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Customer Invoice

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/porro?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/porro"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/porro',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/porro'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/transaction/customer-invoice/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/deserunt?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/deserunt"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/deserunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/deserunt'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/transaction/customer-invoice/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/schema?sf=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/schema"
);

let params = {
    "sf": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/schema'
params = {
  'sf': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/nihil?by=in" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/nihil"
);

let params = {
    "by": "in",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/nihil',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'in',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/customer-invoice/nihil'
params = {
  'by': 'in',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/customer-invoice/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

7. Commerce - User Wallet

User Wallet Register

List User Wallet

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet?p=15&pp=13&sf=15&sv=11&me=ut&ms=veniam&df=deserunt&ds=debitis&de=ut&lf=officia&lat=196167453.562&lng=520.4&rad=172358.323581" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet"
);

let params = {
    "p": "15",
    "pp": "13",
    "sf": "15",
    "sv": "11",
    "me": "ut",
    "ms": "veniam",
    "df": "deserunt",
    "ds": "debitis",
    "de": "ut",
    "lf": "officia",
    "lat": "196167453.562",
    "lng": "520.4",
    "rad": "172358.323581",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '15',
            'pp'=> '13',
            'sf'=> '15',
            'sv'=> '11',
            'me'=> 'ut',
            'ms'=> 'veniam',
            'df'=> 'deserunt',
            'ds'=> 'debitis',
            'de'=> 'ut',
            'lf'=> 'officia',
            'lat'=> '196167453.562',
            'lng'=> '520.4',
            'rad'=> '172358.323581',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet'
params = {
  'p': '15',
  'pp': '13',
  'sf': '15',
  'sv': '11',
  'me': 'ut',
  'ms': 'veniam',
  'df': 'deserunt',
  'ds': 'debitis',
  'de': 'ut',
  'lf': 'officia',
  'lat': '196167453.562',
  'lng': '520.4',
  'rad': '172358.323581',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/user-wallet

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/user-wallet/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/list/magnam/doloribus/qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/list/magnam/doloribus/qui"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/list/magnam/doloribus/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/list/magnam/doloribus/qui'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/user-wallet/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add User Wallet

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/transaction/user-wallet

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/init?by=facilis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/init"
);

let params = {
    "by": "facilis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'facilis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/init'
params = {
  'by': 'facilis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/transaction/user-wallet/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/change-status/quis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"et","changeBy":"eum","changeMode":"qui","changeDate":"est","changeRemarks":"dolor","changeStatusTo":"possimus","changeStatusObject":"eveniet","currentStatus":"molestias","entityType":"labore","entityId":"et"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/change-status/quis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "et",
    "changeBy": "eum",
    "changeMode": "qui",
    "changeDate": "est",
    "changeRemarks": "dolor",
    "changeStatusTo": "possimus",
    "changeStatusObject": "eveniet",
    "currentStatus": "molestias",
    "entityType": "labore",
    "entityId": "et"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/change-status/quis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'et',
            'changeBy' => 'eum',
            'changeMode' => 'qui',
            'changeDate' => 'est',
            'changeRemarks' => 'dolor',
            'changeStatusTo' => 'possimus',
            'changeStatusObject' => 'eveniet',
            'currentStatus' => 'molestias',
            'entityType' => 'labore',
            'entityId' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/change-status/quis'
payload = {
    "changeStatusField": "et",
    "changeBy": "eum",
    "changeMode": "qui",
    "changeDate": "est",
    "changeRemarks": "dolor",
    "changeStatusTo": "possimus",
    "changeStatusObject": "eveniet",
    "currentStatus": "molestias",
    "entityType": "labore",
    "entityId": "et"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/transaction/user-wallet/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update User Wallet

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/et?by=delectus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/et"
);

let params = {
    "by": "delectus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'delectus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/et'
params = {
  'by': 'delectus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/transaction/user-wallet/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/consequatur?by=reprehenderit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/consequatur"
);

let params = {
    "by": "reprehenderit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'reprehenderit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/consequatur'
params = {
  'by': 'reprehenderit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/transaction/user-wallet/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/schema?sf=eum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/schema"
);

let params = {
    "sf": "eum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'eum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/schema'
params = {
  'sf': 'eum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/user-wallet/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/corrupti?by=repellat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/corrupti"
);

let params = {
    "by": "repellat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/corrupti',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'repellat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/user-wallet/corrupti'
params = {
  'by': 'repellat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/user-wallet/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

7. Commerce - Wallet Transaction

Wallet Transaction Log

List Wallet Transaction

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx?p=18&pp=1&sf=10&sv=18&me=labore&ms=aut&df=quis&ds=est&de=perspiciatis&lf=pariatur&lat=545177981.90094&lng=168.793&rad=0.840197219" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx"
);

let params = {
    "p": "18",
    "pp": "1",
    "sf": "10",
    "sv": "18",
    "me": "labore",
    "ms": "aut",
    "df": "quis",
    "ds": "est",
    "de": "perspiciatis",
    "lf": "pariatur",
    "lat": "545177981.90094",
    "lng": "168.793",
    "rad": "0.840197219",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '18',
            'pp'=> '1',
            'sf'=> '10',
            'sv'=> '18',
            'me'=> 'labore',
            'ms'=> 'aut',
            'df'=> 'quis',
            'ds'=> 'est',
            'de'=> 'perspiciatis',
            'lf'=> 'pariatur',
            'lat'=> '545177981.90094',
            'lng'=> '168.793',
            'rad'=> '0.840197219',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx'
params = {
  'p': '18',
  'pp': '1',
  'sf': '10',
  'sv': '18',
  'me': 'labore',
  'ms': 'aut',
  'df': 'quis',
  'ds': 'est',
  'de': 'perspiciatis',
  'lf': 'pariatur',
  'lat': '545177981.90094',
  'lng': '168.793',
  'rad': '0.840197219',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/wallet-trx

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/wallet-trx/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/list/natus/accusamus/impedit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/list/natus/accusamus/impedit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/list/natus/accusamus/impedit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/list/natus/accusamus/impedit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/transaction/wallet-trx/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Wallet Transaction

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/transaction/wallet-trx

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/init?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/init"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/init'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/transaction/wallet-trx/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/change-status/magnam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"qui","changeBy":"vel","changeMode":"non","changeDate":"in","changeRemarks":"iusto","changeStatusTo":"porro","changeStatusObject":"explicabo","currentStatus":"omnis","entityType":"sunt","entityId":"dolorem"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/change-status/magnam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "qui",
    "changeBy": "vel",
    "changeMode": "non",
    "changeDate": "in",
    "changeRemarks": "iusto",
    "changeStatusTo": "porro",
    "changeStatusObject": "explicabo",
    "currentStatus": "omnis",
    "entityType": "sunt",
    "entityId": "dolorem"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/change-status/magnam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'qui',
            'changeBy' => 'vel',
            'changeMode' => 'non',
            'changeDate' => 'in',
            'changeRemarks' => 'iusto',
            'changeStatusTo' => 'porro',
            'changeStatusObject' => 'explicabo',
            'currentStatus' => 'omnis',
            'entityType' => 'sunt',
            'entityId' => 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/change-status/magnam'
payload = {
    "changeStatusField": "qui",
    "changeBy": "vel",
    "changeMode": "non",
    "changeDate": "in",
    "changeRemarks": "iusto",
    "changeStatusTo": "porro",
    "changeStatusObject": "explicabo",
    "currentStatus": "omnis",
    "entityType": "sunt",
    "entityId": "dolorem"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/transaction/wallet-trx/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Wallet Transaction

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/vitae?by=perspiciatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/vitae"
);

let params = {
    "by": "perspiciatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/vitae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'perspiciatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/vitae'
params = {
  'by': 'perspiciatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/transaction/wallet-trx/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/animi?by=expedita" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/animi"
);

let params = {
    "by": "expedita",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/animi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'expedita',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/animi'
params = {
  'by': 'expedita',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/transaction/wallet-trx/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/schema?sf=tenetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/schema"
);

let params = {
    "sf": "tenetur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'tenetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/schema'
params = {
  'sf': 'tenetur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/wallet-trx/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/quidem?by=eos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/quidem"
);

let params = {
    "by": "eos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/quidem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/transaction/wallet-trx/quidem'
params = {
  'by': 'eos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/transaction/wallet-trx/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

DEV - Issue Tracker

Issue Tracker & Bug Fix Manager

List Issue

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue?p=5&pp=4&sf=20&sv=14&me=quas&ms=et&df=quam&ds=qui&de=labore&lf=ea&lat=4.37794&lng=579.204&rad=379.915067842" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue"
);

let params = {
    "p": "5",
    "pp": "4",
    "sf": "20",
    "sv": "14",
    "me": "quas",
    "ms": "et",
    "df": "quam",
    "ds": "qui",
    "de": "labore",
    "lf": "ea",
    "lat": "4.37794",
    "lng": "579.204",
    "rad": "379.915067842",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '5',
            'pp'=> '4',
            'sf'=> '20',
            'sv'=> '14',
            'me'=> 'quas',
            'ms'=> 'et',
            'df'=> 'quam',
            'ds'=> 'qui',
            'de'=> 'labore',
            'lf'=> 'ea',
            'lat'=> '4.37794',
            'lng'=> '579.204',
            'rad'=> '379.915067842',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue'
params = {
  'p': '5',
  'pp': '4',
  'sf': '20',
  'sv': '14',
  'me': 'quas',
  'ms': 'et',
  'df': 'quam',
  'ds': 'qui',
  'de': 'labore',
  'lf': 'ea',
  'lat': '4.37794',
  'lng': '579.204',
  'rad': '379.915067842',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/issue

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Issue

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sys/documentation/issue/options

List Issue with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/list/corporis/corporis/cupiditate" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/list/corporis/corporis/cupiditate"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/list/corporis/corporis/cupiditate',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/list/corporis/corporis/cupiditate'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sys/documentation/issue/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Issue

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sys/documentation/issue

Create INITIAL Issue object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/init"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sys/documentation/issue/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/change-status/quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"unde","changeBy":"libero","changeMode":"eum","changeDate":"quaerat","changeRemarks":"dolor","changeStatusTo":"doloribus","changeStatusObject":"accusamus","currentStatus":"numquam","entityType":"illo","entityId":"et"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/change-status/quos"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "unde",
    "changeBy": "libero",
    "changeMode": "eum",
    "changeDate": "quaerat",
    "changeRemarks": "dolor",
    "changeStatusTo": "doloribus",
    "changeStatusObject": "accusamus",
    "currentStatus": "numquam",
    "entityType": "illo",
    "entityId": "et"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/change-status/quos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'unde',
            'changeBy' => 'libero',
            'changeMode' => 'eum',
            'changeDate' => 'quaerat',
            'changeRemarks' => 'dolor',
            'changeStatusTo' => 'doloribus',
            'changeStatusObject' => 'accusamus',
            'currentStatus' => 'numquam',
            'entityType' => 'illo',
            'entityId' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/change-status/quos'
payload = {
    "changeStatusField": "unde",
    "changeBy": "libero",
    "changeMode": "eum",
    "changeDate": "quaerat",
    "changeRemarks": "dolor",
    "changeStatusTo": "doloribus",
    "changeStatusObject": "accusamus",
    "currentStatus": "numquam",
    "entityType": "illo",
    "entityId": "et"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/sys/documentation/issue/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Issue

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/ut?by=eos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/ut"
);

let params = {
    "by": "eos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/ut'
params = {
  'by': 'eos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/sys/documentation/issue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/quisquam?by=aliquid" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/quisquam"
);

let params = {
    "by": "aliquid",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/quisquam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/quisquam'
params = {
  'by': 'aliquid',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/sys/documentation/issue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/schema?sf=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/schema"
);

let params = {
    "sf": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/schema'
params = {
  'sf': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/issue/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/nihil?by=esse" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/nihil"
);

let params = {
    "by": "esse",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/nihil',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'esse',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/issue/nihil'
params = {
  'by': 'esse',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/issue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

DEV - Use Case Scenario

Use Case scenario

List Step

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation?p=4&pp=12&sf=7&sv=18&me=soluta&ms=eum&df=explicabo&ds=dolorem&de=aut&lf=tempora&lat=3229855&lng=40.07&rad=2" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation"
);

let params = {
    "p": "4",
    "pp": "12",
    "sf": "7",
    "sv": "18",
    "me": "soluta",
    "ms": "eum",
    "df": "explicabo",
    "ds": "dolorem",
    "de": "aut",
    "lf": "tempora",
    "lat": "3229855",
    "lng": "40.07",
    "rad": "2",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '4',
            'pp'=> '12',
            'sf'=> '7',
            'sv'=> '18',
            'me'=> 'soluta',
            'ms'=> 'eum',
            'df'=> 'explicabo',
            'ds'=> 'dolorem',
            'de'=> 'aut',
            'lf'=> 'tempora',
            'lat'=> '3229855',
            'lng'=> '40.07',
            'rad'=> '2',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation'
params = {
  'p': '4',
  'pp': '12',
  'sf': '7',
  'sv': '18',
  'me': 'soluta',
  'ms': 'eum',
  'df': 'explicabo',
  'ds': 'dolorem',
  'de': 'aut',
  'lf': 'tempora',
  'lat': '3229855',
  'lng': '40.07',
  'rad': '2',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Step

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sys/documentation/options

List Step with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/list/quae/molestias/qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/list/quae/molestias/qui"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/list/quae/molestias/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/list/quae/molestias/qui'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sys/documentation/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Step

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sys/documentation

Create INITIAL Step object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/init"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sys/documentation/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/change-status/natus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"magni","changeBy":"quod","changeMode":"alias","changeDate":"quia","changeRemarks":"sunt","changeStatusTo":"quisquam","changeStatusObject":"optio","currentStatus":"molestiae","entityType":"perspiciatis","entityId":"aspernatur"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/change-status/natus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "magni",
    "changeBy": "quod",
    "changeMode": "alias",
    "changeDate": "quia",
    "changeRemarks": "sunt",
    "changeStatusTo": "quisquam",
    "changeStatusObject": "optio",
    "currentStatus": "molestiae",
    "entityType": "perspiciatis",
    "entityId": "aspernatur"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/change-status/natus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'magni',
            'changeBy' => 'quod',
            'changeMode' => 'alias',
            'changeDate' => 'quia',
            'changeRemarks' => 'sunt',
            'changeStatusTo' => 'quisquam',
            'changeStatusObject' => 'optio',
            'currentStatus' => 'molestiae',
            'entityType' => 'perspiciatis',
            'entityId' => 'aspernatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/change-status/natus'
payload = {
    "changeStatusField": "magni",
    "changeBy": "quod",
    "changeMode": "alias",
    "changeDate": "quia",
    "changeRemarks": "sunt",
    "changeStatusTo": "quisquam",
    "changeStatusObject": "optio",
    "currentStatus": "molestiae",
    "entityType": "perspiciatis",
    "entityId": "aspernatur"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/sys/documentation/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Step

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/quas?by=asperiores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/quas"
);

let params = {
    "by": "asperiores",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/quas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'asperiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/quas'
params = {
  'by': 'asperiores',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/sys/documentation/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/culpa?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/culpa"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/culpa',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/culpa'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/sys/documentation/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/schema?sf=dolor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/schema"
);

let params = {
    "sf": "dolor",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'dolor',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/schema'
params = {
  'sf': 'dolor',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/laudantium?by=delectus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/laudantium"
);

let params = {
    "by": "delectus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/laudantium',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'delectus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/laudantium'
params = {
  'by': 'delectus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List Step

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case?p=2&pp=4&sf=9&sv=4&me=ea&ms=ut&df=earum&ds=facere&de=vitae&lf=praesentium&lat=431.2665&lng=3878.2122072&rad=2173.6595297" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case"
);

let params = {
    "p": "2",
    "pp": "4",
    "sf": "9",
    "sv": "4",
    "me": "ea",
    "ms": "ut",
    "df": "earum",
    "ds": "facere",
    "de": "vitae",
    "lf": "praesentium",
    "lat": "431.2665",
    "lng": "3878.2122072",
    "rad": "2173.6595297",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '2',
            'pp'=> '4',
            'sf'=> '9',
            'sv'=> '4',
            'me'=> 'ea',
            'ms'=> 'ut',
            'df'=> 'earum',
            'ds'=> 'facere',
            'de'=> 'vitae',
            'lf'=> 'praesentium',
            'lat'=> '431.2665',
            'lng'=> '3878.2122072',
            'rad'=> '2173.6595297',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case'
params = {
  'p': '2',
  'pp': '4',
  'sf': '9',
  'sv': '4',
  'me': 'ea',
  'ms': 'ut',
  'df': 'earum',
  'ds': 'facere',
  'de': 'vitae',
  'lf': 'praesentium',
  'lat': '431.2665',
  'lng': '3878.2122072',
  'rad': '2173.6595297',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/use-case

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Step

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sys/documentation/use-case/options

List Step with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/list/libero/maxime/amet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/list/libero/maxime/amet"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/list/libero/maxime/amet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/list/libero/maxime/amet'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sys/documentation/use-case/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Step

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sys/documentation/use-case

Create INITIAL Step object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/init"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sys/documentation/use-case/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/change-status/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aspernatur","changeBy":"temporibus","changeMode":"id","changeDate":"qui","changeRemarks":"sed","changeStatusTo":"illo","changeStatusObject":"harum","currentStatus":"illo","entityType":"et","entityId":"facere"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/change-status/ut"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "aspernatur",
    "changeBy": "temporibus",
    "changeMode": "id",
    "changeDate": "qui",
    "changeRemarks": "sed",
    "changeStatusTo": "illo",
    "changeStatusObject": "harum",
    "currentStatus": "illo",
    "entityType": "et",
    "entityId": "facere"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/change-status/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aspernatur',
            'changeBy' => 'temporibus',
            'changeMode' => 'id',
            'changeDate' => 'qui',
            'changeRemarks' => 'sed',
            'changeStatusTo' => 'illo',
            'changeStatusObject' => 'harum',
            'currentStatus' => 'illo',
            'entityType' => 'et',
            'entityId' => 'facere',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/change-status/ut'
payload = {
    "changeStatusField": "aspernatur",
    "changeBy": "temporibus",
    "changeMode": "id",
    "changeDate": "qui",
    "changeRemarks": "sed",
    "changeStatusTo": "illo",
    "changeStatusObject": "harum",
    "currentStatus": "illo",
    "entityType": "et",
    "entityId": "facere"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/sys/documentation/use-case/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Step

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/in?by=enim" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/in"
);

let params = {
    "by": "enim",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/in',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'enim',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/in'
params = {
  'by': 'enim',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/sys/documentation/use-case/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/aperiam?by=dignissimos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/aperiam"
);

let params = {
    "by": "dignissimos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/aperiam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dignissimos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/aperiam'
params = {
  'by': 'dignissimos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/sys/documentation/use-case/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/schema?sf=veritatis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/schema"
);

let params = {
    "sf": "veritatis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'veritatis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/schema'
params = {
  'sf': 'veritatis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/use-case/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/adipisci?by=commodi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/adipisci"
);

let params = {
    "by": "commodi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/adipisci',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'commodi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sys/documentation/use-case/adipisci'
params = {
  'by': 'commodi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sys/documentation/use-case/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Installed Product

Produk terinstal di lokasi Customer

List Installed Product

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product?p=16&pp=15&sf=14&sv=11&me=beatae&ms=consectetur&df=rem&ds=et&de=dolor&lf=ut&lat=7613729.1679964&lng=47.432036&rad=0.3" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product"
);

let params = {
    "p": "16",
    "pp": "15",
    "sf": "14",
    "sv": "11",
    "me": "beatae",
    "ms": "consectetur",
    "df": "rem",
    "ds": "et",
    "de": "dolor",
    "lf": "ut",
    "lat": "7613729.1679964",
    "lng": "47.432036",
    "rad": "0.3",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '15',
            'sf'=> '14',
            'sv'=> '11',
            'me'=> 'beatae',
            'ms'=> 'consectetur',
            'df'=> 'rem',
            'ds'=> 'et',
            'de'=> 'dolor',
            'lf'=> 'ut',
            'lat'=> '7613729.1679964',
            'lng'=> '47.432036',
            'rad'=> '0.3',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product'
params = {
  'p': '16',
  'pp': '15',
  'sf': '14',
  'sv': '11',
  'me': 'beatae',
  'ms': 'consectetur',
  'df': 'rem',
  'ds': 'et',
  'de': 'dolor',
  'lf': 'ut',
  'lat': '7613729.1679964',
  'lng': '47.432036',
  'rad': '0.3',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installed-product

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option Installed Product

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installed-product/options

List Installed Product with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/list/possimus/eaque/voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/list/possimus/eaque/voluptas"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/list/possimus/eaque/voluptas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/list/possimus/eaque/voluptas'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installed-product/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Installed Product

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/installation/installed-product

Create INITIAL Installed Product object

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/init" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/init"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/init'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/installation/installed-product/init

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/change-status/ad" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"nesciunt","changeBy":"non","changeMode":"culpa","changeDate":"iure","changeRemarks":"numquam","changeStatusTo":"dolore","changeStatusObject":"officia","currentStatus":"ad","entityType":"rem","entityId":"necessitatibus"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/change-status/ad"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "nesciunt",
    "changeBy": "non",
    "changeMode": "culpa",
    "changeDate": "iure",
    "changeRemarks": "numquam",
    "changeStatusTo": "dolore",
    "changeStatusObject": "officia",
    "currentStatus": "ad",
    "entityType": "rem",
    "entityId": "necessitatibus"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/change-status/ad',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'nesciunt',
            'changeBy' => 'non',
            'changeMode' => 'culpa',
            'changeDate' => 'iure',
            'changeRemarks' => 'numquam',
            'changeStatusTo' => 'dolore',
            'changeStatusObject' => 'officia',
            'currentStatus' => 'ad',
            'entityType' => 'rem',
            'entityId' => 'necessitatibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/change-status/ad'
payload = {
    "changeStatusField": "nesciunt",
    "changeBy": "non",
    "changeMode": "culpa",
    "changeDate": "iure",
    "changeRemarks": "numquam",
    "changeStatusTo": "dolore",
    "changeStatusObject": "officia",
    "currentStatus": "ad",
    "entityType": "rem",
    "entityId": "necessitatibus"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/installation/installed-product/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Installed Product

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/unde?by=error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/unde"
);

let params = {
    "by": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/unde',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'error',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/unde'
params = {
  'by': 'error',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/installation/installed-product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/atque?by=quis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/atque"
);

let params = {
    "by": "quis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/atque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/atque'
params = {
  'by': 'quis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/installation/installed-product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/schema?sf=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/schema"
);

let params = {
    "sf": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/schema'
params = {
  'sf': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installed-product/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/voluptatibus?by=quisquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/voluptatibus"
);

let params = {
    "by": "quisquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/voluptatibus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/installation/installed-product/voluptatibus'
params = {
  'by': 'quisquam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/installation/installed-product/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

PO - Distributor Order

api/v1/mobile/view/pengiriman-po/{id}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/view/pengiriman-po/neque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/view/pengiriman-po/neque"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/view/pengiriman-po/neque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/view/pengiriman-po/neque'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/view/pengiriman-po/{id}

URL Parameters

id  string  

api/v1/mobile/my-order/diterima/{id}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-order/diterima/quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/diterima/quia"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/diterima/quia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/diterima/quia'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/my-order/diterima/{id}

URL Parameters

id  string  

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-order?p=12&pp=13&sf=13&sv=9&me=aut&ms=consequatur&df=nihil&ds=culpa&de=corrupti&lf=enim&lat=52827.36&lng=16056.29632124&rad=1.7176" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order"
);

let params = {
    "p": "12",
    "pp": "13",
    "sf": "13",
    "sv": "9",
    "me": "aut",
    "ms": "consequatur",
    "df": "nihil",
    "ds": "culpa",
    "de": "corrupti",
    "lf": "enim",
    "lat": "52827.36",
    "lng": "16056.29632124",
    "rad": "1.7176",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '12',
            'pp'=> '13',
            'sf'=> '13',
            'sv'=> '9',
            'me'=> 'aut',
            'ms'=> 'consequatur',
            'df'=> 'nihil',
            'ds'=> 'culpa',
            'de'=> 'corrupti',
            'lf'=> 'enim',
            'lat'=> '52827.36',
            'lng'=> '16056.29632124',
            'rad'=> '1.7176',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order'
params = {
  'p': '12',
  'pp': '13',
  'sf': '13',
  'sv': '9',
  'me': 'aut',
  'ms': 'consequatur',
  'df': 'nihil',
  'ds': 'culpa',
  'de': 'corrupti',
  'lf': 'enim',
  'lat': '52827.36',
  'lng': '16056.29632124',
  'rad': '1.7176',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/my-order

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-order/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/my-order/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-order/list/ut/aut/dolor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/list/ut/aut/dolor"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/list/ut/aut/dolor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/list/ut/aut/dolor'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/my-order/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order?app=voluptatum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order"
);

let params = {
    "app": "voluptatum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'voluptatum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order'
params = {
  'app': 'voluptatum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/my-order

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/init?by=libero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/init"
);

let params = {
    "by": "libero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'libero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/init'
params = {
  'by': 'libero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/my-order/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/change-status/soluta" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"consequatur","changeBy":"quaerat","changeMode":"nihil","changeDate":"tenetur","changeRemarks":"a","changeStatusTo":"et","changeStatusObject":"est","currentStatus":"amet","entityType":"rerum","entityId":"est"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/change-status/soluta"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "consequatur",
    "changeBy": "quaerat",
    "changeMode": "nihil",
    "changeDate": "tenetur",
    "changeRemarks": "a",
    "changeStatusTo": "et",
    "changeStatusObject": "est",
    "currentStatus": "amet",
    "entityType": "rerum",
    "entityId": "est"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/change-status/soluta',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'consequatur',
            'changeBy' => 'quaerat',
            'changeMode' => 'nihil',
            'changeDate' => 'tenetur',
            'changeRemarks' => 'a',
            'changeStatusTo' => 'et',
            'changeStatusObject' => 'est',
            'currentStatus' => 'amet',
            'entityType' => 'rerum',
            'entityId' => 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/change-status/soluta'
payload = {
    "changeStatusField": "consequatur",
    "changeBy": "quaerat",
    "changeMode": "nihil",
    "changeDate": "tenetur",
    "changeRemarks": "a",
    "changeStatusTo": "et",
    "changeStatusObject": "est",
    "currentStatus": "amet",
    "entityType": "rerum",
    "entityId": "est"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/my-order/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/porro?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/porro"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/porro',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/porro'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/my-order/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/quibusdam?by=commodi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/quibusdam"
);

let params = {
    "by": "commodi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/quibusdam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'commodi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/quibusdam'
params = {
  'by': 'commodi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/my-order/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-order/schema?sf=provident" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/schema"
);

let params = {
    "sf": "provident",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'provident',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/schema'
params = {
  'sf': 'provident',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/my-order/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/my-order/asperiores?by=nobis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/my-order/asperiores"
);

let params = {
    "by": "nobis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/my-order/asperiores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nobis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/my-order/asperiores'
params = {
  'by': 'nobis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/my-order/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

PO - Distributor Payment

Warranty Register for activated warranty by customer after delivery & installation

api/v1/mobile/faktur/{id}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/faktur/sit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/faktur/sit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/faktur/sit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/faktur/sit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/faktur/{id}

URL Parameters

id  string  

api/v1/mobile/summary-payment

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/summary-payment" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/summary-payment"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/summary-payment',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/summary-payment'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/summary-payment

api/v1/mobile/proceed-order

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/proceed-order" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/proceed-order"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/proceed-order',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/proceed-order'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/proceed-order

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment?p=3&pp=3&sf=6&sv=20&me=earum&ms=maxime&df=voluptas&ds=possimus&de=voluptates&lf=autem&lat=978.9&lng=313711684.5&rad=5216.008622466" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment"
);

let params = {
    "p": "3",
    "pp": "3",
    "sf": "6",
    "sv": "20",
    "me": "earum",
    "ms": "maxime",
    "df": "voluptas",
    "ds": "possimus",
    "de": "voluptates",
    "lf": "autem",
    "lat": "978.9",
    "lng": "313711684.5",
    "rad": "5216.008622466",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '3',
            'sf'=> '6',
            'sv'=> '20',
            'me'=> 'earum',
            'ms'=> 'maxime',
            'df'=> 'voluptas',
            'ds'=> 'possimus',
            'de'=> 'voluptates',
            'lf'=> 'autem',
            'lat'=> '978.9',
            'lng'=> '313711684.5',
            'rad'=> '5216.008622466',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment'
params = {
  'p': '3',
  'pp': '3',
  'sf': '6',
  'sv': '20',
  'me': 'earum',
  'ms': 'maxime',
  'df': 'voluptas',
  'ds': 'possimus',
  'de': 'voluptates',
  'lf': 'autem',
  'lat': '978.9',
  'lng': '313711684.5',
  'rad': '5216.008622466',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/payment

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/payment/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment/list/ut/dignissimos/animi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/list/ut/dignissimos/animi"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/list/ut/dignissimos/animi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/list/ut/dignissimos/animi'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/payment/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment?app=soluta" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment"
);

let params = {
    "app": "soluta",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'soluta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment'
params = {
  'app': 'soluta',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/payment

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/init?by=non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/init"
);

let params = {
    "by": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'non',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/init'
params = {
  'by': 'non',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/payment/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/change-status/dolor" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"omnis","changeBy":"omnis","changeMode":"deserunt","changeDate":"velit","changeRemarks":"iste","changeStatusTo":"nostrum","changeStatusObject":"modi","currentStatus":"qui","entityType":"voluptatem","entityId":"adipisci"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/change-status/dolor"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "omnis",
    "changeBy": "omnis",
    "changeMode": "deserunt",
    "changeDate": "velit",
    "changeRemarks": "iste",
    "changeStatusTo": "nostrum",
    "changeStatusObject": "modi",
    "currentStatus": "qui",
    "entityType": "voluptatem",
    "entityId": "adipisci"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/change-status/dolor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'omnis',
            'changeBy' => 'omnis',
            'changeMode' => 'deserunt',
            'changeDate' => 'velit',
            'changeRemarks' => 'iste',
            'changeStatusTo' => 'nostrum',
            'changeStatusObject' => 'modi',
            'currentStatus' => 'qui',
            'entityType' => 'voluptatem',
            'entityId' => 'adipisci',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/change-status/dolor'
payload = {
    "changeStatusField": "omnis",
    "changeBy": "omnis",
    "changeMode": "deserunt",
    "changeDate": "velit",
    "changeRemarks": "iste",
    "changeStatusTo": "nostrum",
    "changeStatusObject": "modi",
    "currentStatus": "qui",
    "entityType": "voluptatem",
    "entityId": "adipisci"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/payment/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/illo?by=reprehenderit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/illo"
);

let params = {
    "by": "reprehenderit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/illo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'reprehenderit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/illo'
params = {
  'by': 'reprehenderit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/payment/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/maiores?by=nobis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/maiores"
);

let params = {
    "by": "nobis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/maiores',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nobis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/maiores'
params = {
  'by': 'nobis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/payment/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment/schema?sf=beatae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/schema"
);

let params = {
    "sf": "beatae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'beatae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/schema'
params = {
  'sf': 'beatae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/payment/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/payment/repellat?by=est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/payment/repellat"
);

let params = {
    "by": "est",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/payment/repellat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'est',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/payment/repellat'
params = {
  'by': 'est',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/payment/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

PO - Distributor Shopping Cart

Persistent holder of Distributor Shopping Cart

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/consequuntur?by=aliquid" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/consequuntur"
);

let params = {
    "by": "aliquid",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/consequuntur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/consequuntur'
params = {
  'by': 'aliquid',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/shoppingcart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart?p=14&pp=8&sf=9&sv=11&me=sunt&ms=consectetur&df=aut&ds=voluptas&de=molestiae&lf=earum&lat=360.6878133&lng=689.8447939&rad=17747.73826695" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart"
);

let params = {
    "p": "14",
    "pp": "8",
    "sf": "9",
    "sv": "11",
    "me": "sunt",
    "ms": "consectetur",
    "df": "aut",
    "ds": "voluptas",
    "de": "molestiae",
    "lf": "earum",
    "lat": "360.6878133",
    "lng": "689.8447939",
    "rad": "17747.73826695",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '8',
            'sf'=> '9',
            'sv'=> '11',
            'me'=> 'sunt',
            'ms'=> 'consectetur',
            'df'=> 'aut',
            'ds'=> 'voluptas',
            'de'=> 'molestiae',
            'lf'=> 'earum',
            'lat'=> '360.6878133',
            'lng'=> '689.8447939',
            'rad'=> '17747.73826695',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart'
params = {
  'p': '14',
  'pp': '8',
  'sf': '9',
  'sv': '11',
  'me': 'sunt',
  'ms': 'consectetur',
  'df': 'aut',
  'ds': 'voluptas',
  'de': 'molestiae',
  'lf': 'earum',
  'lat': '360.6878133',
  'lng': '689.8447939',
  'rad': '17747.73826695',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/shoppingcart

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/shoppingcart/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/list/error/odit/aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/list/error/odit/aut"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/list/error/odit/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/list/error/odit/aut'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/shoppingcart/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart?app=error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart"
);

let params = {
    "app": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'error',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart'
params = {
  'app': 'error',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/shoppingcart

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/init?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/init"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/init'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/shoppingcart/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/change-status/dolore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"doloribus","changeBy":"voluptas","changeMode":"debitis","changeDate":"corrupti","changeRemarks":"eos","changeStatusTo":"repellendus","changeStatusObject":"aut","currentStatus":"recusandae","entityType":"ut","entityId":"provident"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/change-status/dolore"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "doloribus",
    "changeBy": "voluptas",
    "changeMode": "debitis",
    "changeDate": "corrupti",
    "changeRemarks": "eos",
    "changeStatusTo": "repellendus",
    "changeStatusObject": "aut",
    "currentStatus": "recusandae",
    "entityType": "ut",
    "entityId": "provident"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/change-status/dolore',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'doloribus',
            'changeBy' => 'voluptas',
            'changeMode' => 'debitis',
            'changeDate' => 'corrupti',
            'changeRemarks' => 'eos',
            'changeStatusTo' => 'repellendus',
            'changeStatusObject' => 'aut',
            'currentStatus' => 'recusandae',
            'entityType' => 'ut',
            'entityId' => 'provident',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/change-status/dolore'
payload = {
    "changeStatusField": "doloribus",
    "changeBy": "voluptas",
    "changeMode": "debitis",
    "changeDate": "corrupti",
    "changeRemarks": "eos",
    "changeStatusTo": "repellendus",
    "changeStatusObject": "aut",
    "currentStatus": "recusandae",
    "entityType": "ut",
    "entityId": "provident"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/shoppingcart/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/non?by=non" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/non"
);

let params = {
    "by": "non",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/non',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'non',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/non'
params = {
  'by': 'non',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/shoppingcart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/schema?sf=praesentium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/schema"
);

let params = {
    "sf": "praesentium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'praesentium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/schema'
params = {
  'sf': 'praesentium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/shoppingcart/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/et?by=culpa" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/et"
);

let params = {
    "by": "culpa",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'culpa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/shoppingcart/et'
params = {
  'by': 'culpa',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/shoppingcart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

PO - Distributor Wish List

Persistent holder of Distributor Wish List

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/tenetur?by=ipsam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/tenetur"
);

let params = {
    "by": "ipsam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/tenetur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ipsam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/tenetur'
params = {
  'by': 'ipsam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/wishlist-cart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart?p=19&pp=12&sf=10&sv=4&me=et&ms=commodi&df=velit&ds=quas&de=nihil&lf=nihil&lat=7577.995&lng=2&rad=1361987" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart"
);

let params = {
    "p": "19",
    "pp": "12",
    "sf": "10",
    "sv": "4",
    "me": "et",
    "ms": "commodi",
    "df": "velit",
    "ds": "quas",
    "de": "nihil",
    "lf": "nihil",
    "lat": "7577.995",
    "lng": "2",
    "rad": "1361987",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '19',
            'pp'=> '12',
            'sf'=> '10',
            'sv'=> '4',
            'me'=> 'et',
            'ms'=> 'commodi',
            'df'=> 'velit',
            'ds'=> 'quas',
            'de'=> 'nihil',
            'lf'=> 'nihil',
            'lat'=> '7577.995',
            'lng'=> '2',
            'rad'=> '1361987',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart'
params = {
  'p': '19',
  'pp': '12',
  'sf': '10',
  'sv': '4',
  'me': 'et',
  'ms': 'commodi',
  'df': 'velit',
  'ds': 'quas',
  'de': 'nihil',
  'lf': 'nihil',
  'lat': '7577.995',
  'lng': '2',
  'rad': '1361987',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/wishlist-cart

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/wishlist-cart/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/list/est/animi/rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/list/est/animi/rerum"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/list/est/animi/rerum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/list/est/animi/rerum'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/wishlist-cart/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart?app=debitis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart"
);

let params = {
    "app": "debitis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'debitis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart'
params = {
  'app': 'debitis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/wishlist-cart

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/init?by=autem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/init"
);

let params = {
    "by": "autem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'autem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/init'
params = {
  'by': 'autem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/wishlist-cart/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/change-status/laudantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"optio","changeBy":"aut","changeMode":"unde","changeDate":"rem","changeRemarks":"officiis","changeStatusTo":"voluptas","changeStatusObject":"sunt","currentStatus":"sequi","entityType":"nihil","entityId":"suscipit"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/change-status/laudantium"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "optio",
    "changeBy": "aut",
    "changeMode": "unde",
    "changeDate": "rem",
    "changeRemarks": "officiis",
    "changeStatusTo": "voluptas",
    "changeStatusObject": "sunt",
    "currentStatus": "sequi",
    "entityType": "nihil",
    "entityId": "suscipit"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/change-status/laudantium',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'optio',
            'changeBy' => 'aut',
            'changeMode' => 'unde',
            'changeDate' => 'rem',
            'changeRemarks' => 'officiis',
            'changeStatusTo' => 'voluptas',
            'changeStatusObject' => 'sunt',
            'currentStatus' => 'sequi',
            'entityType' => 'nihil',
            'entityId' => 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/change-status/laudantium'
payload = {
    "changeStatusField": "optio",
    "changeBy": "aut",
    "changeMode": "unde",
    "changeDate": "rem",
    "changeRemarks": "officiis",
    "changeStatusTo": "voluptas",
    "changeStatusObject": "sunt",
    "currentStatus": "sequi",
    "entityType": "nihil",
    "entityId": "suscipit"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/wishlist-cart/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/eveniet?by=sint" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/eveniet"
);

let params = {
    "by": "sint",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/eveniet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/eveniet'
params = {
  'by': 'sint',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/wishlist-cart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/schema?sf=expedita" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/schema"
);

let params = {
    "sf": "expedita",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'expedita',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/schema'
params = {
  'sf': 'expedita',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/wishlist-cart/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/vel?by=pariatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/vel"
);

let params = {
    "by": "pariatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/vel',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'pariatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/wishlist-cart/vel'
params = {
  'by': 'pariatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/wishlist-cart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

PO - Etalase Produk

api/v1/mobile/dashboard

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/dashboard" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/dashboard"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/dashboard',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/dashboard'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/dashboard

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/etalase?p=16&pp=14&sf=5&sv=15&me=totam&ms=reprehenderit&df=labore&ds=in&de=nobis&lf=architecto&lat=51232565.372018&lng=667.425237&rad=576279613.111" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase"
);

let params = {
    "p": "16",
    "pp": "14",
    "sf": "5",
    "sv": "15",
    "me": "totam",
    "ms": "reprehenderit",
    "df": "labore",
    "ds": "in",
    "de": "nobis",
    "lf": "architecto",
    "lat": "51232565.372018",
    "lng": "667.425237",
    "rad": "576279613.111",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '14',
            'sf'=> '5',
            'sv'=> '15',
            'me'=> 'totam',
            'ms'=> 'reprehenderit',
            'df'=> 'labore',
            'ds'=> 'in',
            'de'=> 'nobis',
            'lf'=> 'architecto',
            'lat'=> '51232565.372018',
            'lng'=> '667.425237',
            'rad'=> '576279613.111',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase'
params = {
  'p': '16',
  'pp': '14',
  'sf': '5',
  'sv': '15',
  'me': 'totam',
  'ms': 'reprehenderit',
  'df': 'labore',
  'ds': 'in',
  'de': 'nobis',
  'lf': 'architecto',
  'lat': '51232565.372018',
  'lng': '667.425237',
  'rad': '576279613.111',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/etalase

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/etalase/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/etalase/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/etalase/list/inventore/consequatur/aliquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/list/inventore/consequatur/aliquam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/list/inventore/consequatur/aliquam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/list/inventore/consequatur/aliquam'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/etalase/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase?app=quo" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase"
);

let params = {
    "app": "quo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'quo',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase'
params = {
  'app': 'quo',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/etalase

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/init?by=cupiditate" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/init"
);

let params = {
    "by": "cupiditate",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'cupiditate',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/init'
params = {
  'by': 'cupiditate',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/etalase/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/change-status/nulla" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"tenetur","changeBy":"dolores","changeMode":"cupiditate","changeDate":"rerum","changeRemarks":"autem","changeStatusTo":"atque","changeStatusObject":"alias","currentStatus":"ullam","entityType":"vitae","entityId":"sed"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/change-status/nulla"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "tenetur",
    "changeBy": "dolores",
    "changeMode": "cupiditate",
    "changeDate": "rerum",
    "changeRemarks": "autem",
    "changeStatusTo": "atque",
    "changeStatusObject": "alias",
    "currentStatus": "ullam",
    "entityType": "vitae",
    "entityId": "sed"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/change-status/nulla',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'tenetur',
            'changeBy' => 'dolores',
            'changeMode' => 'cupiditate',
            'changeDate' => 'rerum',
            'changeRemarks' => 'autem',
            'changeStatusTo' => 'atque',
            'changeStatusObject' => 'alias',
            'currentStatus' => 'ullam',
            'entityType' => 'vitae',
            'entityId' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/change-status/nulla'
payload = {
    "changeStatusField": "tenetur",
    "changeBy": "dolores",
    "changeMode": "cupiditate",
    "changeDate": "rerum",
    "changeRemarks": "autem",
    "changeStatusTo": "atque",
    "changeStatusObject": "alias",
    "currentStatus": "ullam",
    "entityType": "vitae",
    "entityId": "sed"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/etalase/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/voluptas?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/voluptas"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/voluptas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/voluptas'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/etalase/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/explicabo?by=voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/explicabo"
);

let params = {
    "by": "voluptates",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/explicabo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptates',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/explicabo'
params = {
  'by': 'voluptates',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/etalase/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/etalase/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/etalase/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/etalase/molestias?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/etalase/molestias"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/etalase/molestias',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/etalase/molestias'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/etalase/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

PPj - Service Request

{{docGroupDescr}}

List Service Request

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request?p=3&pp=8&sf=5&sv=6&me=natus&ms=ut&df=deserunt&ds=quo&de=vel&lf=eum&lat=5321852.59&lng=3.52935&rad=353810469.812" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request"
);

let params = {
    "p": "3",
    "pp": "8",
    "sf": "5",
    "sv": "6",
    "me": "natus",
    "ms": "ut",
    "df": "deserunt",
    "ds": "quo",
    "de": "vel",
    "lf": "eum",
    "lat": "5321852.59",
    "lng": "3.52935",
    "rad": "353810469.812",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '8',
            'sf'=> '5',
            'sv'=> '6',
            'me'=> 'natus',
            'ms'=> 'ut',
            'df'=> 'deserunt',
            'ds'=> 'quo',
            'de'=> 'vel',
            'lf'=> 'eum',
            'lat'=> '5321852.59',
            'lng'=> '3.52935',
            'rad'=> '353810469.812',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request'
params = {
  'p': '3',
  'pp': '8',
  'sf': '5',
  'sv': '6',
  'me': 'natus',
  'ms': 'ut',
  'df': 'deserunt',
  'ds': 'quo',
  'de': 'vel',
  'lf': 'eum',
  'lat': '5321852.59',
  'lng': '3.52935',
  'rad': '353810469.812',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/list/cupiditate/maxime/nobis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/list/cupiditate/maxime/nobis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/list/cupiditate/maxime/nobis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/list/cupiditate/maxime/nobis'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Request

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-request

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/init?by=occaecati" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/init"
);

let params = {
    "by": "occaecati",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'occaecati',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/init'
params = {
  'by': 'occaecati',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-request/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/change-status/magni" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"rem","changeBy":"incidunt","changeMode":"et","changeDate":"id","changeRemarks":"consequatur","changeStatusTo":"est","changeStatusObject":"aut","currentStatus":"dolores","entityType":"assumenda","entityId":"quae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/change-status/magni"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "rem",
    "changeBy": "incidunt",
    "changeMode": "et",
    "changeDate": "id",
    "changeRemarks": "consequatur",
    "changeStatusTo": "est",
    "changeStatusObject": "aut",
    "currentStatus": "dolores",
    "entityType": "assumenda",
    "entityId": "quae"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/change-status/magni',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'rem',
            'changeBy' => 'incidunt',
            'changeMode' => 'et',
            'changeDate' => 'id',
            'changeRemarks' => 'consequatur',
            'changeStatusTo' => 'est',
            'changeStatusObject' => 'aut',
            'currentStatus' => 'dolores',
            'entityType' => 'assumenda',
            'entityId' => 'quae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/change-status/magni'
payload = {
    "changeStatusField": "rem",
    "changeBy": "incidunt",
    "changeMode": "et",
    "changeDate": "id",
    "changeRemarks": "consequatur",
    "changeStatusTo": "est",
    "changeStatusObject": "aut",
    "currentStatus": "dolores",
    "entityType": "assumenda",
    "entityId": "quae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-request/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Request

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/ipsam?by=repellendus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/ipsam"
);

let params = {
    "by": "repellendus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/ipsam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'repellendus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/ipsam'
params = {
  'by': 'repellendus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-request/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/et?by=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/et"
);

let params = {
    "by": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/et'
params = {
  'by': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-request/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/schema?sf=dicta" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/schema"
);

let params = {
    "sf": "dicta",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'dicta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/schema'
params = {
  'sf': 'dicta',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/voluptate?by=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/voluptate"
);

let params = {
    "by": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/voluptate',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/voluptate'
params = {
  'by': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-request/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Change Maintainer

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/maintainer/change/quasi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"actorId":"nesciunt","actorName":"ab"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/maintainer/change/quasi"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "actorId": "nesciunt",
    "actorName": "ab"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/maintainer/change/quasi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'actorId' => 'nesciunt',
            'actorName' => 'ab',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-request/maintainer/change/quasi'
payload = {
    "actorId": "nesciunt",
    "actorName": "ab"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-request/maintainer/change/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Body Parameters

actorId  string  
_id maintainer

actorName  string  
Nama maintainer {{docUpdateParams}}

PPj - Service Tracking Log

Service Tracking Log

List Service Tracking Log

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log?p=18&pp=6&sf=4&sv=15&me=et&ms=non&df=iure&ds=totam&de=eum&lf=esse&lat=60.8922&lng=365.3652624&rad=422493.161416" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log"
);

let params = {
    "p": "18",
    "pp": "6",
    "sf": "4",
    "sv": "15",
    "me": "et",
    "ms": "non",
    "df": "iure",
    "ds": "totam",
    "de": "eum",
    "lf": "esse",
    "lat": "60.8922",
    "lng": "365.3652624",
    "rad": "422493.161416",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '18',
            'pp'=> '6',
            'sf'=> '4',
            'sv'=> '15',
            'me'=> 'et',
            'ms'=> 'non',
            'df'=> 'iure',
            'ds'=> 'totam',
            'de'=> 'eum',
            'lf'=> 'esse',
            'lat'=> '60.8922',
            'lng'=> '365.3652624',
            'rad'=> '422493.161416',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log'
params = {
  'p': '18',
  'pp': '6',
  'sf': '4',
  'sv': '15',
  'me': 'et',
  'ms': 'non',
  'df': 'iure',
  'ds': 'totam',
  'de': 'eum',
  'lf': 'esse',
  'lat': '60.8922',
  'lng': '365.3652624',
  'rad': '422493.161416',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-tracking-log

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-tracking-log/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/list/illo/aut/velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/list/illo/aut/velit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/list/illo/aut/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/list/illo/aut/velit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-tracking-log/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Service Tracking Log

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-tracking-log

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/init?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/init"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/init'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/ppj/service/service-tracking-log/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/change-status/aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"modi","changeBy":"ratione","changeMode":"laboriosam","changeDate":"id","changeRemarks":"recusandae","changeStatusTo":"delectus","changeStatusObject":"architecto","currentStatus":"eligendi","entityType":"est","entityId":"fuga"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/change-status/aut"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "modi",
    "changeBy": "ratione",
    "changeMode": "laboriosam",
    "changeDate": "id",
    "changeRemarks": "recusandae",
    "changeStatusTo": "delectus",
    "changeStatusObject": "architecto",
    "currentStatus": "eligendi",
    "entityType": "est",
    "entityId": "fuga"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/change-status/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'modi',
            'changeBy' => 'ratione',
            'changeMode' => 'laboriosam',
            'changeDate' => 'id',
            'changeRemarks' => 'recusandae',
            'changeStatusTo' => 'delectus',
            'changeStatusObject' => 'architecto',
            'currentStatus' => 'eligendi',
            'entityType' => 'est',
            'entityId' => 'fuga',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/change-status/aut'
payload = {
    "changeStatusField": "modi",
    "changeBy": "ratione",
    "changeMode": "laboriosam",
    "changeDate": "id",
    "changeRemarks": "recusandae",
    "changeStatusTo": "delectus",
    "changeStatusObject": "architecto",
    "currentStatus": "eligendi",
    "entityType": "est",
    "entityId": "fuga"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-tracking-log/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Service Tracking Log

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/laborum?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/laborum"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/laborum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/laborum'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/ppj/service/service-tracking-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/dolor?by=assumenda" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/dolor"
);

let params = {
    "by": "assumenda",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/dolor',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'assumenda',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/dolor'
params = {
  'by': 'assumenda',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/ppj/service/service-tracking-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/schema?sf=ducimus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/schema"
);

let params = {
    "sf": "ducimus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/schema'
params = {
  'sf': 'ducimus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-tracking-log/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/maxime?by=ex" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/maxime"
);

let params = {
    "by": "ex",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/maxime',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ex',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/ppj/service/service-tracking-log/maxime'
params = {
  'by': 'ex',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/ppj/service/service-tracking-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

SMS - Map Set

Db Mapping for SMS MTO Workbook

List Map Set

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set?p=18&pp=14&sf=1&sv=17&me=quis&ms=asperiores&df=possimus&ds=in&de=ad&lf=necessitatibus&lat=77406.060307159&lng=6.478&rad=1130809.3676837" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set"
);

let params = {
    "p": "18",
    "pp": "14",
    "sf": "1",
    "sv": "17",
    "me": "quis",
    "ms": "asperiores",
    "df": "possimus",
    "ds": "in",
    "de": "ad",
    "lf": "necessitatibus",
    "lat": "77406.060307159",
    "lng": "6.478",
    "rad": "1130809.3676837",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '18',
            'pp'=> '14',
            'sf'=> '1',
            'sv'=> '17',
            'me'=> 'quis',
            'ms'=> 'asperiores',
            'df'=> 'possimus',
            'ds'=> 'in',
            'de'=> 'ad',
            'lf'=> 'necessitatibus',
            'lat'=> '77406.060307159',
            'lng'=> '6.478',
            'rad'=> '1130809.3676837',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set'
params = {
  'p': '18',
  'pp': '14',
  'sf': '1',
  'sv': '17',
  'me': 'quis',
  'ms': 'asperiores',
  'df': 'possimus',
  'ds': 'in',
  'de': 'ad',
  'lf': 'necessitatibus',
  'lat': '77406.060307159',
  'lng': '6.478',
  'rad': '1130809.3676837',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sms/workbook/setup/map-set

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sms/workbook/setup/map-set/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/list/suscipit/natus/repellendus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/list/suscipit/natus/repellendus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/list/suscipit/natus/repellendus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/list/suscipit/natus/repellendus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/sms/workbook/setup/map-set/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add Map Set

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers)
response.json()

Request      

POST api/v1/mobile/sms/workbook/setup/map-set

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/init?by=consequuntur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/init"
);

let params = {
    "by": "consequuntur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequuntur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/init'
params = {
  'by': 'consequuntur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/sms/workbook/setup/map-set/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/change-status/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"sit","changeBy":"rerum","changeMode":"mollitia","changeDate":"officia","changeRemarks":"est","changeStatusTo":"maxime","changeStatusObject":"praesentium","currentStatus":"quam","entityType":"consectetur","entityId":"ipsum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/change-status/et"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "sit",
    "changeBy": "rerum",
    "changeMode": "mollitia",
    "changeDate": "officia",
    "changeRemarks": "est",
    "changeStatusTo": "maxime",
    "changeStatusObject": "praesentium",
    "currentStatus": "quam",
    "entityType": "consectetur",
    "entityId": "ipsum"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/change-status/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'sit',
            'changeBy' => 'rerum',
            'changeMode' => 'mollitia',
            'changeDate' => 'officia',
            'changeRemarks' => 'est',
            'changeStatusTo' => 'maxime',
            'changeStatusObject' => 'praesentium',
            'currentStatus' => 'quam',
            'entityType' => 'consectetur',
            'entityId' => 'ipsum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/change-status/et'
payload = {
    "changeStatusField": "sit",
    "changeBy": "rerum",
    "changeMode": "mollitia",
    "changeDate": "officia",
    "changeRemarks": "est",
    "changeStatusTo": "maxime",
    "changeStatusObject": "praesentium",
    "currentStatus": "quam",
    "entityType": "consectetur",
    "entityId": "ipsum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/sms/workbook/setup/map-set/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Map Set

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/voluptatibus?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/voluptatibus"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/voluptatibus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/voluptatibus'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/sms/workbook/setup/map-set/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField {{docUpdateParams}}

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/officia?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/officia"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/officia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/officia'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/sms/workbook/setup/map-set/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/schema?sf=labore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/schema"
);

let params = {
    "sf": "labore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'labore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/schema'
params = {
  'sf': 'labore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sms/workbook/setup/map-set/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/quam?by=quos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/quam"
);

let params = {
    "by": "quos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/quam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/sms/workbook/setup/map-set/quam'
params = {
  'by': 'quos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/sms/workbook/setup/map-set/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Ungrouped Endpoints

api/v1/mobile/opt-in

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/opt-in" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/opt-in"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/opt-in',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/opt-in'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers)
response.json()

Request      

PUT api/v1/mobile/opt-in

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template?p=15&pp=14&sf=3&sv=16&me=deleniti&ms=quisquam&df=ratione&ds=provident&de=fugiat&lf=consequatur&lat=135358197.54396&lng=29813311.085676&rad=2886" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template"
);

let params = {
    "p": "15",
    "pp": "14",
    "sf": "3",
    "sv": "16",
    "me": "deleniti",
    "ms": "quisquam",
    "df": "ratione",
    "ds": "provident",
    "de": "fugiat",
    "lf": "consequatur",
    "lat": "135358197.54396",
    "lng": "29813311.085676",
    "rad": "2886",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '15',
            'pp'=> '14',
            'sf'=> '3',
            'sv'=> '16',
            'me'=> 'deleniti',
            'ms'=> 'quisquam',
            'df'=> 'ratione',
            'ds'=> 'provident',
            'de'=> 'fugiat',
            'lf'=> 'consequatur',
            'lat'=> '135358197.54396',
            'lng'=> '29813311.085676',
            'rad'=> '2886',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template'
params = {
  'p': '15',
  'pp': '14',
  'sf': '3',
  'sv': '16',
  'me': 'deleniti',
  'ms': 'quisquam',
  'df': 'ratione',
  'ds': 'provident',
  'de': 'fugiat',
  'lf': 'consequatur',
  'lat': '135358197.54396',
  'lng': '29813311.085676',
  'rad': '2886',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-template

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification-template/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/list/perferendis/minus/dignissimos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/list/perferendis/minus/dignissimos"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/list/perferendis/minus/dignissimos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/list/perferendis/minus/dignissimos'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification-template/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template?app=ipsum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template"
);

let params = {
    "app": "ipsum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'ipsum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template'
params = {
  'app': 'ipsum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification-template

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/init?by=error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/init"
);

let params = {
    "by": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'error',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/init'
params = {
  'by': 'error',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification-template/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/change-status/tenetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"vel","changeBy":"suscipit","changeMode":"consectetur","changeDate":"occaecati","changeRemarks":"voluptatem","changeStatusTo":"adipisci","changeStatusObject":"dolore","currentStatus":"maiores","entityType":"et","entityId":"sit"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/change-status/tenetur"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "vel",
    "changeBy": "suscipit",
    "changeMode": "consectetur",
    "changeDate": "occaecati",
    "changeRemarks": "voluptatem",
    "changeStatusTo": "adipisci",
    "changeStatusObject": "dolore",
    "currentStatus": "maiores",
    "entityType": "et",
    "entityId": "sit"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/change-status/tenetur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'vel',
            'changeBy' => 'suscipit',
            'changeMode' => 'consectetur',
            'changeDate' => 'occaecati',
            'changeRemarks' => 'voluptatem',
            'changeStatusTo' => 'adipisci',
            'changeStatusObject' => 'dolore',
            'currentStatus' => 'maiores',
            'entityType' => 'et',
            'entityId' => 'sit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/change-status/tenetur'
payload = {
    "changeStatusField": "vel",
    "changeBy": "suscipit",
    "changeMode": "consectetur",
    "changeDate": "occaecati",
    "changeRemarks": "voluptatem",
    "changeStatusTo": "adipisci",
    "changeStatusObject": "dolore",
    "currentStatus": "maiores",
    "entityType": "et",
    "entityId": "sit"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/notification-template/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/vel?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/vel"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/vel',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/vel'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/notification-template/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/fuga?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/fuga"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/fuga',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/fuga'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/notification-template/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/schema?sf=omnis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/schema"
);

let params = {
    "sf": "omnis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/schema'
params = {
  'sf': 'omnis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-template/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/provident?by=eveniet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/provident"
);

let params = {
    "by": "eveniet",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/provident',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eveniet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-template/provident'
params = {
  'by': 'eveniet',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-template/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub?p=17&pp=6&sf=1&sv=1&me=ipsum&ms=quas&df=voluptas&ds=inventore&de=dolores&lf=sapiente&lat=1623175.047&lng=0.06143&rad=3.3551" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub"
);

let params = {
    "p": "17",
    "pp": "6",
    "sf": "1",
    "sv": "1",
    "me": "ipsum",
    "ms": "quas",
    "df": "voluptas",
    "ds": "inventore",
    "de": "dolores",
    "lf": "sapiente",
    "lat": "1623175.047",
    "lng": "0.06143",
    "rad": "3.3551",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '17',
            'pp'=> '6',
            'sf'=> '1',
            'sv'=> '1',
            'me'=> 'ipsum',
            'ms'=> 'quas',
            'df'=> 'voluptas',
            'ds'=> 'inventore',
            'de'=> 'dolores',
            'lf'=> 'sapiente',
            'lat'=> '1623175.047',
            'lng'=> '0.06143',
            'rad'=> '3.3551',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub'
params = {
  'p': '17',
  'pp': '6',
  'sf': '1',
  'sv': '1',
  'me': 'ipsum',
  'ms': 'quas',
  'df': 'voluptas',
  'ds': 'inventore',
  'de': 'dolores',
  'lf': 'sapiente',
  'lat': '1623175.047',
  'lng': '0.06143',
  'rad': '3.3551',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-sub

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification-sub/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/list/in/tempore/ipsa" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/list/in/tempore/ipsa"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/list/in/tempore/ipsa',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/list/in/tempore/ipsa'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification-sub/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub?app=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub"
);

let params = {
    "app": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub'
params = {
  'app': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification-sub

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/init?by=velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/init"
);

let params = {
    "by": "velit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'velit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/init'
params = {
  'by': 'velit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification-sub/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/change-status/laborum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"corrupti","changeBy":"magni","changeMode":"sit","changeDate":"aut","changeRemarks":"voluptatum","changeStatusTo":"blanditiis","changeStatusObject":"illum","currentStatus":"voluptatibus","entityType":"eius","entityId":"neque"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/change-status/laborum"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "corrupti",
    "changeBy": "magni",
    "changeMode": "sit",
    "changeDate": "aut",
    "changeRemarks": "voluptatum",
    "changeStatusTo": "blanditiis",
    "changeStatusObject": "illum",
    "currentStatus": "voluptatibus",
    "entityType": "eius",
    "entityId": "neque"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/change-status/laborum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'corrupti',
            'changeBy' => 'magni',
            'changeMode' => 'sit',
            'changeDate' => 'aut',
            'changeRemarks' => 'voluptatum',
            'changeStatusTo' => 'blanditiis',
            'changeStatusObject' => 'illum',
            'currentStatus' => 'voluptatibus',
            'entityType' => 'eius',
            'entityId' => 'neque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/change-status/laborum'
payload = {
    "changeStatusField": "corrupti",
    "changeBy": "magni",
    "changeMode": "sit",
    "changeDate": "aut",
    "changeRemarks": "voluptatum",
    "changeStatusTo": "blanditiis",
    "changeStatusObject": "illum",
    "currentStatus": "voluptatibus",
    "entityType": "eius",
    "entityId": "neque"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/notification-sub/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/adipisci?by=eum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/adipisci"
);

let params = {
    "by": "eum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/adipisci',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'eum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/adipisci'
params = {
  'by': 'eum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/notification-sub/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ut?by=quis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ut"
);

let params = {
    "by": "quis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ut'
params = {
  'by': 'quis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/notification-sub/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/schema?sf=suscipit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/schema"
);

let params = {
    "sf": "suscipit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/schema'
params = {
  'sf': 'suscipit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-sub/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ipsam?by=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ipsam"
);

let params = {
    "by": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ipsam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-sub/ipsam'
params = {
  'by': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-sub/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel?p=19&pp=16&sf=14&sv=18&me=iure&ms=mollitia&df=delectus&ds=nostrum&de=voluptas&lf=nesciunt&lat=7763146.0284818&lng=387418092.78537&rad=3098.309" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel"
);

let params = {
    "p": "19",
    "pp": "16",
    "sf": "14",
    "sv": "18",
    "me": "iure",
    "ms": "mollitia",
    "df": "delectus",
    "ds": "nostrum",
    "de": "voluptas",
    "lf": "nesciunt",
    "lat": "7763146.0284818",
    "lng": "387418092.78537",
    "rad": "3098.309",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '19',
            'pp'=> '16',
            'sf'=> '14',
            'sv'=> '18',
            'me'=> 'iure',
            'ms'=> 'mollitia',
            'df'=> 'delectus',
            'ds'=> 'nostrum',
            'de'=> 'voluptas',
            'lf'=> 'nesciunt',
            'lat'=> '7763146.0284818',
            'lng'=> '387418092.78537',
            'rad'=> '3098.309',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel'
params = {
  'p': '19',
  'pp': '16',
  'sf': '14',
  'sv': '18',
  'me': 'iure',
  'ms': 'mollitia',
  'df': 'delectus',
  'ds': 'nostrum',
  'de': 'voluptas',
  'lf': 'nesciunt',
  'lat': '7763146.0284818',
  'lng': '387418092.78537',
  'rad': '3098.309',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-channel

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification-channel/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/list/quas/veritatis/velit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/list/quas/veritatis/velit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/list/quas/veritatis/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/list/quas/veritatis/velit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/notification-channel/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel?app=libero" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel"
);

let params = {
    "app": "libero",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'libero',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel'
params = {
  'app': 'libero',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification-channel

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/init?by=aliquid" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/init"
);

let params = {
    "by": "aliquid",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aliquid',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/init'
params = {
  'by': 'aliquid',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/notification-channel/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/change-status/soluta" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"suscipit","changeBy":"dolorem","changeMode":"totam","changeDate":"consequatur","changeRemarks":"velit","changeStatusTo":"dolorum","changeStatusObject":"qui","currentStatus":"numquam","entityType":"facere","entityId":"consectetur"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/change-status/soluta"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "suscipit",
    "changeBy": "dolorem",
    "changeMode": "totam",
    "changeDate": "consequatur",
    "changeRemarks": "velit",
    "changeStatusTo": "dolorum",
    "changeStatusObject": "qui",
    "currentStatus": "numquam",
    "entityType": "facere",
    "entityId": "consectetur"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/change-status/soluta',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'suscipit',
            'changeBy' => 'dolorem',
            'changeMode' => 'totam',
            'changeDate' => 'consequatur',
            'changeRemarks' => 'velit',
            'changeStatusTo' => 'dolorum',
            'changeStatusObject' => 'qui',
            'currentStatus' => 'numquam',
            'entityType' => 'facere',
            'entityId' => 'consectetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/change-status/soluta'
payload = {
    "changeStatusField": "suscipit",
    "changeBy": "dolorem",
    "changeMode": "totam",
    "changeDate": "consequatur",
    "changeRemarks": "velit",
    "changeStatusTo": "dolorum",
    "changeStatusObject": "qui",
    "currentStatus": "numquam",
    "entityType": "facere",
    "entityId": "consectetur"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/notification-channel/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/quia?by=tenetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/quia"
);

let params = {
    "by": "tenetur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/quia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'tenetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/quia'
params = {
  'by': 'tenetur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/notification-channel/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/aperiam?by=voluptatem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/aperiam"
);

let params = {
    "by": "voluptatem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/aperiam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/aperiam'
params = {
  'by': 'voluptatem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/notification-channel/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/schema?sf=hic" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/schema"
);

let params = {
    "sf": "hic",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'hic',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/schema'
params = {
  'sf': 'hic',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-channel/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/iure?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/iure"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/iure',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/notification-channel/iure'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/notification-channel/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar?p=3&pp=6&sf=10&sv=15&me=voluptate&ms=eos&df=sunt&ds=placeat&de=et&lf=assumenda&lat=1.0401294&lng=4.0266944&rad=316194614.70718" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar"
);

let params = {
    "p": "3",
    "pp": "6",
    "sf": "10",
    "sv": "15",
    "me": "voluptate",
    "ms": "eos",
    "df": "sunt",
    "ds": "placeat",
    "de": "et",
    "lf": "assumenda",
    "lat": "1.0401294",
    "lng": "4.0266944",
    "rad": "316194614.70718",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '6',
            'sf'=> '10',
            'sv'=> '15',
            'me'=> 'voluptate',
            'ms'=> 'eos',
            'df'=> 'sunt',
            'ds'=> 'placeat',
            'de'=> 'et',
            'lf'=> 'assumenda',
            'lat'=> '1.0401294',
            'lng'=> '4.0266944',
            'rad'=> '316194614.70718',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar'
params = {
  'p': '3',
  'pp': '6',
  'sf': '10',
  'sv': '15',
  'me': 'voluptate',
  'ms': 'eos',
  'df': 'sunt',
  'ds': 'placeat',
  'de': 'et',
  'lf': 'assumenda',
  'lat': '1.0401294',
  'lng': '4.0266944',
  'rad': '316194614.70718',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/calendar

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/time/calendar/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/list/perspiciatis/aut/error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/list/perspiciatis/aut/error"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/list/perspiciatis/aut/error',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/list/perspiciatis/aut/error'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/time/calendar/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar?app=reiciendis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar"
);

let params = {
    "app": "reiciendis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'reiciendis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar'
params = {
  'app': 'reiciendis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/calendar

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/init?by=illum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/init"
);

let params = {
    "by": "illum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'illum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/init'
params = {
  'by': 'illum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/calendar/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/change-status/quibusdam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"a","changeBy":"eum","changeMode":"sit","changeDate":"deleniti","changeRemarks":"sequi","changeStatusTo":"inventore","changeStatusObject":"officiis","currentStatus":"tempore","entityType":"natus","entityId":"aut"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/change-status/quibusdam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "a",
    "changeBy": "eum",
    "changeMode": "sit",
    "changeDate": "deleniti",
    "changeRemarks": "sequi",
    "changeStatusTo": "inventore",
    "changeStatusObject": "officiis",
    "currentStatus": "tempore",
    "entityType": "natus",
    "entityId": "aut"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/change-status/quibusdam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'a',
            'changeBy' => 'eum',
            'changeMode' => 'sit',
            'changeDate' => 'deleniti',
            'changeRemarks' => 'sequi',
            'changeStatusTo' => 'inventore',
            'changeStatusObject' => 'officiis',
            'currentStatus' => 'tempore',
            'entityType' => 'natus',
            'entityId' => 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/change-status/quibusdam'
payload = {
    "changeStatusField": "a",
    "changeBy": "eum",
    "changeMode": "sit",
    "changeDate": "deleniti",
    "changeRemarks": "sequi",
    "changeStatusTo": "inventore",
    "changeStatusObject": "officiis",
    "currentStatus": "tempore",
    "entityType": "natus",
    "entityId": "aut"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/time/calendar/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/id?by=quasi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/id"
);

let params = {
    "by": "quasi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/id',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quasi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/id'
params = {
  'by': 'quasi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/time/calendar/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/atque?by=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/atque"
);

let params = {
    "by": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/atque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/atque'
params = {
  'by': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/time/calendar/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/schema?sf=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/schema"
);

let params = {
    "sf": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/schema'
params = {
  'sf': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/calendar/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/quo?by=at" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/quo"
);

let params = {
    "by": "at",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/quo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'at',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/calendar/quo'
params = {
  'by': 'at',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/calendar/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance?p=18&pp=6&sf=11&sv=5&me=itaque&ms=quia&df=amet&ds=rerum&de=dolores&lf=est&lat=4590839.2359779&lng=32133.77639&rad=3.8" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance"
);

let params = {
    "p": "18",
    "pp": "6",
    "sf": "11",
    "sv": "5",
    "me": "itaque",
    "ms": "quia",
    "df": "amet",
    "ds": "rerum",
    "de": "dolores",
    "lf": "est",
    "lat": "4590839.2359779",
    "lng": "32133.77639",
    "rad": "3.8",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '18',
            'pp'=> '6',
            'sf'=> '11',
            'sv'=> '5',
            'me'=> 'itaque',
            'ms'=> 'quia',
            'df'=> 'amet',
            'ds'=> 'rerum',
            'de'=> 'dolores',
            'lf'=> 'est',
            'lat'=> '4590839.2359779',
            'lng'=> '32133.77639',
            'rad'=> '3.8',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance'
params = {
  'p': '18',
  'pp': '6',
  'sf': '11',
  'sv': '5',
  'me': 'itaque',
  'ms': 'quia',
  'df': 'amet',
  'ds': 'rerum',
  'de': 'dolores',
  'lf': 'est',
  'lat': '4590839.2359779',
  'lng': '32133.77639',
  'rad': '3.8',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/attendance

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/time/attendance/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/list/sit/atque/pariatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/list/sit/atque/pariatur"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/list/sit/atque/pariatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/list/sit/atque/pariatur'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/time/attendance/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance?app=voluptas" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance"
);

let params = {
    "app": "voluptas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'voluptas',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance'
params = {
  'app': 'voluptas',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/attendance

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/init?by=ipsum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/init"
);

let params = {
    "by": "ipsum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ipsum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/init'
params = {
  'by': 'ipsum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/attendance/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/change-status/sit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"sed","changeBy":"ut","changeMode":"doloribus","changeDate":"qui","changeRemarks":"saepe","changeStatusTo":"sunt","changeStatusObject":"soluta","currentStatus":"accusamus","entityType":"illo","entityId":"rerum"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/change-status/sit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "sed",
    "changeBy": "ut",
    "changeMode": "doloribus",
    "changeDate": "qui",
    "changeRemarks": "saepe",
    "changeStatusTo": "sunt",
    "changeStatusObject": "soluta",
    "currentStatus": "accusamus",
    "entityType": "illo",
    "entityId": "rerum"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/change-status/sit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'sed',
            'changeBy' => 'ut',
            'changeMode' => 'doloribus',
            'changeDate' => 'qui',
            'changeRemarks' => 'saepe',
            'changeStatusTo' => 'sunt',
            'changeStatusObject' => 'soluta',
            'currentStatus' => 'accusamus',
            'entityType' => 'illo',
            'entityId' => 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/change-status/sit'
payload = {
    "changeStatusField": "sed",
    "changeBy": "ut",
    "changeMode": "doloribus",
    "changeDate": "qui",
    "changeRemarks": "saepe",
    "changeStatusTo": "sunt",
    "changeStatusObject": "soluta",
    "currentStatus": "accusamus",
    "entityType": "illo",
    "entityId": "rerum"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/time/attendance/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/at?by=quaerat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/at"
);

let params = {
    "by": "quaerat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/at',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quaerat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/at'
params = {
  'by': 'quaerat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/time/attendance/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/enim?by=doloremque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/enim"
);

let params = {
    "by": "doloremque",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/enim',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'doloremque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/enim'
params = {
  'by': 'doloremque',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/time/attendance/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/schema?sf=cum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/schema"
);

let params = {
    "sf": "cum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'cum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/schema'
params = {
  'sf': 'cum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/attendance/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/sed?by=quisquam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/sed"
);

let params = {
    "by": "quisquam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/sed',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/attendance/sed'
params = {
  'by': 'quisquam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/attendance/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list?p=14&pp=5&sf=11&sv=3&me=reiciendis&ms=aut&df=ullam&ds=perspiciatis&de=temporibus&lf=ut&lat=675.364317&lng=12202.793019897&rad=187733.60879732" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list"
);

let params = {
    "p": "14",
    "pp": "5",
    "sf": "11",
    "sv": "3",
    "me": "reiciendis",
    "ms": "aut",
    "df": "ullam",
    "ds": "perspiciatis",
    "de": "temporibus",
    "lf": "ut",
    "lat": "675.364317",
    "lng": "12202.793019897",
    "rad": "187733.60879732",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '5',
            'sf'=> '11',
            'sv'=> '3',
            'me'=> 'reiciendis',
            'ms'=> 'aut',
            'df'=> 'ullam',
            'ds'=> 'perspiciatis',
            'de'=> 'temporibus',
            'lf'=> 'ut',
            'lat'=> '675.364317',
            'lng'=> '12202.793019897',
            'rad'=> '187733.60879732',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list'
params = {
  'p': '14',
  'pp': '5',
  'sf': '11',
  'sv': '3',
  'me': 'reiciendis',
  'ms': 'aut',
  'df': 'ullam',
  'ds': 'perspiciatis',
  'de': 'temporibus',
  'lf': 'ut',
  'lat': '675.364317',
  'lng': '12202.793019897',
  'rad': '187733.60879732',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/task-list

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/time/task-list/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/list/earum/reiciendis/consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/list/earum/reiciendis/consequatur"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/list/earum/reiciendis/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/list/earum/reiciendis/consequatur'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/time/task-list/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list?app=sunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list"
);

let params = {
    "app": "sunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'sunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list'
params = {
  'app': 'sunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/task-list

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/init?by=error" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/init"
);

let params = {
    "by": "error",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'error',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/init'
params = {
  'by': 'error',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/time/task-list/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/change-status/natus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"eos","changeBy":"mollitia","changeMode":"pariatur","changeDate":"excepturi","changeRemarks":"aut","changeStatusTo":"asperiores","changeStatusObject":"consequuntur","currentStatus":"itaque","entityType":"iste","entityId":"iste"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/change-status/natus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "eos",
    "changeBy": "mollitia",
    "changeMode": "pariatur",
    "changeDate": "excepturi",
    "changeRemarks": "aut",
    "changeStatusTo": "asperiores",
    "changeStatusObject": "consequuntur",
    "currentStatus": "itaque",
    "entityType": "iste",
    "entityId": "iste"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/change-status/natus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'eos',
            'changeBy' => 'mollitia',
            'changeMode' => 'pariatur',
            'changeDate' => 'excepturi',
            'changeRemarks' => 'aut',
            'changeStatusTo' => 'asperiores',
            'changeStatusObject' => 'consequuntur',
            'currentStatus' => 'itaque',
            'entityType' => 'iste',
            'entityId' => 'iste',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/change-status/natus'
payload = {
    "changeStatusField": "eos",
    "changeBy": "mollitia",
    "changeMode": "pariatur",
    "changeDate": "excepturi",
    "changeRemarks": "aut",
    "changeStatusTo": "asperiores",
    "changeStatusObject": "consequuntur",
    "currentStatus": "itaque",
    "entityType": "iste",
    "entityId": "iste"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/time/task-list/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/animi?by=placeat" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/animi"
);

let params = {
    "by": "placeat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/animi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'placeat',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/animi'
params = {
  'by': 'placeat',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/time/task-list/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/doloribus?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/doloribus"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/doloribus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/doloribus'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/time/task-list/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/schema?sf=rerum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/schema"
);

let params = {
    "sf": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'rerum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/schema'
params = {
  'sf': 'rerum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/task-list/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/voluptas?by=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/voluptas"
);

let params = {
    "by": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/voluptas',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/time/task-list/voluptas'
params = {
  'by': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/time/task-list/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area?p=8&pp=5&sf=15&sv=18&me=at&ms=doloribus&df=voluptate&ds=autem&de=qui&lf=molestiae&lat=694272.3462&lng=1.317895421&rad=627.391671" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area"
);

let params = {
    "p": "8",
    "pp": "5",
    "sf": "15",
    "sv": "18",
    "me": "at",
    "ms": "doloribus",
    "df": "voluptate",
    "ds": "autem",
    "de": "qui",
    "lf": "molestiae",
    "lat": "694272.3462",
    "lng": "1.317895421",
    "rad": "627.391671",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '8',
            'pp'=> '5',
            'sf'=> '15',
            'sv'=> '18',
            'me'=> 'at',
            'ms'=> 'doloribus',
            'df'=> 'voluptate',
            'ds'=> 'autem',
            'de'=> 'qui',
            'lf'=> 'molestiae',
            'lat'=> '694272.3462',
            'lng'=> '1.317895421',
            'rad'=> '627.391671',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area'
params = {
  'p': '8',
  'pp': '5',
  'sf': '15',
  'sv': '18',
  'me': 'at',
  'ms': 'doloribus',
  'df': 'voluptate',
  'ds': 'autem',
  'de': 'qui',
  'lf': 'molestiae',
  'lat': '694272.3462',
  'lng': '1.317895421',
  'rad': '627.391671',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/area

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/area/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/list/ut/ullam/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/list/ut/ullam/et"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/list/ut/ullam/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/list/ut/ullam/et'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/area/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area?app=et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area"
);

let params = {
    "app": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area'
params = {
  'app': 'et',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/area

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/init?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/init"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/init'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/area/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/change-status/distinctio" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"aliquam","changeBy":"voluptatibus","changeMode":"accusantium","changeDate":"possimus","changeRemarks":"aut","changeStatusTo":"corporis","changeStatusObject":"modi","currentStatus":"et","entityType":"ullam","entityId":"optio"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/change-status/distinctio"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "aliquam",
    "changeBy": "voluptatibus",
    "changeMode": "accusantium",
    "changeDate": "possimus",
    "changeRemarks": "aut",
    "changeStatusTo": "corporis",
    "changeStatusObject": "modi",
    "currentStatus": "et",
    "entityType": "ullam",
    "entityId": "optio"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/change-status/distinctio',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'aliquam',
            'changeBy' => 'voluptatibus',
            'changeMode' => 'accusantium',
            'changeDate' => 'possimus',
            'changeRemarks' => 'aut',
            'changeStatusTo' => 'corporis',
            'changeStatusObject' => 'modi',
            'currentStatus' => 'et',
            'entityType' => 'ullam',
            'entityId' => 'optio',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/change-status/distinctio'
payload = {
    "changeStatusField": "aliquam",
    "changeBy": "voluptatibus",
    "changeMode": "accusantium",
    "changeDate": "possimus",
    "changeRemarks": "aut",
    "changeStatusTo": "corporis",
    "changeStatusObject": "modi",
    "currentStatus": "et",
    "entityType": "ullam",
    "entityId": "optio"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reference/area/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/quaerat?by=esse" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/quaerat"
);

let params = {
    "by": "esse",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/quaerat',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'esse',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/quaerat'
params = {
  'by': 'esse',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reference/area/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/dolorem?by=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/dolorem"
);

let params = {
    "by": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/dolorem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/dolorem'
params = {
  'by': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reference/area/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/schema?sf=ducimus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/schema"
);

let params = {
    "sf": "ducimus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'ducimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/schema'
params = {
  'sf': 'ducimus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/area/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/id?by=cumque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area/id"
);

let params = {
    "by": "cumque",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/id',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'cumque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area/id'
params = {
  'by': 'cumque',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/area/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code?p=2&pp=1&sf=12&sv=9&me=et&ms=iure&df=qui&ds=dignissimos&de=non&lf=qui&lat=7725.559229&lng=3.385824084&rad=2" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code"
);

let params = {
    "p": "2",
    "pp": "1",
    "sf": "12",
    "sv": "9",
    "me": "et",
    "ms": "iure",
    "df": "qui",
    "ds": "dignissimos",
    "de": "non",
    "lf": "qui",
    "lat": "7725.559229",
    "lng": "3.385824084",
    "rad": "2",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '2',
            'pp'=> '1',
            'sf'=> '12',
            'sv'=> '9',
            'me'=> 'et',
            'ms'=> 'iure',
            'df'=> 'qui',
            'ds'=> 'dignissimos',
            'de'=> 'non',
            'lf'=> 'qui',
            'lat'=> '7725.559229',
            'lng'=> '3.385824084',
            'rad'=> '2',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code'
params = {
  'p': '2',
  'pp': '1',
  'sf': '12',
  'sv': '9',
  'me': 'et',
  'ms': 'iure',
  'df': 'qui',
  'ds': 'dignissimos',
  'de': 'non',
  'lf': 'qui',
  'lat': '7725.559229',
  'lng': '3.385824084',
  'rad': '2',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/area-code

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/area-code/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/list/distinctio/qui/quis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/list/distinctio/qui/quis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/list/distinctio/qui/quis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/list/distinctio/qui/quis'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/reference/area-code/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code?app=id" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code"
);

let params = {
    "app": "id",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'id',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code'
params = {
  'app': 'id',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/area-code

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/init?by=sequi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/init"
);

let params = {
    "by": "sequi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sequi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/init'
params = {
  'by': 'sequi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/reference/area-code/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/change-status/est" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"in","changeBy":"ipsam","changeMode":"omnis","changeDate":"aut","changeRemarks":"nostrum","changeStatusTo":"illum","changeStatusObject":"voluptatem","currentStatus":"voluptatum","entityType":"dolores","entityId":"mollitia"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/change-status/est"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "in",
    "changeBy": "ipsam",
    "changeMode": "omnis",
    "changeDate": "aut",
    "changeRemarks": "nostrum",
    "changeStatusTo": "illum",
    "changeStatusObject": "voluptatem",
    "currentStatus": "voluptatum",
    "entityType": "dolores",
    "entityId": "mollitia"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/change-status/est',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'in',
            'changeBy' => 'ipsam',
            'changeMode' => 'omnis',
            'changeDate' => 'aut',
            'changeRemarks' => 'nostrum',
            'changeStatusTo' => 'illum',
            'changeStatusObject' => 'voluptatem',
            'currentStatus' => 'voluptatum',
            'entityType' => 'dolores',
            'entityId' => 'mollitia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/change-status/est'
payload = {
    "changeStatusField": "in",
    "changeBy": "ipsam",
    "changeMode": "omnis",
    "changeDate": "aut",
    "changeRemarks": "nostrum",
    "changeStatusTo": "illum",
    "changeStatusObject": "voluptatem",
    "currentStatus": "voluptatum",
    "entityType": "dolores",
    "entityId": "mollitia"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/reference/area-code/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/sunt?by=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/sunt"
);

let params = {
    "by": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/sunt',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consequatur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/sunt'
params = {
  'by': 'consequatur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/reference/area-code/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/cumque?by=esse" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/cumque"
);

let params = {
    "by": "esse",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/cumque',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'esse',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/cumque'
params = {
  'by': 'esse',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/reference/area-code/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/schema?sf=accusantium" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/schema"
);

let params = {
    "sf": "accusantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'accusantium',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/schema'
params = {
  'sf': 'accusantium',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/area-code/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/dignissimos?by=beatae" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/dignissimos"
);

let params = {
    "by": "beatae",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/dignissimos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'beatae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/reference/area-code/dignissimos'
params = {
  'by': 'beatae',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/reference/area-code/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval?p=14&pp=5&sf=7&sv=16&me=voluptas&ms=id&df=in&ds=et&de=dolorem&lf=debitis&lat=464970&lng=646698.82983477&rad=14072787.895283" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval"
);

let params = {
    "p": "14",
    "pp": "5",
    "sf": "7",
    "sv": "16",
    "me": "voluptas",
    "ms": "id",
    "df": "in",
    "ds": "et",
    "de": "dolorem",
    "lf": "debitis",
    "lat": "464970",
    "lng": "646698.82983477",
    "rad": "14072787.895283",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '5',
            'sf'=> '7',
            'sv'=> '16',
            'me'=> 'voluptas',
            'ms'=> 'id',
            'df'=> 'in',
            'ds'=> 'et',
            'de'=> 'dolorem',
            'lf'=> 'debitis',
            'lat'=> '464970',
            'lng'=> '646698.82983477',
            'rad'=> '14072787.895283',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval'
params = {
  'p': '14',
  'pp': '5',
  'sf': '7',
  'sv': '16',
  'me': 'voluptas',
  'ms': 'id',
  'df': 'in',
  'ds': 'et',
  'de': 'dolorem',
  'lf': 'debitis',
  'lat': '464970',
  'lng': '646698.82983477',
  'rad': '14072787.895283',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/list/excepturi/ipsam/voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/list/excepturi/ipsam/voluptates"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/list/excepturi/ipsam/voluptates',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/list/excepturi/ipsam/voluptates'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval?app=ipsa" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval"
);

let params = {
    "app": "ipsa",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'ipsa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval'
params = {
  'app': 'ipsa',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/approval

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/init?by=unde" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/init"
);

let params = {
    "by": "unde",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'unde',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/init'
params = {
  'by': 'unde',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/approval/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/change-status/perferendis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"temporibus","changeBy":"aut","changeMode":"rerum","changeDate":"ut","changeRemarks":"aut","changeStatusTo":"blanditiis","changeStatusObject":"qui","currentStatus":"fugiat","entityType":"autem","entityId":"sed"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/change-status/perferendis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "temporibus",
    "changeBy": "aut",
    "changeMode": "rerum",
    "changeDate": "ut",
    "changeRemarks": "aut",
    "changeStatusTo": "blanditiis",
    "changeStatusObject": "qui",
    "currentStatus": "fugiat",
    "entityType": "autem",
    "entityId": "sed"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/change-status/perferendis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'temporibus',
            'changeBy' => 'aut',
            'changeMode' => 'rerum',
            'changeDate' => 'ut',
            'changeRemarks' => 'aut',
            'changeStatusTo' => 'blanditiis',
            'changeStatusObject' => 'qui',
            'currentStatus' => 'fugiat',
            'entityType' => 'autem',
            'entityId' => 'sed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/change-status/perferendis'
payload = {
    "changeStatusField": "temporibus",
    "changeBy": "aut",
    "changeMode": "rerum",
    "changeDate": "ut",
    "changeRemarks": "aut",
    "changeStatusTo": "blanditiis",
    "changeStatusObject": "qui",
    "currentStatus": "fugiat",
    "entityType": "autem",
    "entityId": "sed"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/approval/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/at?by=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/at"
);

let params = {
    "by": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/at',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/at'
params = {
  'by': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/approval/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/tenetur?by=adipisci" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/tenetur"
);

let params = {
    "by": "adipisci",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/tenetur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'adipisci',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/tenetur'
params = {
  'by': 'adipisci',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/approval/approval/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/schema?sf=rem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/schema"
);

let params = {
    "sf": "rem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'rem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/schema'
params = {
  'sf': 'rem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/nam?by=ad" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/nam"
);

let params = {
    "by": "ad",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/nam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ad',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/approval/nam'
params = {
  'by': 'ad',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/approval/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart?p=14&pp=17&sf=6&sv=4&me=voluptas&ms=et&df=architecto&ds=provident&de=quam&lf=molestiae&lat=0.02527&lng=1225.98&rad=1619.76" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart"
);

let params = {
    "p": "14",
    "pp": "17",
    "sf": "6",
    "sv": "4",
    "me": "voluptas",
    "ms": "et",
    "df": "architecto",
    "ds": "provident",
    "de": "quam",
    "lf": "molestiae",
    "lat": "0.02527",
    "lng": "1225.98",
    "rad": "1619.76",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '14',
            'pp'=> '17',
            'sf'=> '6',
            'sv'=> '4',
            'me'=> 'voluptas',
            'ms'=> 'et',
            'df'=> 'architecto',
            'ds'=> 'provident',
            'de'=> 'quam',
            'lf'=> 'molestiae',
            'lat'=> '0.02527',
            'lng'=> '1225.98',
            'rad'=> '1619.76',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart'
params = {
  'p': '14',
  'pp': '17',
  'sf': '6',
  'sv': '4',
  'me': 'voluptas',
  'ms': 'et',
  'df': 'architecto',
  'ds': 'provident',
  'de': 'quam',
  'lf': 'molestiae',
  'lat': '0.02527',
  'lng': '1225.98',
  'rad': '1619.76',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/organization-chart

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/organization-chart/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/list/voluptatem/magni/porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/list/voluptatem/magni/porro"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/list/voluptatem/magni/porro',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/list/voluptatem/magni/porro'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/approval/organization-chart/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart?app=occaecati" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart"
);

let params = {
    "app": "occaecati",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'occaecati',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart'
params = {
  'app': 'occaecati',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/organization-chart

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/init?by=voluptatibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/init"
);

let params = {
    "by": "voluptatibus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptatibus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/init'
params = {
  'by': 'voluptatibus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/approval/organization-chart/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/change-status/amet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"eum","changeBy":"sed","changeMode":"rem","changeDate":"et","changeRemarks":"error","changeStatusTo":"atque","changeStatusObject":"asperiores","currentStatus":"iusto","entityType":"iusto","entityId":"tempore"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/change-status/amet"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "eum",
    "changeBy": "sed",
    "changeMode": "rem",
    "changeDate": "et",
    "changeRemarks": "error",
    "changeStatusTo": "atque",
    "changeStatusObject": "asperiores",
    "currentStatus": "iusto",
    "entityType": "iusto",
    "entityId": "tempore"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/change-status/amet',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'eum',
            'changeBy' => 'sed',
            'changeMode' => 'rem',
            'changeDate' => 'et',
            'changeRemarks' => 'error',
            'changeStatusTo' => 'atque',
            'changeStatusObject' => 'asperiores',
            'currentStatus' => 'iusto',
            'entityType' => 'iusto',
            'entityId' => 'tempore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/change-status/amet'
payload = {
    "changeStatusField": "eum",
    "changeBy": "sed",
    "changeMode": "rem",
    "changeDate": "et",
    "changeRemarks": "error",
    "changeStatusTo": "atque",
    "changeStatusObject": "asperiores",
    "currentStatus": "iusto",
    "entityType": "iusto",
    "entityId": "tempore"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/organization-chart/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/consequatur?by=laboriosam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/consequatur"
);

let params = {
    "by": "laboriosam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/consequatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laboriosam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/consequatur'
params = {
  'by': 'laboriosam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/approval/organization-chart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/minima?by=suscipit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/minima"
);

let params = {
    "by": "suscipit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/minima',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/minima'
params = {
  'by': 'suscipit',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/approval/organization-chart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/schema?sf=vel" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/schema"
);

let params = {
    "sf": "vel",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/schema'
params = {
  'sf': 'vel',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/organization-chart/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/illo?by=voluptate" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/illo"
);

let params = {
    "by": "voluptate",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/illo',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'voluptate',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/approval/organization-chart/illo'
params = {
  'by': 'voluptate',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/approval/organization-chart/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log?p=2&pp=2&sf=20&sv=10&me=ut&ms=non&df=aut&ds=alias&de=nam&lf=laborum&lat=59073.07995425&lng=2568299.5435134&rad=433.163" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log"
);

let params = {
    "p": "2",
    "pp": "2",
    "sf": "20",
    "sv": "10",
    "me": "ut",
    "ms": "non",
    "df": "aut",
    "ds": "alias",
    "de": "nam",
    "lf": "laborum",
    "lat": "59073.07995425",
    "lng": "2568299.5435134",
    "rad": "433.163",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '2',
            'pp'=> '2',
            'sf'=> '20',
            'sv'=> '10',
            'me'=> 'ut',
            'ms'=> 'non',
            'df'=> 'aut',
            'ds'=> 'alias',
            'de'=> 'nam',
            'lf'=> 'laborum',
            'lat'=> '59073.07995425',
            'lng'=> '2568299.5435134',
            'rad'=> '433.163',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log'
params = {
  'p': '2',
  'pp': '2',
  'sf': '20',
  'sv': '10',
  'me': 'ut',
  'ms': 'non',
  'df': 'aut',
  'ds': 'alias',
  'de': 'nam',
  'lf': 'laborum',
  'lat': '59073.07995425',
  'lng': '2568299.5435134',
  'rad': '433.163',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/wa-message-log

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/wa-message-log/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/list/fuga/consequatur/temporibus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/list/fuga/consequatur/temporibus"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/list/fuga/consequatur/temporibus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/list/fuga/consequatur/temporibus'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/wa-message-log/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log?app=nihil" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log"
);

let params = {
    "app": "nihil",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'nihil',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log'
params = {
  'app': 'nihil',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/wa-message-log

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/init?by=omnis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/init"
);

let params = {
    "by": "omnis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/init'
params = {
  'by': 'omnis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/wa-message-log/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/change-status/fuga" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"voluptatem","changeBy":"ad","changeMode":"fugit","changeDate":"ratione","changeRemarks":"deserunt","changeStatusTo":"vel","changeStatusObject":"quia","currentStatus":"accusantium","entityType":"est","entityId":"repudiandae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/change-status/fuga"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "voluptatem",
    "changeBy": "ad",
    "changeMode": "fugit",
    "changeDate": "ratione",
    "changeRemarks": "deserunt",
    "changeStatusTo": "vel",
    "changeStatusObject": "quia",
    "currentStatus": "accusantium",
    "entityType": "est",
    "entityId": "repudiandae"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/change-status/fuga',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'voluptatem',
            'changeBy' => 'ad',
            'changeMode' => 'fugit',
            'changeDate' => 'ratione',
            'changeRemarks' => 'deserunt',
            'changeStatusTo' => 'vel',
            'changeStatusObject' => 'quia',
            'currentStatus' => 'accusantium',
            'entityType' => 'est',
            'entityId' => 'repudiandae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/change-status/fuga'
payload = {
    "changeStatusField": "voluptatem",
    "changeBy": "ad",
    "changeMode": "fugit",
    "changeDate": "ratione",
    "changeRemarks": "deserunt",
    "changeStatusTo": "vel",
    "changeStatusObject": "quia",
    "currentStatus": "accusantium",
    "entityType": "est",
    "entityId": "repudiandae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/wa-message-log/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/minima?by=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/minima"
);

let params = {
    "by": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/minima',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/minima'
params = {
  'by': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/wa-message-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/laborum?by=dolores" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/laborum"
);

let params = {
    "by": "dolores",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/laborum',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/laborum'
params = {
  'by': 'dolores',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/wa-message-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/schema?sf=porro" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/schema"
);

let params = {
    "sf": "porro",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'porro',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/schema'
params = {
  'sf': 'porro',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/wa-message-log/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/voluptatem?by=ab" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/voluptatem"
);

let params = {
    "by": "ab",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/voluptatem',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ab',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/wa-message-log/voluptatem'
params = {
  'by': 'ab',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/wa-message-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log?p=5&pp=17&sf=14&sv=19&me=dicta&ms=molestiae&df=ut&ds=voluptas&de=reiciendis&lf=fugiat&lat=13.538926&lng=278.071773033&rad=23394064.575497" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log"
);

let params = {
    "p": "5",
    "pp": "17",
    "sf": "14",
    "sv": "19",
    "me": "dicta",
    "ms": "molestiae",
    "df": "ut",
    "ds": "voluptas",
    "de": "reiciendis",
    "lf": "fugiat",
    "lat": "13.538926",
    "lng": "278.071773033",
    "rad": "23394064.575497",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '5',
            'pp'=> '17',
            'sf'=> '14',
            'sv'=> '19',
            'me'=> 'dicta',
            'ms'=> 'molestiae',
            'df'=> 'ut',
            'ds'=> 'voluptas',
            'de'=> 'reiciendis',
            'lf'=> 'fugiat',
            'lat'=> '13.538926',
            'lng'=> '278.071773033',
            'rad'=> '23394064.575497',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log'
params = {
  'p': '5',
  'pp': '17',
  'sf': '14',
  'sv': '19',
  'me': 'dicta',
  'ms': 'molestiae',
  'df': 'ut',
  'ds': 'voluptas',
  'de': 'reiciendis',
  'lf': 'fugiat',
  'lat': '13.538926',
  'lng': '278.071773033',
  'rad': '23394064.575497',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-log

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/message-log/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/list/esse/nisi/qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/list/esse/nisi/qui"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/list/esse/nisi/qui',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/list/esse/nisi/qui'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/message-log/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log?app=magnam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log"
);

let params = {
    "app": "magnam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'magnam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log'
params = {
  'app': 'magnam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/message-log

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/init?by=nam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/init"
);

let params = {
    "by": "nam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'nam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/init'
params = {
  'by': 'nam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/message-log/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/change-status/assumenda" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"doloribus","changeBy":"officiis","changeMode":"mollitia","changeDate":"reprehenderit","changeRemarks":"esse","changeStatusTo":"aperiam","changeStatusObject":"voluptatem","currentStatus":"consequatur","entityType":"est","entityId":"assumenda"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/change-status/assumenda"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "doloribus",
    "changeBy": "officiis",
    "changeMode": "mollitia",
    "changeDate": "reprehenderit",
    "changeRemarks": "esse",
    "changeStatusTo": "aperiam",
    "changeStatusObject": "voluptatem",
    "currentStatus": "consequatur",
    "entityType": "est",
    "entityId": "assumenda"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/change-status/assumenda',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'doloribus',
            'changeBy' => 'officiis',
            'changeMode' => 'mollitia',
            'changeDate' => 'reprehenderit',
            'changeRemarks' => 'esse',
            'changeStatusTo' => 'aperiam',
            'changeStatusObject' => 'voluptatem',
            'currentStatus' => 'consequatur',
            'entityType' => 'est',
            'entityId' => 'assumenda',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/change-status/assumenda'
payload = {
    "changeStatusField": "doloribus",
    "changeBy": "officiis",
    "changeMode": "mollitia",
    "changeDate": "reprehenderit",
    "changeRemarks": "esse",
    "changeStatusTo": "aperiam",
    "changeStatusObject": "voluptatem",
    "currentStatus": "consequatur",
    "entityType": "est",
    "entityId": "assumenda"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/message-log/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/ullam?by=officiis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/ullam"
);

let params = {
    "by": "officiis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/ullam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'officiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/ullam'
params = {
  'by': 'officiis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/message-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/repudiandae?by=minima" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/repudiandae"
);

let params = {
    "by": "minima",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/repudiandae',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'minima',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/repudiandae'
params = {
  'by': 'minima',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/message-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/schema?sf=possimus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/schema"
);

let params = {
    "sf": "possimus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'possimus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/schema'
params = {
  'sf': 'possimus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-log/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/doloribus?by=amet" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/doloribus"
);

let params = {
    "by": "amet",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/doloribus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'amet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-log/doloribus'
params = {
  'by': 'amet',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-log/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway?p=3&pp=2&sf=18&sv=18&me=vitae&ms=esse&df=et&ds=consequatur&de=voluptatibus&lf=libero&lat=77640.78468&lng=1178451.9800076&rad=1170.5610271" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway"
);

let params = {
    "p": "3",
    "pp": "2",
    "sf": "18",
    "sv": "18",
    "me": "vitae",
    "ms": "esse",
    "df": "et",
    "ds": "consequatur",
    "de": "voluptatibus",
    "lf": "libero",
    "lat": "77640.78468",
    "lng": "1178451.9800076",
    "rad": "1170.5610271",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '3',
            'pp'=> '2',
            'sf'=> '18',
            'sv'=> '18',
            'me'=> 'vitae',
            'ms'=> 'esse',
            'df'=> 'et',
            'ds'=> 'consequatur',
            'de'=> 'voluptatibus',
            'lf'=> 'libero',
            'lat'=> '77640.78468',
            'lng'=> '1178451.9800076',
            'rad'=> '1170.5610271',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway'
params = {
  'p': '3',
  'pp': '2',
  'sf': '18',
  'sv': '18',
  'me': 'vitae',
  'ms': 'esse',
  'df': 'et',
  'ds': 'consequatur',
  'de': 'voluptatibus',
  'lf': 'libero',
  'lat': '77640.78468',
  'lng': '1178451.9800076',
  'rad': '1170.5610271',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-gateway

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/message-gateway/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/list/quia/ut/dignissimos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/list/quia/ut/dignissimos"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/list/quia/ut/dignissimos',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/list/quia/ut/dignissimos'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/message-gateway/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway?app=neque" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway"
);

let params = {
    "app": "neque",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'neque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway'
params = {
  'app': 'neque',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/message-gateway

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/init?by=quam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/init"
);

let params = {
    "by": "quam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/init'
params = {
  'by': 'quam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/message-gateway/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/change-status/et" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"neque","changeBy":"tempora","changeMode":"provident","changeDate":"sed","changeRemarks":"sit","changeStatusTo":"minus","changeStatusObject":"consequatur","currentStatus":"illo","entityType":"est","entityId":"itaque"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/change-status/et"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "neque",
    "changeBy": "tempora",
    "changeMode": "provident",
    "changeDate": "sed",
    "changeRemarks": "sit",
    "changeStatusTo": "minus",
    "changeStatusObject": "consequatur",
    "currentStatus": "illo",
    "entityType": "est",
    "entityId": "itaque"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/change-status/et',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'neque',
            'changeBy' => 'tempora',
            'changeMode' => 'provident',
            'changeDate' => 'sed',
            'changeRemarks' => 'sit',
            'changeStatusTo' => 'minus',
            'changeStatusObject' => 'consequatur',
            'currentStatus' => 'illo',
            'entityType' => 'est',
            'entityId' => 'itaque',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/change-status/et'
payload = {
    "changeStatusField": "neque",
    "changeBy": "tempora",
    "changeMode": "provident",
    "changeDate": "sed",
    "changeRemarks": "sit",
    "changeStatusTo": "minus",
    "changeStatusObject": "consequatur",
    "currentStatus": "illo",
    "entityType": "est",
    "entityId": "itaque"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/message-gateway/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/repellendus?by=minus" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/repellendus"
);

let params = {
    "by": "minus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/repellendus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'minus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/repellendus'
params = {
  'by': 'minus',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/message-gateway/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/velit?by=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/velit"
);

let params = {
    "by": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/velit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/velit'
params = {
  'by': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/message-gateway/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/schema?sf=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/schema"
);

let params = {
    "sf": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'aut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/schema'
params = {
  'sf': 'aut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-gateway/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/commodi?by=deserunt" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/commodi"
);

let params = {
    "by": "deserunt",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/commodi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'deserunt',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-gateway/commodi'
params = {
  'by': 'deserunt',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-gateway/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue?p=4&pp=3&sf=14&sv=2&me=dolor&ms=beatae&df=laboriosam&ds=voluptas&de=placeat&lf=maxime&lat=166.4594783&lng=125069143.1212&rad=1542957.872" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue"
);

let params = {
    "p": "4",
    "pp": "3",
    "sf": "14",
    "sv": "2",
    "me": "dolor",
    "ms": "beatae",
    "df": "laboriosam",
    "ds": "voluptas",
    "de": "placeat",
    "lf": "maxime",
    "lat": "166.4594783",
    "lng": "125069143.1212",
    "rad": "1542957.872",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '4',
            'pp'=> '3',
            'sf'=> '14',
            'sv'=> '2',
            'me'=> 'dolor',
            'ms'=> 'beatae',
            'df'=> 'laboriosam',
            'ds'=> 'voluptas',
            'de'=> 'placeat',
            'lf'=> 'maxime',
            'lat'=> '166.4594783',
            'lng'=> '125069143.1212',
            'rad'=> '1542957.872',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue'
params = {
  'p': '4',
  'pp': '3',
  'sf': '14',
  'sv': '2',
  'me': 'dolor',
  'ms': 'beatae',
  'df': 'laboriosam',
  'ds': 'voluptas',
  'de': 'placeat',
  'lf': 'maxime',
  'lat': '166.4594783',
  'lng': '125069143.1212',
  'rad': '1542957.872',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-queue

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/message-queue/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/list/qui/aliquid/voluptates" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/list/qui/aliquid/voluptates"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/list/qui/aliquid/voluptates',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/list/qui/aliquid/voluptates'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/mms/message-queue/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue?app=eos" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue"
);

let params = {
    "app": "eos",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'eos',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue'
params = {
  'app': 'eos',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/message-queue

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/init?by=sequi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/init"
);

let params = {
    "by": "sequi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sequi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/init'
params = {
  'by': 'sequi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/mms/message-queue/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/change-status/omnis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"accusantium","changeBy":"pariatur","changeMode":"perferendis","changeDate":"sed","changeRemarks":"officiis","changeStatusTo":"ducimus","changeStatusObject":"voluptas","currentStatus":"laboriosam","entityType":"et","entityId":"vitae"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/change-status/omnis"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "accusantium",
    "changeBy": "pariatur",
    "changeMode": "perferendis",
    "changeDate": "sed",
    "changeRemarks": "officiis",
    "changeStatusTo": "ducimus",
    "changeStatusObject": "voluptas",
    "currentStatus": "laboriosam",
    "entityType": "et",
    "entityId": "vitae"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/change-status/omnis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'accusantium',
            'changeBy' => 'pariatur',
            'changeMode' => 'perferendis',
            'changeDate' => 'sed',
            'changeRemarks' => 'officiis',
            'changeStatusTo' => 'ducimus',
            'changeStatusObject' => 'voluptas',
            'currentStatus' => 'laboriosam',
            'entityType' => 'et',
            'entityId' => 'vitae',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/change-status/omnis'
payload = {
    "changeStatusField": "accusantium",
    "changeBy": "pariatur",
    "changeMode": "perferendis",
    "changeDate": "sed",
    "changeRemarks": "officiis",
    "changeStatusTo": "ducimus",
    "changeStatusObject": "voluptas",
    "currentStatus": "laboriosam",
    "entityType": "et",
    "entityId": "vitae"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/mms/message-queue/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aut?by=qui" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aut"
);

let params = {
    "by": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'qui',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aut'
params = {
  'by': 'qui',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/mms/message-queue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/officia?by=laborum" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/officia"
);

let params = {
    "by": "laborum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/officia',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'laborum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/officia'
params = {
  'by': 'laborum',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/mms/message-queue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/schema?sf=quia" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/schema"
);

let params = {
    "sf": "quia",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/schema'
params = {
  'sf': 'quia',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-queue/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aspernatur?by=cupiditate" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aspernatur"
);

let params = {
    "by": "cupiditate",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aspernatur',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'cupiditate',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/mms/message-queue/aspernatur'
params = {
  'by': 'cupiditate',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/mms/message-queue/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset?p=2&pp=3&sf=3&sv=15&me=eveniet&ms=repellat&df=voluptatem&ds=velit&de=eum&lf=accusantium&lat=83829971&lng=115.5968&rad=15287683.129" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset"
);

let params = {
    "p": "2",
    "pp": "3",
    "sf": "3",
    "sv": "15",
    "me": "eveniet",
    "ms": "repellat",
    "df": "voluptatem",
    "ds": "velit",
    "de": "eum",
    "lf": "accusantium",
    "lat": "83829971",
    "lng": "115.5968",
    "rad": "15287683.129",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '2',
            'pp'=> '3',
            'sf'=> '3',
            'sv'=> '15',
            'me'=> 'eveniet',
            'ms'=> 'repellat',
            'df'=> 'voluptatem',
            'ds'=> 'velit',
            'de'=> 'eum',
            'lf'=> 'accusantium',
            'lat'=> '83829971',
            'lng'=> '115.5968',
            'rad'=> '15287683.129',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset'
params = {
  'p': '2',
  'pp': '3',
  'sf': '3',
  'sv': '15',
  'me': 'eveniet',
  'ms': 'repellat',
  'df': 'voluptatem',
  'ds': 'velit',
  'de': 'eum',
  'lf': 'accusantium',
  'lat': '83829971',
  'lng': '115.5968',
  'rad': '15287683.129',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/assets/digital-asset

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/assets/digital-asset/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/list/neque/repellat/impedit" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/list/neque/repellat/impedit"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/list/neque/repellat/impedit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/list/neque/repellat/impedit'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/assets/digital-asset/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset?app=dolorem" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset"
);

let params = {
    "app": "dolorem",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'dolorem',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset'
params = {
  'app': 'dolorem',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/assets/digital-asset

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/init?by=animi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/init"
);

let params = {
    "by": "animi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'animi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/init'
params = {
  'by': 'animi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/assets/digital-asset/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/change-status/quam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"iusto","changeBy":"minus","changeMode":"facilis","changeDate":"voluptatum","changeRemarks":"voluptates","changeStatusTo":"sed","changeStatusObject":"soluta","currentStatus":"minus","entityType":"omnis","entityId":"ea"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/change-status/quam"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "iusto",
    "changeBy": "minus",
    "changeMode": "facilis",
    "changeDate": "voluptatum",
    "changeRemarks": "voluptates",
    "changeStatusTo": "sed",
    "changeStatusObject": "soluta",
    "currentStatus": "minus",
    "entityType": "omnis",
    "entityId": "ea"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/change-status/quam',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'iusto',
            'changeBy' => 'minus',
            'changeMode' => 'facilis',
            'changeDate' => 'voluptatum',
            'changeRemarks' => 'voluptates',
            'changeStatusTo' => 'sed',
            'changeStatusObject' => 'soluta',
            'currentStatus' => 'minus',
            'entityType' => 'omnis',
            'entityId' => 'ea',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/change-status/quam'
payload = {
    "changeStatusField": "iusto",
    "changeBy": "minus",
    "changeMode": "facilis",
    "changeDate": "voluptatum",
    "changeRemarks": "voluptates",
    "changeStatusTo": "sed",
    "changeStatusObject": "soluta",
    "currentStatus": "minus",
    "entityType": "omnis",
    "entityId": "ea"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/assets/digital-asset/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/soluta?by=consectetur" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/soluta"
);

let params = {
    "by": "consectetur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/soluta',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'consectetur',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/soluta'
params = {
  'by': 'consectetur',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/assets/digital-asset/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ab?by=sequi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ab"
);

let params = {
    "by": "sequi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ab',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sequi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ab'
params = {
  'by': 'sequi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/assets/digital-asset/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/schema?sf=iusto" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/schema"
);

let params = {
    "sf": "iusto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'iusto',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/schema'
params = {
  'sf': 'iusto',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/assets/digital-asset/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ut?by=dolore" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ut"
);

let params = {
    "by": "dolore",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'dolore',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/assets/digital-asset/ut'
params = {
  'by': 'dolore',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/assets/digital-asset/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

List {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download?p=16&pp=4&sf=1&sv=17&me=illo&ms=deleniti&df=dolorum&ds=ut&de=nesciunt&lf=incidunt&lat=38565.912&lng=7190.0965&rad=2164.39978399" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download"
);

let params = {
    "p": "16",
    "pp": "4",
    "sf": "1",
    "sv": "17",
    "me": "illo",
    "ms": "deleniti",
    "df": "dolorum",
    "ds": "ut",
    "de": "nesciunt",
    "lf": "incidunt",
    "lat": "38565.912",
    "lng": "7190.0965",
    "rad": "2164.39978399",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'p'=> '16',
            'pp'=> '4',
            'sf'=> '1',
            'sv'=> '17',
            'me'=> 'illo',
            'ms'=> 'deleniti',
            'df'=> 'dolorum',
            'ds'=> 'ut',
            'de'=> 'nesciunt',
            'lf'=> 'incidunt',
            'lat'=> '38565.912',
            'lng'=> '7190.0965',
            'rad'=> '2164.39978399',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download'
params = {
  'p': '16',
  'pp': '4',
  'sf': '1',
  'sv': '17',
  'me': 'illo',
  'ms': 'deleniti',
  'df': 'dolorum',
  'ds': 'ut',
  'de': 'nesciunt',
  'lf': 'incidunt',
  'lat': '38565.912',
  'lng': '7190.0965',
  'rad': '2164.39978399',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/file-download

Query Parameters

p  integer optional  
Page number

pp  integer optional  
Record Items per Page Single Field Search Parameters

sf  integer optional  
Field to search

sv  integer optional  
Value to search Multi Search Parameters

me  string optional  
Encoding used on query string, default => p(lain) , no encoding , or "b" => base64 encoded base64 encoding used if search keyword potentially contains invalid url encodable characters

ms  string optional  
Composed query string Multisearch is a very simple implementation of multifield search. for more advanced and complex search or query consider using GraphQL format : field1:op1:t1:val1|field2:op2:t2:val2|field3:op3:t3:val3 field : fieldName op : operator => like, eq, ne, gt, gte, le, lte t : type of value => s(tring), i(nt), d(ouble), f(loat) special rule : "like" will always assume that value is string, therefore t is used as wildcard (%) position marker when op = like, t can be b(oth) , l(eft) , or r(ight) will compose the value as '%value%' , '%value', 'value%' respectively Date / Datetime range search

df  string optional  
Date Field , Date / date time field as search subject

ds  string optional  
Date Start, start of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss

de  string optional  
Date End, end of date range, format yyyy-mm-dd or yyyy-mm-dd hh:mm:ss Geo point search

lf  string optional  
Date Field , Date / date time field as search subject

lat  number optional  
Latitude of search center point

lng  number optional  
Longitude of search center point

rad  number optional  
Search radius in kilometer

List as Select Option {{entityName}}

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/options" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/options"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/options',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/options'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/file-download/options

List {{entityName}} with filter in URL segment

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/list/praesentium/fugiat/ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/list/praesentium/fugiat/ut"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/list/praesentium/fugiat/ut',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/list/praesentium/fugiat/ut'
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

Request      

GET api/v1/mobile/workflow/file-download/list/{keyword0}/{keyword1?}/{keyword2?}

URL Parameters

keyword0  string  

keyword1  string optional  

keyword2  string optional  

Add new Member

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download?app=totam" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download"
);

let params = {
    "app": "totam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'app'=> 'totam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download'
params = {
  'app': 'totam',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/file-download

Query Parameters

app  string optional  
App bundle Id to identify which application creates new member

Get INITIAL Object Data

requires authentication

Example request:

curl -X POST \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/init?by=quasi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/init"
);

let params = {
    "by": "quasi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/init',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'quasi',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/init'
params = {
  'by': 'quasi',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, params=params)
response.json()

Request      

POST api/v1/mobile/workflow/file-download/init

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField

Update Entity Status ( optional method )

requires authentication

Generic way to set status of entity,

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/change-status/eligendi" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"changeStatusField":"eum","changeBy":"et","changeMode":"tempore","changeDate":"voluptates","changeRemarks":"delectus","changeStatusTo":"voluptatem","changeStatusObject":"doloribus","currentStatus":"dolores","entityType":"incidunt","entityId":"officiis"}'
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/change-status/eligendi"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "changeStatusField": "eum",
    "changeBy": "et",
    "changeMode": "tempore",
    "changeDate": "voluptates",
    "changeRemarks": "delectus",
    "changeStatusTo": "voluptatem",
    "changeStatusObject": "doloribus",
    "currentStatus": "dolores",
    "entityType": "incidunt",
    "entityId": "officiis"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/change-status/eligendi',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'json' => [
            'changeStatusField' => 'eum',
            'changeBy' => 'et',
            'changeMode' => 'tempore',
            'changeDate' => 'voluptates',
            'changeRemarks' => 'delectus',
            'changeStatusTo' => 'voluptatem',
            'changeStatusObject' => 'doloribus',
            'currentStatus' => 'dolores',
            'entityType' => 'incidunt',
            'entityId' => 'officiis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/change-status/eligendi'
payload = {
    "changeStatusField": "eum",
    "changeBy": "et",
    "changeMode": "tempore",
    "changeDate": "voluptates",
    "changeRemarks": "delectus",
    "changeStatusTo": "voluptatem",
    "changeStatusObject": "doloribus",
    "currentStatus": "dolores",
    "entityType": "incidunt",
    "entityId": "officiis"
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

Request      

PUT api/v1/mobile/workflow/file-download/change-status/{id}

URL Parameters

id  string  

Body Parameters

changeStatusField  string optional  
Field status yang akan diupdate ie: requestStatus, workStatus

changeBy  string optional  
Nama user yang mengubah status

changeMode  string optional  
Mode pengubahan status, single atau multi

changeDate  string optional  
Tanggal / datetime perubahan status

changeRemarks  string optional  
Berisi alasan / note perubahan status

changeStatusTo  string optional  
Status baru yang diubahkan dari status lama

changeStatusObject  array optional  
Array field dan status baru yang diubahkan, berlaku jika changeMode == 'multi' ie: { 'paymentStatus': 'PAID', 'trxStatus' : 'CLOSED' } atau { 'paymentStatus': { 'status' : 'PAID', 'note' : 'bayar full' } , 'trxStatus' : { 'status' : 'CLOSED', 'note' : 'bayar lunas', 'date' : '2024-09-12 13:18:23' } }

currentStatus  string optional  
Status saat ini yang akan diubah

entityType  string optional  
Tipe object yang diubah statusnya ie: servicerequest

entityId  string optional  
Id entity dari extId entity

Update Object Data

requires authentication

Example request:

curl -X PUT \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/quis?by=ut" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/quis"
);

let params = {
    "by": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->put(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/quis',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'ut',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/quis'
params = {
  'by': 'ut',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, params=params)
response.json()

Request      

PUT api/v1/mobile/workflow/file-download/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: PUT /endpoint/id123456?by=otherUniqueField

Delete Object data

requires authentication

Example request:

curl -X DELETE \
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/suscipit?by=perferendis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/suscipit"
);

let params = {
    "by": "perferendis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->delete(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/suscipit',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'perferendis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/suscipit'
params = {
  'by': 'perferendis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers, params=params)
response.json()

Request      

DELETE api/v1/mobile/workflow/file-download/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: DEL /endpoint/id123456?by=otherUniqueField

Object Schema / Struktur JSON

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/schema?sf=omnis" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/schema"
);

let params = {
    "sf": "omnis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/schema',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'sf'=> 'omnis',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/schema'
params = {
  'sf': 'omnis',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/file-download/schema

Query Parameters

sf  string optional  
Tampilkan hanya field tertentu dari object ie: sf=type akan menampilkan :

Get Object Data

requires authentication

Example request:

curl -X GET \
    -G "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/repellendus?by=sapiente" \
    -H "Authorization: Bearer {token}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/repellendus"
);

let params = {
    "by": "sapiente",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/repellendus',
    [
        'headers' => [
            'Authorization' => 'Bearer {token}',
            'Accept' => 'application/json',
        ],
        'query' => [
            'by'=> 'sapiente',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://devppj.wikaenergi.com/api/v1/mobile/workflow/file-download/repellendus'
params = {
  'by': 'sapiente',
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Request      

GET api/v1/mobile/workflow/file-download/{id}

URL Parameters

id  string  
The ID of the object, string representation of _id in Mongodb.

Query Parameters

by  string optional  
optional identifier field other than mongodb _id, used with *id* urlParam ie: GET /endpoint/id123456?by=otherUniqueField