cum să setați „Get a început“ buton pe facebook messenger bot și atunci când pentru a trimite mesajul de bun venit

voturi
8

Incepe

a încercat cerere trimiterea la această adresă URL

https://graph.facebook.com/v2.6/PAGE_ID/thread_settings?access_token=PAGE_ACCESS_TOKEN

Dar nu a funcționat.

Întrebat 27/06/2016 la 07:32
sursa de către utilizator
În alte limbi...                            


10 răspunsuri

voturi
2

trebuie să executați o comandă de buclă corespunzătoare pentru a configura. verifica acest link afară și uita - te la exemplul lor. https://developers.facebook.com/docs/messenger-platform/implementation#send_api

Publicat 28/06/2016 la 14:27
sursa de către utilizator

voturi
3

Vă mulțumim pentru comentarii valoroase, după ce unele workaround a găsit această soluție de lucru, conform ghidurilor de facebook

trebuie să trimită o cerere POST independent la această adresă URL doar o singura data

https://graph.facebook.com/v2.6/PAGE_ID/thread_settings?access_token=PAGE_ACCESS_TOKEN

poștaș folosit pentru a trimite astfel de solicitări aici

Dacă butonul Începeți a fost configurat cu succes, veți primi următorul răspuns

{
  "result": "Successfully added new_thread's CTAs"
}
Publicat 30/06/2016 la 07:26
sursa de către utilizator

voturi
13

Efectuarea unui apel POST API organism JSON ca mai jos.

curl -X POST -H "Content-Type: application/json" -d '{
"setting_type":"call_to_actions",
"thread_state":"new_thread",
"call_to_actions":[
 {
  "payload":"USER_DEFINED_PAYLOAD"
 }
]
}' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN"

Ref: Facebook Messenger obține butonul început

screentshot Poștașul

Publicat 01/07/2016 la 20:22
sursa de către utilizator

voturi
0

O soluție mai bună, în opinia mea este de a utiliza Microsoft cadru Bot și utilizarea acestuia / firstRun pentru a trimite butonul mesager a începe

function firstRun(session) {
  console.log('This user is running our bot the first time')
  createUser(session)
  platforms.firstRun(session.message.user.id, session.message.address.channelId)
    .then((values) => {
      for (let value of values) {
        if (value.data.firstName && value.data.lastName) {
          session.userData.user.profile = value.data
        }
      }
    })
    .catch((errors => {
      console.log(errors);
    }))
  reply(session)
  session.endDialog()
}

Platforms.firstRun arată așa cum este prezentat mai jos

platforms.firstRun = function (userId, channel) {
    switch (channel) {
        case platforms.channels.emulator:
            return Promise.reject('none')
        case platforms.channels.facebook:
            return platforms.facebook.firstRun(userId)
        case platforms.channels.skype:
            return Promise.reject('none')
        default:
            return Promise.reject('none')
    }
}

Aceasta, la rândul său, solicită platforms.facebook.firstRun

platforms.facebook.firstRun = function (userId) {
    return Promise.all([
        platforms.facebook.sendThread(facebookTemplates.greet(), 'Greeting'),
        platforms.facebook.sendThread(facebookTemplates.getStarted(), 'Get Started'),
        platforms.facebook.sendThread(facebookTemplates.getPersistentMenu(), 'Persistent Menu'),
        platforms.facebook.sendThread(facebookTemplates.getDomainWhitelisting(), 'Domain Whitelisting'),
        platforms.facebook.getProfile(userId)
    ])
}

Platforms.facebook.sendThread pare așa cum se arată mai jos // Apeleaza Facebook graficului api pentru a modifica setările bot

platforms.facebook.sendThread = function (template, cmd) {

    return new Promise((resolve, reject) => {
        // Start the request
        request({
            url: platforms.facebook.GRAPH_BASE_URI + '/me/thread_settings?access_token=' + endpoints.FACEBOOK_PAGE_ACCESS_TOKEN,
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            form: template
        },
            function (error, response, body) {
                if (!error && response.statusCode == 200) {
                    // Print out the response body
                    resolve({ status: response.statusCode, data: body })
                } else {
                    // TODO: Handle errors
                    reject({ status: response.statusCode, data: error })
                }
            });
    })
}

Observați facebookTemplates.getStarted (), care are de fapt JSON pentru a începe care arată așa cum este prezentat mai jos

