using Gr4vy;
using Gr4vy.Models.Components;
using Gr4vy.Models.Requests;
var sdk = new Gr4vySDK(
id: "example",
server: SDKConfig.Server.Sandbox,
bearerAuthSource: Auth.WithToken(privateKey),
merchantAccountId: "default"
);
ListTransactionEventsResponse? res = await sdk.Transactions.Events.ListAsync(
transactionId: "7099948d-7286-47e4-aad8-b68f7eb44591",
cursor: "ZXhhbXBsZTE",
limit: 100
);
while(res != null)
{
// handle items
res = await res.Next!();
}package main
import(
"context"
"os"
gr4vygo "github.com/gr4vy/gr4vy-go"
"log"
)
func main() {
ctx := context.Background()
s := gr4vy.New(
gr4vy.WithID("example"),
gr4vy.WithServer(gr4vy.ServerSandbox),
gr4vy.WithSecuritySource(withToken),
gr4vy.WithMerchantAccountID("default"),
)
res, err := s.Transactions.Events.List(ctx, "7099948d-7286-47e4-aad8-b68f7eb44591", gr4vygo.Pointer("ZXhhbXBsZTE"), gr4vygo.Pointer[int64](100))
if err != nil {
log.Fatal(err)
}
if res != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}package hello.world;
import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.ListTransactionEventsResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Gr4vy sdk = Gr4vy.builder()
.id("example")
.server(AvailableServers.SANDBOX)
.merchantAccountId("default")
.securitySource(new BearerSecuritySource.Builder(privateKey).build())
.build();
sdk.transactions().events().list()
.transactionId("7099948d-7286-47e4-aad8-b68f7eb44591")
.cursor("ZXhhbXBsZTE")
.limit(100L)
.callAsStream()
.forEach((ListTransactionEventsResponse item) -> {
// handle page
});
}
}declare(strict_types=1);
require 'vendor/autoload.php';
use Gr4vy;
$sdk = Gr4vy\SDK::builder()
->setId('example')
->setServer('sandbox')
->setSecuritySource(Auth::withToken($privateKey))
->setMerchantAccountId('default')
->build();
$responses = $sdk->transactions->events->list(
transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',
cursor: 'ZXhhbXBsZTE',
limit: 100
);
foreach ($responses as $response) {
if ($response->statusCode === 200) {
// handle response
}
}from gr4vy import Gr4vy
import os
with Gr4vy(
id="example",
server="sandbox",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
) as g_client:
res = g_client.transactions.events.list(transaction_id="7099948d-7286-47e4-aad8-b68f7eb44591", cursor="ZXhhbXBsZTE", limit=100)
while res is not None:
# Handle items
res = res.next()import { Gr4vy, withToken } from "@gr4vy/sdk";
import fs from "fs";
const gr4vy = new Gr4vy({
id: "example",
server: "sandbox",
merchantAccountId: "default",
bearerAuth: withToken({
privateKey: fs.readFileSync("private_key.pem", "utf8"),
}),
});
async function run() {
const result = await gr4vy.transactions.events.list("7099948d-7286-47e4-aad8-b68f7eb44591");
for await (const page of result) {
console.log(page);
}
}
run();curl --request GET \
--url https://api.sandbox.{id}.gr4vy.app/transactions/{transaction_id}/events \
--header 'Authorization: Bearer <token>'{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"context": {},
"type": "transaction-event"
}
],
"limit": 20,
"next_cursor": "ZXhhbXBsZTE",
"previous_cursor": "Xkjss7asS"
}{
"type": "error",
"code": "bad_request",
"status": 400,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "not_found",
"status": 404,
"message": "The resource could not be found",
"details": []
}{
"type": "error",
"code": "method_not_allowed",
"status": 405,
"message": "Method Not Allowed",
"details": []
}{
"type": "error",
"code": "duplicate_record",
"status": 409,
"message": "Generic error",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "server_error",
"status": 500,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "bad_gateway",
"status": 502,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "gateway_timeout",
"status": 504,
"message": "Request could not be processed",
"details": []
}List transaction events
Retrieve a paginated list of events related to processing a transaction, including status changes, API requests, and webhook delivery attempts. Events are listed in chronological order, with the most recent events first.
using Gr4vy;
using Gr4vy.Models.Components;
using Gr4vy.Models.Requests;
var sdk = new Gr4vySDK(
id: "example",
server: SDKConfig.Server.Sandbox,
bearerAuthSource: Auth.WithToken(privateKey),
merchantAccountId: "default"
);
ListTransactionEventsResponse? res = await sdk.Transactions.Events.ListAsync(
transactionId: "7099948d-7286-47e4-aad8-b68f7eb44591",
cursor: "ZXhhbXBsZTE",
limit: 100
);
while(res != null)
{
// handle items
res = await res.Next!();
}package main
import(
"context"
"os"
gr4vygo "github.com/gr4vy/gr4vy-go"
"log"
)
func main() {
ctx := context.Background()
s := gr4vy.New(
gr4vy.WithID("example"),
gr4vy.WithServer(gr4vy.ServerSandbox),
gr4vy.WithSecuritySource(withToken),
gr4vy.WithMerchantAccountID("default"),
)
res, err := s.Transactions.Events.List(ctx, "7099948d-7286-47e4-aad8-b68f7eb44591", gr4vygo.Pointer("ZXhhbXBsZTE"), gr4vygo.Pointer[int64](100))
if err != nil {
log.Fatal(err)
}
if res != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}package hello.world;
import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.ListTransactionEventsResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Gr4vy sdk = Gr4vy.builder()
.id("example")
.server(AvailableServers.SANDBOX)
.merchantAccountId("default")
.securitySource(new BearerSecuritySource.Builder(privateKey).build())
.build();
sdk.transactions().events().list()
.transactionId("7099948d-7286-47e4-aad8-b68f7eb44591")
.cursor("ZXhhbXBsZTE")
.limit(100L)
.callAsStream()
.forEach((ListTransactionEventsResponse item) -> {
// handle page
});
}
}declare(strict_types=1);
require 'vendor/autoload.php';
use Gr4vy;
$sdk = Gr4vy\SDK::builder()
->setId('example')
->setServer('sandbox')
->setSecuritySource(Auth::withToken($privateKey))
->setMerchantAccountId('default')
->build();
$responses = $sdk->transactions->events->list(
transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',
cursor: 'ZXhhbXBsZTE',
limit: 100
);
foreach ($responses as $response) {
if ($response->statusCode === 200) {
// handle response
}
}from gr4vy import Gr4vy
import os
with Gr4vy(
id="example",
server="sandbox",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
) as g_client:
res = g_client.transactions.events.list(transaction_id="7099948d-7286-47e4-aad8-b68f7eb44591", cursor="ZXhhbXBsZTE", limit=100)
while res is not None:
# Handle items
res = res.next()import { Gr4vy, withToken } from "@gr4vy/sdk";
import fs from "fs";
const gr4vy = new Gr4vy({
id: "example",
server: "sandbox",
merchantAccountId: "default",
bearerAuth: withToken({
privateKey: fs.readFileSync("private_key.pem", "utf8"),
}),
});
async function run() {
const result = await gr4vy.transactions.events.list("7099948d-7286-47e4-aad8-b68f7eb44591");
for await (const page of result) {
console.log(page);
}
}
run();curl --request GET \
--url https://api.sandbox.{id}.gr4vy.app/transactions/{transaction_id}/events \
--header 'Authorization: Bearer <token>'{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"context": {},
"type": "transaction-event"
}
],
"limit": 20,
"next_cursor": "ZXhhbXBsZTE",
"previous_cursor": "Xkjss7asS"
}{
"type": "error",
"code": "bad_request",
"status": 400,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "not_found",
"status": 404,
"message": "The resource could not be found",
"details": []
}{
"type": "error",
"code": "method_not_allowed",
"status": 405,
"message": "Method Not Allowed",
"details": []
}{
"type": "error",
"code": "duplicate_record",
"status": 409,
"message": "Generic error",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Generic error",
"details": []
}{
"type": "error",
"code": "server_error",
"status": 500,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "bad_gateway",
"status": 502,
"message": "Request could not be processed",
"details": []
}{
"type": "error",
"code": "gateway_timeout",
"status": 504,
"message": "Request could not be processed",
"details": []
}transactions.read scope.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The ID of the merchant account to use for this request.
"default"
Path Parameters
The ID of the transaction
"7099948d-7286-47e4-aad8-b68f7eb44591"
Query Parameters
A pointer to the page of results to return.
"ZXhhbXBsZTE"
The maximum number of items that are at returned.
1 <= x <= 500100
Response
Successful Response
A list of items returned for this request.
Show child attributes
Show child attributes
The number of items for this page.
1 <= x <= 10020
The cursor pointing at the next page of items.
1 - 1000"ZXhhbXBsZTE"
The cursor pointing at the previous page of items.
1 - 1000"Xkjss7asS"