diff --git a/es/platform/events.mdx b/es/platform/events.mdx index 34644056..4bd8b17d 100644 --- a/es/platform/events.mdx +++ b/es/platform/events.mdx @@ -10,6 +10,7 @@ icon: radio import MetricChangeRequestBlock from "../../snippets/metric-change-request-block.mdx"; import MetricChangeResponseBlock from "../../snippets/metric-change-response-block.mdx"; import IdempotentEventTracking from "../../snippets/idempotent-event-tracking.mdx"; +import ParallelEventsValueExample from "../../snippets/parallel-events-value-example.mdx"; ## ¿Qué son los eventos? {#what-are-events} @@ -218,6 +219,12 @@ Para usar eventos idempotentes, utiliza el encabezado `Idempotency-Key` en la [A [Más información sobre idempotencia](/es/api-reference/idempotency). +### Eventos Paralelos {#parallel-events} + +Trophy no admite eventos paralelos para la misma métrica del mismo usuario. En su lugar, utiliza el parámetro `value` para incrementar la métrica por la cantidad total de todos los eventos individuales que necesitas rastrear. + + + ## Obtener Soporte {#get-support} ¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! diff --git a/i18n.lock b/i18n.lock index 6197593c..2e204cc4 100644 --- a/i18n.lock +++ b/i18n.lock @@ -1518,7 +1518,7 @@ checksums: meta/description: a491b9e76be8c65506d2af60e6c6b972 meta/og%3Adescription: a491b9e76be8c65506d2af60e6c6b972 meta/icon: 181bd0fc9175f5237b539d5f0c320445 - content/0: d82abaebc1549b406e3eb618ae01d731 + content/0: 39d4941ad3aebfe02ec69391ba659ab6 content/1: 7bfb8857ff48a29ca2c3d454d160b405 content/2: a0d1f863b47939da0bf839b6f74bcaa4 content/3: b8e67cae4a027f6b3d6f41de55290dce @@ -1578,8 +1578,11 @@ checksums: content/57: 34319305b4aafa7fc6fc0793e91ec970 content/58: cd47f7ac70189400dc3c1568857017fe content/59: ffb1c341f112753478b68a84c9be33d9 - content/60: 10e8e9a59847ddd720c6d06b12c7b120 - content/61: 9799b973234bf2d10d5c971b267f55a5 + content/60: 348cc7f95c7cc5227c77725021dbc696 + content/61: 7d5d0409a71ee398cfb83ef379c0a707 + content/62: 9d787c786e1361041c41a3149acc09cc + content/63: 10e8e9a59847ddd720c6d06b12c7b120 + content/64: 9799b973234bf2d10d5c971b267f55a5 9e939bf89899becac6aa6a8f811524af: meta/title: 0ebed9a38466e4ee526b4c48430a887d meta/description: 701ae9b26ee63f476b6d7d45e039c4bb diff --git a/platform/events.mdx b/platform/events.mdx index 0a317a04..f5974d68 100644 --- a/platform/events.mdx +++ b/platform/events.mdx @@ -10,6 +10,7 @@ icon: radio import MetricChangeRequestBlock from "../snippets/metric-change-request-block.mdx"; import MetricChangeResponseBlock from "../snippets/metric-change-response-block.mdx"; import IdempotentEventTracking from "../snippets/idempotent-event-tracking.mdx"; +import ParallelEventsValueExample from "../snippets/parallel-events-value-example.mdx"; ## What are Events? {#what-are-events} @@ -218,6 +219,12 @@ To use idempotent events, use the `Idempotency-Key` header in the [metric event [Learn more about idempotency](/api-reference/idempotency). +### Parallel Events {#parallel-events} + +Trophy does not support parallel events to same metric for the same user. Instead, use the `value` parameter to increment the metric by the total amount of all individual events that you need to track. + + + ## Get Support {#get-support} Want to get in touch with the Trophy team? Reach out to us via [email](mailto:support@trophy.so). We're here to help! diff --git a/snippets/parallel-events-value-example.mdx b/snippets/parallel-events-value-example.mdx new file mode 100644 index 00000000..9a2b1f1c --- /dev/null +++ b/snippets/parallel-events-value-example.mdx @@ -0,0 +1,104 @@ + +```bash cURL {10} +curl -X POST https://app.trophy.so/api/metrics/lessons-completed/event \ + -H "X-API-KEY: " \ + -H "Content-Type: application/json" \ + -d '{ + "user": { + "id": "18", + "email": "user@example.com", + "tz": "Europe/London" + }, + "value": 5 +}' +``` + +```typescript Node {7} +trophy.metrics.event("lessons-completed", { + user: { + id: "18", + email: "user@example.com", + tz: "Europe/London", + }, + value: 5, +}); +``` + +```python Python {8} +client.metrics.event( + key="lessons-completed", + user=EventRequestUser( + id="18", + email="user@example.com", + tz="Europe/London", + ), + value=5, +) +``` + +```php PHP {8} +$user = new EventRequestUser([ + 'id' => '18', + 'email' => 'user@example.com' +]); + +$request = new MetricsEventRequest([ + 'user' => $user, + 'value' => 5, +]); + +$trophy->metrics->event("lessons-completed", $request); +``` + +```java Java {8} +MetricsEventRequest request = MetricsEventRequest.builder() + .user( + EventRequestUser.builder() + .id("18") + .email("user@example.com") + .build() + ) + .value(5) + .build(); + +EventResponse response = client.metrics().event("lessons-completed", request); +``` + +```go Go {8} +response, err := client.Metrics.Event( + "lessons-completed", + &api.MetricsEventRequest{ + User: &api.EventRequestUser{ + Id: "18", + Email: "user@example.com", + }, + Value: 5, + }, +) +``` + +```csharp C# {8} +var user = new EventRequestUser { + Id = "18", + Email = "user@example.com" +}; + +var request = new MetricsEventRequest { + User = user, + Value = 5, +}; + +await trophy.Metrics.EventAsync("lessons-completed", request); +``` + +```ruby Ruby {7} +result = client.metrics.event( + :key => 'lessons-completed', + :user => { + :id => '18', + :email => 'user@example.com' + }, + :value => 5 +) +``` +