Introduction
Welcome to the API Reference section. This section provides technical details about Alterra's APIs, including request and response formats, as well as parameter definitions.
Base Url
The base URLs for accessing the API are:
- Staging:
horven-api.sumpahpalapa.com/api
Response Code
The response codes returned to the Partner can refer to the following table:
| Response Code | Descriptions |
|---|---|
| 00 | Success |
| 10 | Pending |
| 20 | Wrong Number/number Blocked/ Number Expired |
| 21 | Product Issue |
| 22 | Duplicate Transactions |
| 23 | Connection Timeout |
| 24 | Provider Cutoff |
| 25 | KWH is Overlimit |
| 26 | Payment is Overlimit |
| 50 | Bill Already Paid/ Not available |
| 51 | Invalid Inquiry Amount/ No Inquiry Found |
| 98 | Order Canceled by Ops |
| 99 | General Error |
HTTP Error Response
The HTTP error responses returned to the Partner can refer to the following table:
| Response Status | Body | Description |
|---|---|---|
| 400 | Missing X-Client-ID header | Client ID header not provided |
| 400 | Missing X-Client-Signature header | Signature header not provided |
| 400 | Missing X-Client-Timestamp header | Timestamp header not provided |
| 400 | Invalid timestamp format (use RFC3339) | Timestamp not in RFC3339 format |
| 401 | Request too old (more than 5 minutes) | Timestamp is older than 5 minutes |
| 401 | Invalid partner credential key | Client ID not found or invalid |
| 401 | Partner credential key expired | Your public key has expired |
| 401 | Invalid IP address | Request from unauthorized IP address |
| 401 | Invalid request body | Request body could not be read |
| 401 | Signature verification failed | Signature is invalid |
| 403 | 403 Forbidden | Invalid Authentication |
| 403 | 403 Forbidden: Product Unavailable | Invalid Product ID |
| 403 | 403 Forbidden: Insufficient Deposit Amount | Deposit tidak mencukupi untuk melakukan transaksi (Deposit is insufficient to make a transaction) |
| 406 | 406 Missing data property: "Property_name" | Parameter mandatory di Body request ada yang tidak valid (Mandatory parameter in Body request is invalid) |
| 406 | 406 Not Acceptable: invalid property value "Property_name" | Parameter mandatory di Body request ada yang tidak sesuai (Mandatory parameter in Body request is not appropriate) |
| 422 | 422 Duplicate Order ID: "Order_No" | Order ID yang dikirim oleh partner mengalami duplicate transaksi karena Order ID tersebut masih berjalan disisi Alterra (Order ID sent by partner experienced duplicate transaction because the Order ID is still running on Alterra's side) |
| 450 | 450 Product Closed Temporary | Product sedang tidak tersedia (Product is temporarily unavailable) |
Transaction status
The transaction statuses that the Partner may receive are: Success Failed Pending
For handling each HTTP issue or response code received, please refer to the following page: Partner Integration Guideline [CONFIDENTIAL].
Journey
In terms of the transaction journey, there are two types:
- Transactions that require an inquiry
- Transactions that do not require an inquiry
The required transaction flow is as follows:
- The Partner must first perform authentication.
- The Partner sends a request to the Purchase API for a mobile prepaid product.
- Alterra will initially return a response with RC 10 and a pending status.
- The Partner can periodically check the final status by calling the Check Status API.
- Alternatively, the Partner may integrate with Alterra's Callback to receive status updates automatically.
The required transaction flow is as follows:
- The Partner must first perform authentication.
- The Partner sends a request to the Purchase API for a mobile prepaid product.
- Alterra will initially return a response with RC 10 and a pending status.
- The Partner can periodically check the final status by calling the Check Status API.
- Alternatively, the Partner may integrate with Alterra's Callback to receive status updates automatically.
Last updated on Sep 20, 2025
Was this page helpful?