Skip to content
This repository has been archived by the owner on Nov 26, 2019. It is now read-only.

Channel CALLR

Jerome Houdan edited this page Apr 3, 2017 · 3 revisions

Setup your CALLR account

Create a CALLR channel

Create a new app on CALLR with this link. Click on « Sign up » to make an account on the website and follow the steps. Callr channel credentials'

Get your credentials

Once you have signed up, you will receive your credentials by mail. Copy your username and password, you will need it later. Callr channel credentials

Activate your account

Don’t forget to validate your CALLR account here. Validation is necessary to enable SMS sending.

Start your bot in local

Ngrok

  • Download the appropriate version of Ngrok on your computer
  • Open a new tab in your terminal:
./ngrok http 8080
  • Copy and paste the https://*******ngrok.io you get, you will need it for the next step
  • Leave your Ngrok serveur running*

Start Connector in local

  • Clone and install Connector
$ git clone https://github.com/RecastAI/bot-connector.git
$ cd bot-connector
$ yarn install
$ yarn start-dev
  • Create your connector
$ curl -X POST "http://localhost:8080/connectors/" --data "url=connector_url"
  • Create your channel
$ curl -X  POST \
  --data "slug=YOUR_CHANNEL_SLUG" --data "isActivated=true" --data "type=kik" \
  --data "apiKey=YOUR_API_KEY" --data "webhook=YOUR_NGROK_URL" --data "userName=YOUR_BOT_NAME" \
  "http://localhost:8080/connectors/:connector_id/channels"

Your bot

A small example of bot:

 import express from 'express'
 import bodyParser from 'body-parser'
 import request from 'superagent'
 
 const app = express()
 app.set('port', process.env.PORT || 5000)
 app.use(bodyParser.json())
 
 const config = { url: 'http://localhost:8080', connectorId: 'yourConnectorId' }
 
   /* Get the request from the connector */
 
 app.post('/', (req, res) => {
   const conversationId = req.body.message.conversation
   const messages = [{
     type: 'text',
     content: 'my first message',
   }]
 
   /* Send the message back to the connector */
   request.post(`${config.url}/connectors/${config.connectorId}/conversations/${conversationId}/messages`)
     .send({ messages, senderId: req.body.senderId })
     .end((err, res) => {
       if (err) {
         console.log(err)
       } else {
         console.log(res)
       }
     })
 })
 
 app.listen(app.get('port'), () => {
   console.log('Our bot is running on port', app.get('port'))
 })