Coder Social home page Coder Social logo

greipio / javascript Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 205 KB

The official JS library of Greip

Home Page: https://greip.io

License: Apache License 2.0

TypeScript 98.10% JavaScript 1.90%
api geolocation ip ipgeolocation credit-card-fraud geoip bin-lookup asn-lookup javascript fraud-detection fraud-prevention profanity-detection

javascript's Introduction

Greip Javascript Package

The official Javascript package of Greip API

Report Issue · Request Feature · Greip Website · Documentation

NPM Package of Greip Github Repository jsDelivery CDN Link

npm version    GitHub code size in bytes    License: Apache 2.0    API Status


Installation

1. For React.js, React Native, etc:

npm i greip.js --save

or

yarn add greip.js

2. For CDN Integration

<script src="https://cdn.jsdelivr.net/gh/Greipio/javascript/greip.bundle.js" type="text/javascript"></script>

3. For Node.js

Please use our Node.js library instead.

Initializing the Greip object

There're two different ways to initialize the Greip object, let's dive into this:

1. For React.js, React Native, etc:

import {
  Lookup,
  Threats,
  GeoIP,
  BulkLookup,
  ASN,
  BadWord,
  Country,
  EmailValidation,
  PhoneValidation,
  PaymentFraud,
  IBANValidation,
} from 'greip.js';

2. CDN Integration

In CDN integration, you already have Greip as a global variable initialized automatically when the page loads.

You can start using it directly as follows:

Greip.GeoIP({
  key: 'your-api-key',
  // other options here
}).then((response) => {
  console.log(response);
});

Usage

Here's how you use the API Methods:

1. IP Geolocation Method

Use this method to retrieve the IP address of the visitor/user with its full information.

await GeoIP({
  key: 'your-api-key',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

2. IP Threats Method

Use this method to retrieve threat intelligence information associated with a given IP address.

await Threats({
  key: 'your-api-key',
  ip: '1.1.1.1',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

3. IP Lookup Method

Use this method to retrieve the information of a given IP address.

await Lookup({
  key: 'your-api-key',
  ip: '1.1.1.1',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

4. Bulk IP Lookup Method

You can use this method to retrieve the information of multiple IP addresses (no need to use the Lookup method inside a loop).

await BulkLookup({
  key: 'your-api-key',
  ips: ['1.1.1.1', '2.2.2.2'],
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

5. ASN Lookup Method

In this method, Greip will help you lookup any given AS Number and returning all data related to it, like: name, org (the organization name), country, domain, email, phone, totalIPs, list of all routes (v4 & v6) related the given AS Number, etc.

await ASN({
  key: 'your-api-key',
  asn: 'AS01',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

6. Profanity Detection Method

This method can be used to detect abuse of your website/app. It’s a great way to know more about your user inputs and whether they contain profanity (bad words) or not before releasing them to the public.

await BadWord({
  key: 'your-api-key',
  text: 'This is just normal sample text.',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

7. Country Lookup Method

This method can help you retrieve information of the given country.

await Country({
  key: 'your-api-key',
  countryCode: 'SA',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

8. Email Validation Method

This method provides an additional layer of validation for your system. While validating email syntax is important, it is not sufficient.

This method goes beyond syntax validation by checking the domain’s validity, the availability of the Mail Service, detecting Disposable Email (Temporary Emails), etc. By utilising this method, you can ensure a more thorough validation process for email addresses.

await EmailValidation({
  key: 'your-api-key',
  email: '[email protected]',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

9. Phone Validation Method

This method can be used as an extra-layer of your system for validating phone numbers. It validates phone number syntax and valid-possibility.

await PhoneValidation({
  key: 'your-api-key',
  phone: '123123123',
  countryCode: 'US',
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

10. Payment Fraud Prevention Method

Prevent financial losses by deploying AI-Powered modules.

await PaymentFraud({
  key: 'your-api-key',
  data: {
    action: 'purchase',
    website_domain: '',
    website_name: '',
    merchant_id: 21,
    shipment_id: 1,
    transaction_id: 100,
    transaction_amount: 1000000,
    transaction_currency: 'GBP',
    cart_items: {
      item_id: 1,
      item_name: 'Product name',
      item_quantity: 1,
      item_price: '1100.55',
      item_category_id: 1,
    },
    isDigitalProducts: true,
    coupon: 'ASDF',
    customer_id: 1,
    customer_firstname: 'First',
    customer_lastname: 'Last',
    customer_pob: 'London',
    customer_ip: '1.1.1.1',
    customer_country: 'GB',
    customer_region: 'London',
    customer_city: 'London',
    customer_zip: 'NW10 7PQ',
    customer_street: '7 Coronation Road',
    customer_street2: '',
    customer_latitude: 0.123,
    customer_longitude: 0.123,
    customer_device_id: 'UNIQUE_DEVICE_ID',
    customer_phone: '000000000',
    customer_registration_date: 1677554670,
    customer_balance: '1000.00',
    customer_dob: '1997-19-05',
    customer_email: '[email protected]',
    customer_2fa: true,
    customer_useragent: 'Mozill almaden sdfwer',
    shipping_country: 'GB',
    shipping_region: 'London',
    shipping_city: 'London',
    shipping_zip: 'NW10 7PQ',
    shipping_street: '7 Coronation Road',
    shipping_street2: '',
    shipping_latitude: 0.123,
    shipping_longitude: 0.123,
    billing_country: 'GB',
    billing_region: 'London',
    billing_city: 'London',
    billing_zip: 'NW10 7PQ',
    billing_street: '7 Coronation Road',
    billing_street2: '',
    billing_latitude: 0.123,
    billing_longitude: 0.123,
    payment_type: 'applepay',
    card_name: 'First Last',
    card_number: '1234XXXXXXXX1234',
    card_expiry: '29/05',
    cvv_result: true,
  },
})
  .then((res: any) => {
    console.log(res.data); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

11. IBAN Validation Method

This method allows you to validate International Bank Account Numbers (IBANs) and retrieve additional information about the country associated with the IBAN.

await IBANValidation({
  key: 'your-api-key',
  iban: 'BY86AKBB10100000002966000000',
})
  .then((res: any) => {
    console.log(res); // Log Response
  })
  .catch((error: any) => {
    console.log(error);
  });

Options, Methods and More

You can find the full guide of this package by visiting our documentation page.

Credits

javascript's People

Contributors

gre-dev avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.