API Endpoint Documentation
Updated: 14-Nov | Previous: 11-Oct-25
| # | Method | Endpoint Address | Updated | Previous |
| 1 | GET | https://stage-opceapi.ppa.com.ph/api/opce/GetPartyClientListAsync?ver= | 26-Mar-2025 | 21-Mar-2025 |
| 2 | GET | https://stage-opceapi.ppa.com.ph/api/opce/GetCommodityListAsync?ver= | 26-Mar-2025 | 21-Mar-2025 |
| 3 | POST | https://stage-opceapi.ppa.com.ph/api/opce/PostExemptionRequestAsync | 26-Mar-2025 | 21-Mar-2025 |
| 4 | POST | https://stage-opceapi.ppa.com.ph/api/opce/PostBatchExemptionRequestAsync | 19-Nov-2025 | 07-Jul-2025 |
| 5 | GET | https://stage-opceapi.ppa.com.ph/api/opce/GetVerChanges?t= | 26-Mar-2025 | 21-Mar-2025 |
| Method | Endpoint Address / Description | Updated | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | https://stage-opceapi.ppa.com.ph/api/opce/GetPartyClientListAsync?ver=
Request Parameters:
Example Code: (NodeJS TypeScript) fetch( https://stage-opceapi.ppa.com.ph/api/opce/GetPartyClientListAsync?ver=2, { method: "GET", headers: { "Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1Ni..." }, } ) JSON Response: NOTE: The endpoint will emit the JSON record below depending on the version requested. If the version being requested is not equal to the version currently held in PPA server, it will emit JSON Figure A.Otherwise, it will emit a JSON record Figure B. Figure A Example Request: https://stage-opceapi.ppa.com.ph/api/opce/GetPartyClientListAsync?ver=1.00 Below, the JSON property ListOfParties contains all the current updated list of companies. The subscriber client (e.g. ICTSI) must persist the version number on their part for requesting the next available updated list. ![]() Figure B Example Request: https://stage-opceapi.ppa.com.ph/api/opce/GetPartyClientListAsync?ver=2.71 Below, the JSON property Below, the JSON property ListOfParties is null or empty because the version list being requested is the same with PPA records. ![]() | 26-Mar-2025 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | https://stage-opceapi.ppa.com.ph/api/opce/GetCommodityListAsync?ver=
Request Parameters:
Example Code: (NodeJS TypeScript) fetch( https://stage-opceapi.ppa.com.ph/api/opce/GetCommodityListAsync?ver=2, { method: "GET", headers: { "Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1Ni..." }, } ) Figure A Example Request: https://stage-opceapi.ppa.com.ph/api/opce/GetCommodityListAsync?ver=1.00 Below, the JSON property OpceMasterDetailCommodities contains all the current updated list of commodities in master-id parent format. The subscriber client (e.g. ICTSI) must persist the version number on their part for requesting the next available updated list. ![]() The fields:
Figure B Example Request: https://stage-opceapi.ppa.com.ph/api/opce/GetCommodityListAsync?ver=9.95 Below, the JSON property Below, the JSON property OpceMasterDetailCommodities is null or empty because the version list being requested is the same with PPA records. ![]() | 26-Mar-2025 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | https://stage-opceapi.ppa.com.ph/api/opce/PostExemptionRequestAsync Post a commodity item being requested from a particular party or company for exemption.The order and casing of each field/member must be in order and exact respectively. Request Parameters (payload)
Example Code: (NodeJS TypeScript), ASP.NET and other languages may differ. fetch( https://stage-opceapi.ppa.com.ph/api/opce/PostExemptionRequestAsync, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1Ni..." }, body: JSON.stringify(payload), } ) JSON Response: ![]() | 26-Mar-2025 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | https://stage-opceapi.ppa.com.ph/api/opce/PostBatchExemptionRequestAsync Post a batch of commodity items being requested from a particular party or company for exemption. The order and casing of each field/member must be in order and exact respectively. Request Parameters (payload):
Definition of OpceCommodityDto
fetch( https://stage-opceapi.ppa.com.ph/api/opce/PostBatchExemptionRequestAsync, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1Ni..." }, body: JSON.stringify(payload), } ) Sample JSON Response: ![]() NOTES:Should there be expired commodities inside the batch request, the CommodityListReponse, each REQ_REMARK_CODE will contain the value X1 which stands for COMMODITY IS EXPIRED. The ATTRIBUTE5 of the response will also contain the effectivity date from and to, both in dates formats. | 11-Nov-2025 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | https://stage-opceapi.ppa.com.ph/api/opce/GetVerChanges?t= Gets the version changes history of either commodity or the party/customer such as name modifications, additions, deletions, others.
Request Parameters:
Example Code: (NodeJS TypeScript), ASP.NET C# and other languages may differ. fetch( https://stage-opceapi.ppa.com.ph/api/opce/GetVerChanges?t=, { method: "GET", headers: { "Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1Ni..." }, } ) JSON Response: ![]() | 26-Mar-2025 |






