Usage Events
Ingest Events
Ingest events for usage-based billing.
POST
/
events
/
ingest
JavaScript
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: 'My Bearer Token',
});
const response = await client.usageEvents.ingest({
events: [{ customer_id: 'customer_id', event_id: 'event_id', event_name: 'event_name' }],
});
console.log(response.ingested_count);from dodopayments import DodoPayments
client = DodoPayments(
bearer_token="My Bearer Token",
)
response = client.usage_events.ingest(
events=[{
"customer_id": "customer_id",
"event_id": "event_id",
"event_name": "event_name",
}],
)
print(response.ingested_count)package main
import (
"context"
"fmt"
"github.com/dodopayments/dodopayments-go"
"github.com/dodopayments/dodopayments-go/option"
)
func main() {
client := dodopayments.NewClient(
option.WithBearerToken("My Bearer Token"),
)
response, err := client.UsageEvents.Ingest(context.TODO(), dodopayments.UsageEventIngestParams{
Events: dodopayments.F([]dodopayments.EventInputParam{dodopayments.EventInputParam{
CustomerID: dodopayments.F("customer_id"),
EventID: dodopayments.F("event_id"),
EventName: dodopayments.F("event_name"),
}}),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.IngestedCount)
}
package com.dodopayments.api.example;
import com.dodopayments.api.client.DodoPaymentsClient;
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
import com.dodopayments.api.models.usageevents.EventInput;
import com.dodopayments.api.models.usageevents.UsageEventIngestParams;
import com.dodopayments.api.models.usageevents.UsageEventIngestResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();
UsageEventIngestParams params = UsageEventIngestParams.builder()
.addEvent(EventInput.builder()
.customerId("customer_id")
.eventId("event_id")
.eventName("event_name")
.build())
.build();
UsageEventIngestResponse response = client.usageEvents().ingest(params);
}
}package com.dodopayments.api.example
import com.dodopayments.api.client.DodoPaymentsClient
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
import com.dodopayments.api.models.usageevents.EventInput
import com.dodopayments.api.models.usageevents.UsageEventIngestParams
import com.dodopayments.api.models.usageevents.UsageEventIngestResponse
fun main() {
val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()
val params: UsageEventIngestParams = UsageEventIngestParams.builder()
.addEvent(EventInput.builder()
.customerId("customer_id")
.eventId("event_id")
.eventName("event_name")
.build())
.build()
val response: UsageEventIngestResponse = client.usageEvents().ingest(params)
}require "dodopayments"
dodo_payments = Dodopayments::Client.new(
bearer_token: "My Bearer Token",
environment: "test_mode" # defaults to "live_mode"
)
response = dodo_payments.usage_events.ingest(
events: [{customer_id: "customer_id", event_id: "event_id", event_name: "event_name"}]
)
puts(response)curl --request POST \
--url https://test.dodopayments.com/events/ingest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"events": [
{
"customer_id": "<string>",
"event_id": "<string>",
"event_name": "<string>",
"metadata": {},
"timestamp": "2023-11-07T05:31:56Z"
}
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.dodopayments.com/events/ingest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'events' => [
[
'customer_id' => '<string>',
'event_id' => '<string>',
'event_name' => '<string>',
'metadata' => [
],
'timestamp' => '2023-11-07T05:31:56Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"ingested_count": 1
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
List of events to be pushed
Required array length:
1 - 1000 elementsShow child attributes
Show child attributes
Response
Events ingested successfully
Required range:
x >= 0Was this page helpful?
⌘I
JavaScript
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: 'My Bearer Token',
});
const response = await client.usageEvents.ingest({
events: [{ customer_id: 'customer_id', event_id: 'event_id', event_name: 'event_name' }],
});
console.log(response.ingested_count);from dodopayments import DodoPayments
client = DodoPayments(
bearer_token="My Bearer Token",
)
response = client.usage_events.ingest(
events=[{
"customer_id": "customer_id",
"event_id": "event_id",
"event_name": "event_name",
}],
)
print(response.ingested_count)package main
import (
"context"
"fmt"
"github.com/dodopayments/dodopayments-go"
"github.com/dodopayments/dodopayments-go/option"
)
func main() {
client := dodopayments.NewClient(
option.WithBearerToken("My Bearer Token"),
)
response, err := client.UsageEvents.Ingest(context.TODO(), dodopayments.UsageEventIngestParams{
Events: dodopayments.F([]dodopayments.EventInputParam{dodopayments.EventInputParam{
CustomerID: dodopayments.F("customer_id"),
EventID: dodopayments.F("event_id"),
EventName: dodopayments.F("event_name"),
}}),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.IngestedCount)
}
package com.dodopayments.api.example;
import com.dodopayments.api.client.DodoPaymentsClient;
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
import com.dodopayments.api.models.usageevents.EventInput;
import com.dodopayments.api.models.usageevents.UsageEventIngestParams;
import com.dodopayments.api.models.usageevents.UsageEventIngestResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();
UsageEventIngestParams params = UsageEventIngestParams.builder()
.addEvent(EventInput.builder()
.customerId("customer_id")
.eventId("event_id")
.eventName("event_name")
.build())
.build();
UsageEventIngestResponse response = client.usageEvents().ingest(params);
}
}package com.dodopayments.api.example
import com.dodopayments.api.client.DodoPaymentsClient
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
import com.dodopayments.api.models.usageevents.EventInput
import com.dodopayments.api.models.usageevents.UsageEventIngestParams
import com.dodopayments.api.models.usageevents.UsageEventIngestResponse
fun main() {
val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()
val params: UsageEventIngestParams = UsageEventIngestParams.builder()
.addEvent(EventInput.builder()
.customerId("customer_id")
.eventId("event_id")
.eventName("event_name")
.build())
.build()
val response: UsageEventIngestResponse = client.usageEvents().ingest(params)
}require "dodopayments"
dodo_payments = Dodopayments::Client.new(
bearer_token: "My Bearer Token",
environment: "test_mode" # defaults to "live_mode"
)
response = dodo_payments.usage_events.ingest(
events: [{customer_id: "customer_id", event_id: "event_id", event_name: "event_name"}]
)
puts(response)curl --request POST \
--url https://test.dodopayments.com/events/ingest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"events": [
{
"customer_id": "<string>",
"event_id": "<string>",
"event_name": "<string>",
"metadata": {},
"timestamp": "2023-11-07T05:31:56Z"
}
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.dodopayments.com/events/ingest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'events' => [
[
'customer_id' => '<string>',
'event_id' => '<string>',
'event_name' => '<string>',
'metadata' => [
],
'timestamp' => '2023-11-07T05:31:56Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"ingested_count": 1
}