Skip to main content

Merchant

Public Key dan Private Key​

Buat pasangan kunci RSA untuk akses API Anda. Simpan private key dengan aman dan jangan dibagikan. Public key perlu dikirimkan ke Kirimo agar Anda dapat mengakses API.

Panjang kunci yang diwajibkan adalah 2048-bit.

Contoh pembuatan RSA Key​

a. Create Private Key​

openssl genrsa -out rsa_private_key.pem 2048

b. Export Public Key​

openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout

c. PKCS#1 Encoding​

Partner harus membuat signature menggunakan pkcs1_rsa_private_key.pem. Kirimo akan menggunakan rsa_public_key.pem untuk melakukan validasi signature (dan sebaliknya).


Bearer Token​

Bearer Token digunakan untuk otorisasi setiap request ke API. Token ini didapatkan melalui endpoint autentikasi dengan mekanisme client credentials.

Get Token API​

Method: POST Type: application/json

Endpoint:

  • Development: https://rest.kirimo.dev/auth/v1.0/access-token/b2b
  • Production: https://api.kirimo.co/auth/v1.0/access-token/b2b

Service Code: 73

ParameterTipeMandatoriKeteranganContoh
Content-Typestring✓Jenis mediaapplication/json
X-TIMESTAMPstring✓ISO-8601 timestamp2022-09-16T13:00:00+07:00
X-SIGNATUREstring✓Signature SHA256withRSA-
X-CLIENT-KEYstring✓Client Key dari dashboardDXXXX

Signature Formula:

stringToSign = ClientKey + "|" + Timestamp
signature = SHA256withRSA(PrivateKey, stringToSign)

Request Body​

ParameterTipeMandatoriKeteranganContoh
grantTypestring✓Nilai harus client_credentialsclient_credentials

Response Code​

CodeMessageKeterangan
2007300SuccessfulBerhasil mendapatkan access token
4007301Invalid Field Format grantTypeFormat field salah
4007302Invalid Mandatory Field grantTypeField wajib tidak ada
4007302Invalid Client Key or Timestamp or SignatureKredensial tidak valid
4017300Invalid Client KeyClient key salah
4017300Invalid SignatureSignature salah

Setelah token diterima, sertakan pada setiap request menggunakan header:

Authorization: Bearer <access_token>

Create Merchant

API ini digunakan untuk membuat merchant baru.

Method: POST Path: /api/v1.0/merchant Service Code: 10000

Header​

ParameterTipeMandatoriKeterangan
Content-Typestring✓application/json
X-TIMESTAMPstring✓ISO-8601
X-SIGNATUREstring✓Signature
X-EXTERNAL-IDstring(64)✓Request ID unik
CHANNEL-IDstringKIRIMO
Authorizationstring✓Bearer Token

Request Body​

ParameterTipeMandatoriKeterangan
namestring✓Nama merchant
business_namestring✓Nama bisnis

Example Request​

{
"name": "Test Merchant",
"business_name": "Test Business"
}

Get Merchant Detail

Mengambil detail merchant berdasarkan merchant_ref.

Method: GET Path: /api/v1.0/merchant/{merchant_ref} Service Code: 1011


List Merchants

Mengambil daftar merchant dengan paginasi dan pencarian.

Method: GET Path: /api/v1.0/merchant Service Code: 1012

Query Params​

ParameterTipeDefaultKeterangan
pageinteger1Nomor halaman
limitinteger10Jumlah data per halaman
searchstring-Pencarian nama merchant

Response Code Summary

CodeKeterangan
200XX00Request berhasil
400XX01Invalid field format
400XX02Missing mandatory field
401XX00Unauthorized signature
401XX01Invalid access token
500XX00Kesalahan sistem Kirimo