Reset Customer ID
curl --request POST \
--url https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id \
--header 'Accept: <accept>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-PARTNER-ID: <x-partner-id>' \
--data '
{
"command": "reset-customer-id"
}
'import requests
url = "https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id"
payload = { "command": "reset-customer-id" }
headers = {
"X-PARTNER-ID": "<x-partner-id>",
"Accept": "<accept>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-PARTNER-ID': '<x-partner-id>',
Accept: '<accept>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({command: 'reset-customer-id'})
};
fetch('https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'command' => 'reset-customer-id'
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-PARTNER-ID: <x-partner-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id"
payload := strings.NewReader("{\n \"command\": \"reset-customer-id\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-PARTNER-ID", "<x-partner-id>")
req.Header.Add("Accept", "<accept>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id")
.header("X-PARTNER-ID", "<x-partner-id>")
.header("Accept", "<accept>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"command\": \"reset-customer-id\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-PARTNER-ID"] = '<x-partner-id>'
request["Accept"] = '<accept>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"command\": \"reset-customer-id\"\n}"
response = http.request(request)
puts response.read_body{
"command": "reset-customer-id",
"response_code": "00",
"response_text": "Operation completed successfully."
}{
"status": 401,
"success": false,
"error": {
"code": 401,
"message": "Unauthorized merchant, please sign in"
}
}{
"command": "detail-bill-transaction",
"response_code": "04",
"response_text": "Rejected Format Error",
"data": {
"data": "The data field is required.",
"data.transaction_id": "The data.transaction id field is required."
}
}General
Reset Customer ID
This API is intended solely for the development team to perform repeated tests in the development environment. Because of limitations on customer IDs in the dev server, the API can reset any customer ID that becomes unusable due to fraud detection mechanisms or other restrictions.
POST
/
api
/
v1
/
reset-customer-id
Reset Customer ID
curl --request POST \
--url https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id \
--header 'Accept: <accept>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-PARTNER-ID: <x-partner-id>' \
--data '
{
"command": "reset-customer-id"
}
'import requests
url = "https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id"
payload = { "command": "reset-customer-id" }
headers = {
"X-PARTNER-ID": "<x-partner-id>",
"Accept": "<accept>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-PARTNER-ID': '<x-partner-id>',
Accept: '<accept>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({command: 'reset-customer-id'})
};
fetch('https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'command' => 'reset-customer-id'
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-PARTNER-ID: <x-partner-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id"
payload := strings.NewReader("{\n \"command\": \"reset-customer-id\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-PARTNER-ID", "<x-partner-id>")
req.Header.Add("Accept", "<accept>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id")
.header("X-PARTNER-ID", "<x-partner-id>")
.header("Accept", "<accept>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"command\": \"reset-customer-id\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-biller-b2b.singapay.id/api/v1/reset-customer-id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-PARTNER-ID"] = '<x-partner-id>'
request["Accept"] = '<accept>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"command\": \"reset-customer-id\"\n}"
response = http.request(request)
puts response.read_body{
"command": "reset-customer-id",
"response_code": "00",
"response_text": "Operation completed successfully."
}{
"status": 401,
"success": false,
"error": {
"code": 401,
"message": "Unauthorized merchant, please sign in"
}
}{
"command": "detail-bill-transaction",
"response_code": "04",
"response_text": "Rejected Format Error",
"data": {
"data": "The data field is required.",
"data.transaction_id": "The data.transaction id field is required."
}
}Authorizations
JWT Bearer token obtained from /api/v1.0/access-token/b2b
Body
application/json
Available options:
reset-customer-id Example:
"reset-customer-id"
⌘I
