baptisteArno / typebot.io

💬 Typebot is a powerful chatbot builder that you can self-host.
https://typebot.io
Other
5.86k stars 1.63k forks source link

Whatsapp integration error: "Could not get phone number info" #990

Closed arladmin closed 8 months ago

arladmin commented 8 months ago

I'm unable to complete the Whatsapp integration setup.

Currently, stuck on the Phone Number step.

Error--> Could not get phone number info

baptisteArno commented 8 months ago

Can you provide the server logs? There should be a clear error there.

If you are self-hosting it with docker. Type this command in your terminal:

docker-compose logs

Paste all the logs here so that we can help you properly!

arladmin commented 8 months ago

Can you provide the server logs? There should be a clear error there.

If you are self-hosting it with docker. Type this command in your terminal:

docker-compose logs

Paste all the logs here so that we can help you properly!

@baptisteArno

2023-10-31T14:11:27.050265565Z Something went wrong HTTPError: Response code 400 (Bad Request)
2023-10-31T14:11:27.050319289Z     at Request.<anonymous> (file:///app/node_modules/.pnpm/got@12.6.0/node_modules/got/dist/source/as-promise/index.js:86:42)
2023-10-31T14:11:27.050324607Z     ... 5 lines matching cause stack trace ...
2023-10-31T14:11:27.050327638Z     at async Request._onResponse (file:///app/node_modules/.pnpm/got@12.6.0/node_modules/got/dist/source/core/index.js:765:13) {
2023-10-31T14:11:27.050331133Z   code: 'INTERNAL_SERVER_ERROR',
2023-10-31T14:11:27.050334134Z   name: 'TRPCError',
2023-10-31T14:11:27.050336926Z   [cause]: HTTPError: Response code 400 (Bad Request)
2023-10-31T14:11:27.050340176Z       at Request.<anonymous> (file:///app/node_modules/.pnpm/got@12.6.0/node_modules/got/dist/source/as-promise/index.js:86:42)
2023-10-31T14:11:27.050343710Z       at Object.onceWrapper (node:events:632:26)
2023-10-31T14:11:27.050346700Z       at Request.emit (node:events:529:35)
2023-10-31T14:11:27.050350313Z       at Request.emit (node:domain:489:12)
2023-10-31T14:11:27.050353116Z       at Request._onResponseBase (file:///app/node_modules/.pnpm/got@12.6.0/node_modules/got/dist/source/core/index.js:726:22)
2023-10-31T14:11:27.050356380Z       at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2023-10-31T14:11:27.050359669Z       at async Request._onResponse (file:///app/node_modules/.pnpm/got@12.6.0/node_modules/got/dist/source/core/index.js:765:13) {
2023-10-31T14:11:27.050362847Z     input: undefined,
2023-10-31T14:11:27.050365623Z     code: 'ERR_NON_2XX_3XX_RESPONSE',
2023-10-31T14:11:27.050369134Z     timings: {
2023-10-31T14:11:27.050372031Z       start: 1698761486740,
2023-10-31T14:11:27.050374776Z       socket: 1698761486740,
2023-10-31T14:11:27.050377612Z       lookup: 1698761486741,
2023-10-31T14:11:27.050380461Z       connect: 1698761486749,
2023-10-31T14:11:27.050383656Z       secureConnect: 1698761486762,
2023-10-31T14:11:27.050386449Z       upload: 1698761486762,
2023-10-31T14:11:27.050389465Z       response: 1698761487045,
2023-10-31T14:11:27.050392173Z       end: 1698761487046,
2023-10-31T14:11:27.050395060Z       error: undefined,
2023-10-31T14:11:27.050398983Z       abort: undefined,
2023-10-31T14:11:27.050402043Z       phases: [Object]
2023-10-31T14:11:27.050405020Z     },
2023-10-31T14:11:27.050428752Z     options: {
2023-10-31T14:11:27.050431861Z       request: undefined,
2023-10-31T14:11:27.050434605Z       agent: { http: undefined, https: undefined, http2: undefined },
2023-10-31T14:11:27.050437435Z       h2session: undefined,
2023-10-31T14:11:27.050440480Z       decompress: true,
2023-10-31T14:11:27.050443152Z       timeout: {
2023-10-31T14:11:27.050445747Z         connect: undefined,
2023-10-31T14:11:27.050448526Z         lookup: undefined,
2023-10-31T14:11:27.050451643Z         read: undefined,
2023-10-31T14:11:27.050454311Z         request: undefined,
2023-10-31T14:11:27.050457169Z         response: undefined,
2023-10-31T14:11:27.050459973Z         secureConnect: undefined,
2023-10-31T14:11:27.050462652Z         send: undefined,
2023-10-31T14:11:27.050465442Z         socket: undefined
2023-10-31T14:11:27.050468084Z       },
2023-10-31T14:11:27.050470951Z       prefixUrl: '',
2023-10-31T14:11:27.050473803Z       body: undefined,
2023-10-31T14:11:27.050476686Z       form: undefined,
2023-10-31T14:11:27.050479393Z       json: undefined,
2023-10-31T14:11:27.050482398Z       cookieJar: undefined,
2023-10-31T14:11:27.050485071Z       ignoreInvalidCookies: false,
2023-10-31T14:11:27.050489416Z       searchParams: undefined,
2023-10-31T14:11:27.050492099Z       dnsLookup: undefined,
2023-10-31T14:11:27.050494984Z       dnsCache: undefined,
2023-10-31T14:11:27.050497723Z       context: {},
2023-10-31T14:11:27.050500550Z       hooks: {
2023-10-31T14:11:27.050503247Z         init: [],
2023-10-31T14:11:27.050505860Z         beforeRequest: [],
2023-10-31T14:11:27.050509069Z         beforeError: [],
2023-10-31T14:11:27.050512041Z         beforeRedirect: [],
2023-10-31T14:11:27.050514632Z         beforeRetry: [],
2023-10-31T14:11:27.050517474Z         afterResponse: []
2023-10-31T14:11:27.050520267Z       },
2023-10-31T14:11:27.050523027Z       followRedirect: true,
2023-10-31T14:11:27.050525895Z       maxRedirects: 10,
2023-10-31T14:11:27.050528666Z       cache: undefined,
2023-10-31T14:11:27.050531285Z       throwHttpErrors: true,
2023-10-31T14:11:27.050533940Z       username: '',
2023-10-31T14:11:27.050536548Z       password: '',
2023-10-31T14:11:27.050539392Z       http2: false,
2023-10-31T14:11:27.050542336Z       allowGetBody: false,
2023-10-31T14:11:27.050545110Z       headers: {
2023-10-31T14:11:27.050547794Z         'user-agent': 'got (https://github.com/sindresorhus/got)',
2023-10-31T14:11:27.050556285Z         authorization: 'Bearer <access token>',
2023-10-31T14:11:27.050559457Z         accept: 'application/json',
2023-10-31T14:11:27.050562194Z         'accept-encoding': 'gzip, deflate, br'
2023-10-31T14:11:27.050564946Z       },
2023-10-31T14:11:27.050567724Z       methodRewriting: false,
2023-10-31T14:11:27.050570545Z       dnsLookupIpVersion: undefined,
2023-10-31T14:11:27.050573393Z       parseJson: [Function: parse],
2023-10-31T14:11:27.050576188Z       stringifyJson: [Function: stringify],
2023-10-31T14:11:27.050579083Z       retry: {
2023-10-31T14:11:27.050581738Z         limit: 2,
2023-10-31T14:11:27.050584457Z         methods: [ 'GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE' ],
2023-10-31T14:11:27.050587309Z         statusCodes: [
2023-10-31T14:11:27.050590159Z           408, 413, 429, 500,
2023-10-31T14:11:27.050592925Z           502, 503, 504, 521,
2023-10-31T14:11:27.050595742Z           522, 524
2023-10-31T14:11:27.050598438Z         ],
2023-10-31T14:11:27.050601103Z         errorCodes: [
2023-10-31T14:11:27.050603731Z           'ETIMEDOUT',
2023-10-31T14:11:27.050606650Z           'ECONNRESET',
2023-10-31T14:11:27.050609223Z           'EADDRINUSE',
2023-10-31T14:11:27.050612064Z           'ECONNREFUSED',
2023-10-31T14:11:27.050615395Z           'EPIPE',
2023-10-31T14:11:27.050618181Z           'ENOTFOUND',
2023-10-31T14:11:27.050620851Z           'ENETUNREACH',
2023-10-31T14:11:27.050623460Z           'EAI_AGAIN'
2023-10-31T14:11:27.050626318Z         ],
2023-10-31T14:11:27.050628898Z         maxRetryAfter: undefined,
2023-10-31T14:11:27.050631529Z         calculateDelay: [Function: calculateDelay],
2023-10-31T14:11:27.050634515Z         backoffLimit: Infinity,
2023-10-31T14:11:27.050637325Z         noise: 100
2023-10-31T14:11:27.050640033Z       },
2023-10-31T14:11:27.050643217Z       localAddress: undefined,
2023-10-31T14:11:27.050645960Z       method: 'GET',
2023-10-31T14:11:27.050648529Z       createConnection: undefined,
2023-10-31T14:11:27.050651151Z       cacheOptions: {
2023-10-31T14:11:27.050653713Z         shared: undefined,
2023-10-31T14:11:27.050656635Z         cacheHeuristic: undefined,
2023-10-31T14:11:27.050659442Z         immutableMinTimeToLive: undefined,
2023-10-31T14:11:27.050662278Z         ignoreCargoCult: undefined
2023-10-31T14:11:27.050664936Z       },
2023-10-31T14:11:27.050672645Z       https: {
2023-10-31T14:11:27.050675478Z         alpnProtocols: undefined,
2023-10-31T14:11:27.050678172Z         rejectUnauthorized: undefined,
2023-10-31T14:11:27.050680834Z         checkServerIdentity: undefined,
2023-10-31T14:11:27.050683903Z         certificateAuthority: undefined,
2023-10-31T14:11:27.050687177Z         key: undefined,
2023-10-31T14:11:27.050690821Z         certificate: undefined,
2023-10-31T14:11:27.050693637Z         passphrase: undefined,
2023-10-31T14:11:27.050696205Z         pfx: undefined,
2023-10-31T14:11:27.050698860Z         ciphers: undefined,
2023-10-31T14:11:27.050701592Z         honorCipherOrder: undefined,
2023-10-31T14:11:27.050704223Z         minVersion: undefined,
2023-10-31T14:11:27.050707002Z         maxVersion: undefined,
2023-10-31T14:11:27.050709768Z         signatureAlgorithms: undefined,
2023-10-31T14:11:27.050712701Z         tlsSessionLifetime: undefined,
2023-10-31T14:11:27.050715463Z         dhparam: undefined,
2023-10-31T14:11:27.050718114Z         ecdhCurve: undefined,
2023-10-31T14:11:27.050720777Z         certificateRevocationLists: undefined
2023-10-31T14:11:27.050723599Z       },
2023-10-31T14:11:27.050726140Z       encoding: undefined,
2023-10-31T14:11:27.050729029Z       resolveBodyOnly: false,
2023-10-31T14:11:27.050731835Z       isStream: false,
2023-10-31T14:11:27.050734614Z       responseType: 'text',
2023-10-31T14:11:27.050737261Z       url: URL {
2023-10-31T14:11:27.050739935Z         href: 'https://graph.facebook.com/v17.0/<Phone Number ID>',
2023-10-31T14:11:27.050742823Z         origin: 'https://graph.facebook.com',
2023-10-31T14:11:27.050745562Z         protocol: 'https:',
2023-10-31T14:11:27.050748141Z         username: '',
2023-10-31T14:11:27.050750944Z         password: '',
2023-10-31T14:11:27.050753743Z         host: 'graph.facebook.com',
2023-10-31T14:11:27.050756527Z         hostname: 'graph.facebook.com',
2023-10-31T14:11:27.050759717Z         port: '',
2023-10-31T14:11:27.050762382Z         pathname: '/v17.0/<Phone Number ID>',
2023-10-31T14:11:27.050765007Z         search: '',
2023-10-31T14:11:27.050767768Z         searchParams: URLSearchParams {},
2023-10-31T14:11:27.050770370Z         hash: ''
2023-10-31T14:11:27.050773177Z       },
2023-10-31T14:11:27.050776059Z       pagination: {
2023-10-31T14:11:27.050778953Z         transform: [Function: transform],
2023-10-31T14:11:27.050781780Z         paginate: [Function: paginate],
2023-10-31T14:11:27.050784539Z         filter: [Function: filter],
2023-10-31T14:11:27.050791138Z         shouldContinue: [Function: shouldContinue],
2023-10-31T14:11:27.050793964Z         countLimit: Infinity,
2023-10-31T14:11:27.050796646Z         backoff: 0,
2023-10-31T14:11:27.050799409Z         requestLimit: 10000,
2023-10-31T14:11:27.050802170Z         stackAllItems: false
2023-10-31T14:11:27.050804960Z       },
2023-10-31T14:11:27.050807607Z       setHost: true,
2023-10-31T14:11:27.050810239Z       maxHeaderSize: undefined,
2023-10-31T14:11:27.050812876Z       signal: undefined,
2023-10-31T14:11:27.050815437Z       enableUnixSockets: true
2023-10-31T14:11:27.050818173Z     }
2023-10-31T14:11:27.050821028Z   }
2023-10-31T14:11:27.050823793Z }
arladmin commented 8 months ago

@baptisteArno

Found the issue.

Had to do the following additional steps:

arladmin commented 8 months ago

I'm still getting errors though:

Failed to send message: {
...
...
HTTPError 400 {"error":{"message":"(#100) Need either permission on WhatsApp Business Account or owner business.","type":"OAuthException","code":100,"fbtrace_id":"AtB-_zdcXBNUCdzEiQFK5Yi"}}

Which permission is this referring to ?

arladmin commented 8 months ago

It seems to be requiring the "Manage" permission. Why?

Can the bot not operate without it?


These are the permissions that it's requiring: image

I would like to enable only these: image

arladmin commented 8 months ago

Hi @baptisteArno , could you share any update regarding this? Thanks.

baptisteArno commented 8 months ago

Will soon use a totally different account linking process with Use Facebook Business Login for WhatsApp credentials#909

So this issue won't matter then 🙏