lutaev
lutaev

Reputation: 337

Twilio statusCallback doesn't fire

I'm trying to set up messages delivery status check with twilio. For some reasons twilio statusCallback doesn't fire. Could you please help me to find an error?

Here is a file where I do initialization and send messages:

const Twilio = require('twilio');
const {
  TWILIO_ACCOUNT_SID,
  TWILIO_AUTH_TOKEN,
  TWILIO_PHONE_NUMBER
} = require('config');

const client = new Twilio(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);

module.exports = {
  send: (body, phoneNumber) => client.messages.create({
    body,
    to: phoneNumber,
    from: TWILIO_PHONE_NUMBER,
    statusCallback: 'http://postb.in/b/XXXXXXXX'
  })
    .then((message) => {
      console.log(message.sid);

      return message.sid;
    })
};

Here is a test where I call message sending after initialization:

const { expect } = require('chai');
const smsUtility = require('utils/sms');

describe('Sms utility', () => {
  it('should send a message and return message sid', (done) => {
    const body = 'Body';
    const number = '+XXXXXXXXXXX';

    smsUtility.send(body, number)
      .then((messageSid) => {
        expect(typeof messageSid).to.equal('string');

        return done();
      })
      .catch((err) => {
        console.log(err);

        return done();
      });
  });
});

I use test credentials, but when I replace it with real twilio credentials, I successfully receive a message, so this part works fine. Also, when I try to ping postb.in url manually (with curl), it also works OK. Only statusCallback doesn't work.

Thanks.

Upvotes: 2

Views: 1051

Answers (1)

philnash
philnash

Reputation: 73075

Twilio developer evangelist here.

It looks to me like you have everything set up nicely aside from your Postbin URL.

I noticed you show your URL as http://postb.in/b/XXXXXXXX. But the /b/ version of the URL is the dashboard for your Postbin. Requests to the dashboard won't show up on the dashboard.

Instead, you should use the URL that looks like: http://postb.in/XXXXXXXX. Try that and let me know if it's working.

Upvotes: 6

Related Questions