templates.getStarted = function () {
    return {
        setting_type: "call_to_actions",
        thread_state: "new_thread",
        call_to_actions: [
            {
                payload: payloads.FACEBOOK_GET_STARTED
            }
        ]
    }
}

Arhitectura cod Complet conectabile pentru efectuarea unei prime operații rula pe toate platformele chatbot. Funcționează perfect pe bot meu AICI

Publicat 17/11/2016 la 16:24
sursa de către utilizator

voturi
4

Este posibil să fi setat cu succes, dar nu-l văd pentru că ai deja o conversație existentă cu pagina de facebook.

După setarea cu succes „Get Started“ firul, veți vedea numai dacă ștergeți firul de conversație existent și a începe unul nou.

Începeți buton este afișat numai atunci când interacționează cu pagina de Facebook pentru prima dată, așa că, dacă ați anunțat deja pagina, nu veți putea vedea „Get Started“ dacă nu ștergeți firul de la clientul dvs. Facebook Messenger ( fie mobil sau desktop).

Din Documente FB Messenger:

Există anumite condiții pentru a vedea ecranul de bun venit și butonul Începeți:

  • Acestea sunt redate doar prima dată când utilizatorul interacționează cu pagina pe Messenger
  • Numai adminii / dezvoltatori / testeri ale aplicației poate vedea atunci când aplicația este în modul de dezvoltare
  • Aplicația trebuie să fie abonat la postbacks pe webhook dvs.
Publicat 16/04/2017 la 17:33
sursa de către utilizator

voturi
2

Există o bibliotecă în NPM care se infasoara funcționalitatea POST / DELETE Acțiuni aici: https://www.npmjs.com/package/fb-get-started-button

$ npm install -g fb-get-started-button

$ fb-get-started-button add <YOUR PAGE ACCESS TOKEN>
Adding "Get Started" button with the payload "GET_STARTED"
Successfully added new_thread's CTAs

$ fb-get-started-button remove <YOUR PAGE ACCESS TOKEN>
Removing "Get Started" button
Successfully deleted all new_thread's CTAs
Publicat 23/04/2017 la 06:24
sursa de către utilizator

voturi
3

Formatul actual este, https://graph.facebook.com/v2.6/me/messenger_profile?access_token=PAGE_ACCESS_TOKEN

{ "Get_started": { "payload": "GET_STARTED_PAYLOAD"}}

Publicat 07/09/2017 la 12:23
sursa de către utilizator

voturi
0

În cazul nostru, următoarele lucrat:

  • Hit thread_settingsAPI

    https://graph.facebook.com/v2.6/me/thread_settings?access_token=<YOU FACEBOOK PAGE'S PAGE ACCESS TOKEN>

  • A trecut proba următoare JSON

    {
      "setting_type": "call_to_actions",
      "Thread_state": "new_thread",
      "call_to_actions": [
        {
          "Sarcină utilă": "Start"
        }
      ]
    }
  • API-ul va da următoarele ca rezultat:
    {
        „Rezultat“: „îndemnuri adăugat cu succes new_thread lui“
    }
Publicat 03/12/2017 la 07:30
sursa de către utilizator

voturi
1

Trimite o cerere poștal utilizând pagina de acces jeton

https://graph.facebook.com/v2.6/me/messenger_profile?access_token=YOUR-TOKEN

cu următoarele date

{ 
  "get_started":{
     "payload":"<GET_STARTED_PAYLOAD>"
   }
}

Facebok Documente: Începeți buton

Sper ca această nouă metodă de a rezolva problema. Nu uitați să ștergeți mesajele trimise mai întâi folosind Facebook Web pentru a vedea un buton în acțiune.

Publicat 12/01/2018 la 20:56
sursa de către utilizator

voturi
0

Soluție foarte simplă, trebuie doar deschis în terminal și du - te la locația dvs. dosarul gazdă, (în mină /var/www/html/booking/public/facebookbot) și inserați codul de mai jos:

curl -X POST -H "Content-type: application/json" -d '{ 
    "setting-type":"call_to_actions",
    "thread_state":"new_thread",
  "get_started":{
     "payload":"GET_STARTED_PAYLOAD"
   }
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=YOUR_ACCESS_TOKEN"

și apăsați enter, asigurați-vă că pentru a pune token-ul de acces corect, de asemenea, s-ar putea recunoaște atunci când butonul de la început de drum presat sarcină utilă care este GET_STARTED_PAYLOAD în proba de cod de mai sus.

Publicat 01/02/2019 la 17:41
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more