@condor-labs/ec-events-gateway

Client to send events to events gateway API

Usage no npm install needed!

<script type="module">
  import condorLabsEcEventsGateway from 'https://cdn.skypack.dev/@condor-labs/ec-events-gateway';
</script>

README

Events Gateway Client

Library to send messages through the events gateway service.

How to use it

To use the library you just need to follow the following steps Install the library with npm

npm install @condor-labs/ec-events-gateway

Import the library

const { events } = require('@condor-labs/ec-events-gateway');

with ES6:

import { events } from '@condor-labs/ec-events-gateway':

Enviroment variable

Define a variable in you .env file with the events gateway api URL with the following name:

EVENTS_GATEWAY_URL

That's all you need to start to send data to the events gateway api.

As an alternative you can pass a events gateway api url as parameter:

events.save({payload, type, topic, schema, headers, url: 'http://localhost'});

Required data

To send events through the events gateway client you must send some required fields:

  • type: string,
  • topic: string,
  • payload: object

Client Schema

You could define a valid Joi schema to validate the events data you are sending to the events gateway service.

Example

const schema = {
    firstName: Joi.number().required()
};

You can see more examples on the Joi API Documentation Website.

And then send this schema through the save function as parameter.

events.save({payload, type, topic, schema, headers, url: 'http://localhost'});

Headers:

You should define headers to pass the apikey to the amazon services:

headers: {
    'x-api-key': 'value'
}

Payload max size

Please, be sure the payload data is less than 250kb