繁体   English   中英

Facebook Messenger,发送回执时临时发送消息失败

[英]Facebook Messenger, Temporary send message failure when sending receipt

我想向我发送带有虚拟数据的收据。

我使用这个库简化了发送到Facebook的消息。

我的有效负载的结构是这样的:

var payload = {
    template_type: 'receipt',
    recipient_name: '@' + user.name + ' ' + user.surname,
    order_number: (new Date).getTime(),
    currency: 'USD',
    payment_method: 'Наличными',
    order_url: 'http://www.example.com',
    timestamp: (new Date).getTime() + '',
    elements: [
        {
            title: title,
            subtitle: subtitle,
            quantity: 1,
            price: 20,
            currency: 'USD',
            image_url: image_url
        }
    ],
    address: {
        street_1:"Nurly tau",
        street_2:"",
        city:"Almaty",
        postal_code:"050000",
        state:"KZ",
        country:"KZ"
    },
    summary: {
        subtotal: 20,
        shipping_cost: 0,
        total_tax: 0,
        total_cost: 20
    },
    adjustments: []
};

我刚刚用简单的伪造数据填充了收据字段。 此外,Facebook跟踪所有已发送的接收单的order_numbers的唯一性。

当我尝试发送此收据时,我收到一条错误消息:

{ message: '(#1200) Temporary send message failure. Please try again later',
  type: 'OAuthException',
  code: 1200,
  fbtrace_id: 'BHmHRCEQUC4' }

这个错误是什么意思? Facebook的错误消息是如此神秘吗?

我只是遇到了同样的问题,经过一番摆弄之后,我发现了它! 问题是,当您使用(new Date).getTime()构造时间戳时,它将返回自历元以来的毫秒数 但是,Facebook要求它以秒为单位。

经过多次尝试,我遇到了同样的问题,我发现问题出在与JSON有效负载一起传递的timestamp参数。

我不知道这可能是什么,但是对我来说删除它很有用。 (也许,时间戳应该是在API调用之前的一会儿,我不知道)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM