Skip to content

Latest commit

 

History

History
151 lines (114 loc) · 2.92 KB

README.md

File metadata and controls

151 lines (114 loc) · 2.92 KB

Customer Support Automation Overview

This project is a Customer Support Automation system designed to manage customer data and support tickets using Node.js, Express.js, MongoDB, GraphQL, and Dialogflow. Features

Customer Management: Add, update, view, and delete customer details.
Ticket Management: Create, update, view, and delete support tickets.
GraphQL Integration: Streamlines data querying and management with GraphQL endpoints.
Dialogflow Integration: Enhances user interactions with AI-driven responses and automated support.

Technology Stack

Backend: Node.js, Express.js
Database: MongoDB
API: GraphQL
AI Integration: Dialogflow

Prerequisites

Node.js
MongoDB
Dialogflow credentials

Installation

Clone the repository:

sh

git clone https://github.com/RachitSrivastava12/AutomateCustomer.git cd AutomateCustomer/Backend

Install dependencies:

sh

npm install

Configure environment variables:

Create a .env file in the Backend directory with the following content:

env

MONGODB_URI=your_mongodb_uri

Place your Dialogflow credentials in Backend/dialogflowCredentials.json.

Start the server:

sh

npm run dev

Usage REST API Endpoints

Customers:
    GET /api/customers: Get all customers.
    GET /api/customers/:id: Get a customer by ID.
    POST /api/customers: Create a new customer.
    PUT /api/customers/:id: Update a customer by ID.
    DELETE /api/customers/:id: Delete a customer by ID.

Tickets:
    GET /api/tickets: Get all tickets.
    GET /api/tickets/:id: Get a ticket by ID.
    POST /api/tickets: Create a new ticket.
    PUT /api/tickets/:id: Update a ticket by ID.
    DELETE /api/tickets/:id: Delete a ticket by ID.

GraphQL API

Endpoint: /graphql

Queries:

graphql

{ customers { id name email } customer(id: ID!) { id name email } tickets { id customerId description status } ticket(id: ID!) { id customerId description status } }

Mutations:

graphql

mutation {
  addCustomer(name: String!, email: String!) {
    id
    name
    email
  }
  updateCustomer(id: ID!, name: String, email: String) {
    id
    name
    email
  }
  deleteCustomer(id: ID!) {
    id
  }
  addTicket(customerId: ID!, description: String!, status: String!) {
    id
    customerId
    description
    status
  }
  updateTicket(id: ID!, description: String, status: String) {
    id
    customerId
    description
    status
  }
  deleteTicket(id: ID!) {
    id
  }
}

Dialogflow Integration

Endpoint: /webhook
Usage: Send a POST request with query and sessionId to receive AI-driven responses.

Testing

Test all endpoints using Postman for smooth API performance. Contributing

Feel free to fork the repository and submit pull requests.