@moloco-rmp/event-api-client - v1.1.2
    Preparing search index...

    @moloco-rmp/event-api-client - v1.1.2

    MOLOCO MCM Event API Client for JavaScript

    JavaScript/TypeScript library for MOLOCO MCM Event API

    Note: This library is intended to be used in trusted execution environments (such as backend services or secure infrastructure).
    The standard integration pattern is to capture user events in your app, then forward those events to Moloco using this library within your backend or event pipeline.

    npm install @moloco-rmp/event-api-client --save
    
    yarn add @moloco-rmp/event-api-client
    

    Please contact your MOLOCO account manager to get your MCM Event API Key and Platform ID

    export const client = v1.createClient({
    apiKey: process.env.MCM_EVENT_API_KEY,
    platformId: process.env.MCM_PLATFORM_ID,
    });
    // This example is for reporting your events server-to-server (S2S).
    import { client } from '../common/event-api-client';
    import usParser from 'ua-parser-js';

    const { session, headers } = req;
    const ua = usParser(headers['user-agent']);

    client.insertEvent({
    id: randomString(),
    eventType: 'ADD_TO_CART',
    timestamp: Date.now(),
    channelType: 'SITE',
    userId: session.user.id,
    device: {
    os: ua.os.name,
    osVersion: ua.os.version,
    model: ua.device.model,
    ip: req.socket.remoteAddress,
    },
    items: [
    {
    id: product.id,
    price: product.salePrice
    quantity: product.quantity,
    },
    ],
    pageId: `CATEGORY_HOME_PAGE:${categoryId}`,
    referrerPageId: `PRODUCT_DETAIL_PAGE:${productId}`,
    });
    client.insertEvent({
    id: randomString(),
    eventType: 'PURCHASE',
    timestamp: Date.now(),
    channelType: 'SITE',
    userId: session.user.id,
    device: {
    os: ua.os.name,
    osVersion: ua.os.version,
    model: ua.device.model,
    ip: req.socket.remoteAddress,
    },
    items: products.map((product) => ({
    id: product.id,
    price: product.salePrice,
    quantity: product.quantity,
    })),
    revenue: {
    currency: 'USD',
    amount: totalAmount,
    },
    pageId: 'ORDER_SUMMARY_PAGE'
    referrerPageId: 'CART_PAGE',
    });
    client.insertEvent({
    id: randomString(),
    eventType: 'ITEM_PAGE_VIEW',
    timestamp: Date.now(),
    channelType: 'SITE',
    userId: session.user.id,
    device: {
    os: ua.os.name,
    osVersion: ua.os.version,
    model: ua.device.model,
    ip: req.socket.remoteAddress,
    },
    items: [
    {
    id: product.id,
    price: product.salePrice
    quantity: 1,
    },
    ],
    pageId: `PRODUCT_DETAIL_PAGE:${productId}`,
    referrerPageId: `CATEGORY_HOME_PAGE:${categoryId}`,
    });
    import { client } from '../common/event-api-client';
    import { v1 } from '@moloco-rmp/event-api-client';

    client.insertEvent({ ... })
    .catch((error) => {
    console.error(error.message);
    if (error instanceof v1.errors.InternalServerError) {
    ...
    } else if (error instanceof v1.errors.BadRequestError) {
    ...
    } else if (error instanceof v1.errors.ForbiddenError) {
    ...
    } else if (error instanceof v1.errors.NetworkError) {
    ...
    } else if (error instanceof v1.errors.NotFoundError) {
    ...
    } else if (error instanceof v1.errors.UnauthorizedError) {
    ...
    } else if (error instanceof v1.errors.UnknownError) {
    }
    });

    © Moloco, Inc. 2024 All rights reserved. Released under Apache 2.0 License