# 3. Decision (Accept / Reject)

Order Decisions (Bulk) — Accept or reject multiple orders in one request. Synchronous; returns per-item outcomes in the standard response envelope.

Overview

Auth
HMAC Partner
Method
POST

# Path

https://partners-api.tocobagus.net/api/v1 /partner/stores/orders/decisions

# Request

Query parameters: None.

# Required Headers

Header Example Description
x-signature bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80 HMAC signature of the request, computed with the partner secret and x-timestamp (auth integrity).
x-partner-client-id ptnr_1s4UqMnO64 Partner identifier issued by Omni; used to locate the partner secret.
x-store-client-id store_NB5DgDcEoWEu Target store identifier under the partner account.
x-store-token stkn_Xfe-j_OKH5H2Xg66 Store access token for store-level authorization.
x-timestamp 1758100350458 UNIX epoch timestamp used when computing x-signature (replay protection).

# Request Payload

Content-Type: application/json

# Example Body Payload

{
  "items": [
    {
      "orderId": "69795e43-8b2f-4a4a-b4a5-32ecfbb8a28e",
      "decision": "reject",
      "reasonCode": "OUT_OF_STOCK",
      "reason": "sedang kosong, restock soon"
    },
    {
      "invoiceNumber": "INV-12345678",
      "decision": "accept"
    }
  ]
}

# Example Request

curl -X POST "http:///partner/stores/orders/decisions" \
  -H "Content-Type: application/json" \
  -H "x-signature: bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80" \
  -H "x-partner-client-id: ptnr_1s4UqMnO64" \
  -H "x-store-client-id: store_NB5DgDcEoWEu" \
  -H "x-store-token: stkn_Xfe-j_OKH5H2Xg66" \
  -H "x-timestamp: 1758100350458" \
  --data '{"items":[{"orderId":"69795e43-8b2f-4a4a-b4a5-32ecfbb8a28e","decision":"reject","reasonCode":"OUT_OF_STOCK","reason":"sedang kosong, restock soon"}]}'
const qs = new URLSearchParams({});
const url = "http:///partner/stores/orders/decisions" + (qs.toString() ? "?" + qs.toString() : "");
const res = await fetch(url, {
  method: "POST",
  headers: {
  "x-signature": "bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80",
  "x-partner-client-id": "ptnr_1s4UqMnO64",
  "x-store-client-id": "store_NB5DgDcEoWEu",
  "x-store-token": "stkn_Xfe-j_OKH5H2Xg66",
  "x-timestamp": "1758100350458"
},
  body: JSON.stringify({"items":[{"orderId":"69795e43-8b2f-4a4a-b4a5-32ecfbb8a28e","decision":"reject","reasonCode":"OUT_OF_STOCK","reason":"sedang kosong, restock soon"}]})
});
const json = await res.json();
console.log(json);
qs := url.Values{}

u := "http:///partner/stores/orders/decisions"
if q := qs.Encode(); q != "" { u = u + "?" + q }
req, _ := http.NewRequest("POST", u, bytes.NewBufferString("{\"items\":[{\"orderId\":\"69795e43-8b2f-4a4a-b4a5-32ecfbb8a28e\",\"decision\":\"reject\",\"reasonCode\":\"OUT_OF_STOCK\",\"reason\":\"sedang kosong, restock soon\"}]}"))
req.Header.Set("x-signature", "bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80")
req.Header.Set("x-partner-client-id", "ptnr_1s4UqMnO64")
req.Header.Set("x-store-client-id", "store_NB5DgDcEoWEu")
req.Header.Set("x-store-token", "stkn_Xfe-j_OKH5H2Xg66")
req.Header.Set("x-timestamp", "1758100350458")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
b, _ := io.ReadAll(resp.Body)
fmt.Println(string(b))
var client = java.net.http.HttpClient.newHttpClient();
var req = java.net.http.HttpRequest.newBuilder()
    .uri(java.net.URI.create("http:///partner/stores/orders/decisions"))
    .header("Content-Type","application/json")
    .header("x-signature", "bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80")
    .header("x-partner-client-id", "ptnr_1s4UqMnO64")
    .header("x-store-client-id", "store_NB5DgDcEoWEu")
    .header("x-store-token", "stkn_Xfe-j_OKH5H2Xg66")
    .header("x-timestamp", "1758100350458")
    .method("POST", java.net.http.HttpRequest.BodyPublishers.ofString("{\"items\":[{\"orderId\":\"69795e43-8b2f-4a4a-b4a5-32ecfbb8a28e\",\"decision\":\"reject\",\"reasonCode\":\"OUT_OF_STOCK\",\"reason\":\"sedang kosong, restock soon\"}]}"))
    .build();
var res = client.send(req, java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());

# Responses

# Example Responses

{
  "success": true,
  "message": "Successful response"
}

# Dictionary

None for this endpoint.

# Notes

None for this endpoint.