Skip to main content

Get and Update Orders

The Ordering API enables order retrieval, status updates operations.

Note: All requests require an X-API-Key header with your API key.


1. Get Orders

Service Call: OrderService.GetOrders

Retrieve paginated orders with optional status filtering and date range.

Examples

import com.google.protobuf.Timestamp;
import com.kodypay.grpc.ordering.v1.GetOrdersRequest;
import com.kodypay.grpc.ordering.v1.OrderServiceGrpc;
import com.kodypay.grpc.ordering.v1.OrderStatus;
import io.grpc.ManagedChannelBuilder;
import io.grpc.Metadata;

import java.time.Instant;
import java.util.List;

public class GetOrdersExample {
public static void main(String[] args) {
Metadata metadata = new Metadata();
metadata.put(Metadata.Key.of("X-API-Key", Metadata.ASCII_STRING_MARSHALLER), API_KEY);

var channel = ManagedChannelBuilder.forAddress("grpc-staging.kodypay.com", 443)
.useTransportSecurity().build();
var client = OrderServiceGrpc.newBlockingStub(channel)
.withInterceptors(newAttachHeadersInterceptor(metadata));

GetOrdersRequest request = GetOrdersRequest.newBuilder()
.setStoreId("STORE_123")
.addAllStatusIn(List.of(OrderStatus.COMPLETED))
.setAfterDate(Timestamp.newBuilder().setSeconds(Instant.now().minus(7, DAYS).getEpochSecond()))
.setPageSize(50)
.build();

var response = client.getOrders(request);
response.getOrdersList().forEach(order -> {
System.out.println("Order ID: " + order.getOrderId());
System.out.println("Total: " + order.getTotalAmount());
});
}
}

2. Update Order Status

Service Call: OrderService.UpdateOrderStatus

Change order workflow status (e.g., from PENDING to COMPLETED).

Examples

UpdateOrderStatusRequest request = UpdateOrderStatusRequest.newBuilder()
.setStoreId("STORE_123")
.setOrderId("ORDER_456")
.setNewStatus(OrderStatus.COMPLETED)
.setIdempotencyUuid(UUID.randomUUID().toString())
.build();

var response = client.updateOrderStatus(request);