CRM 360 - Api Notificaciones Email






Documentación del método POST /api/v1/notification/delivery

Este método se utiliza para enviar emails a través de una API de notificaciones. Debes realizar una solicitud POST a la ruta /api/v1/notification/delivery y proporcionar los siguientes parámetros en el cuerpo de la solicitud:

URL: /api/v1/notification/delivery

Método: POST

Parámetros en el cuerpo de la solicitud:

  1. company (string, requerido): El código de la compañía para la cual se enviará el email.

  2. message (JSON, requerido): El mensaje a enviar, con diferentes formatos según el tipo de mensaje.

    • destination (objeto, requerido): Contiene los detalles del destinatario del email.

      • name (string, requerido): Nombre del destinatario.
      • email (string, requerido): Dirección de correo electrónico del destinatario.
    • html (string): Contiene el contenido del mensaje en formato HTML plano.

    • sendgrid (objeto): Si se especifica, se utilizará este objeto JSON para enviar el email a través de Sendgrid. Debe contener los atributos específicos de Sendgrid.

  3. typeCode (string, requerido): El tipo de mensaje que se enviará. En este caso, el valor debe ser "email", ya que este método se utiliza para enviar emails.





import axios, { AxiosResponse } from 'axios';

interface Message {
  destination: {
    name: string;
    email: string;
  };
  html?: string;
  sendgrid?: any; // Utiliza un tipo más preciso si es posible.
}

interface ApiResponse {
  status: string;
  message: string;
}

const apiUrl = 'https://api.example.com/api/v1/notification/delivery';

const sendMessage = async () => {
  const requestBody: {
    company: string;
    message: Message;
    typeCode: string;
  } = {
    company: 'company_code',
    message: {
      destination: {
        name: 'John Doe',
        email: '[email protected]',
      },
      html: '<p>Contenido del mensaje en formato HTML</p>',
      // sendgrid: { ... } // Si deseas enviar a través de Sendgrid, agrega los atributos correspondientes aquí.
    },
    typeCode: 'email',
  };

  try {
    const response: AxiosResponse<ApiResponse> = await axios.post(apiUrl, requestBody);
    console.log('Email enviado:', response.data.message);
  } catch (error) {
    console.error('Error al enviar el email:', error);
  }
};

sendMessage();

curl -X POST "https://api.example.com/api/v1/notification/delivery" \
-H "Content-Type: application/json" \
-d '{
  "company": "company_code",
  "message": {
    "destination": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "html": "<p>Contenido del mensaje en formato HTML</p>"
  },
  "typeCode": "email"
}'

  • Sem rótulos