部分服务中断share-external
What causes this error when trying to publish my flow? "You should verify that the endpoint is available and that you have implemented a health check before publishing it."
1

I verified my endpoint and it is working fine and I still get this error: You should verify that the endpoint is available and that you have implemented a health check before publishing it.

I found this documentation but it is not clear what I should do, before this endpoint worked for me to publish a flow but now I get that error. https://developers.facebook.com/docs/whatsapp/flows/guides/implementingyourflowendpoint#health_check_request

Johana
提问时间: 约 5 个月前
已选回答
1

Hi,

One of the requirements says that you need to upload and sign a public key to a phone number before you can send or publish a Flow with data channel. See details here: https://developers.facebook.com/docs/whatsapp/flows/guides/implementingyourflowendpoint#upload_public_key. Have you done that?

You're saying we published flows in the past using the same endpoint. Are the past flows and the new one in the same WABA?

Thanks, Daniel

6月12日 06:28
Daniel
Johana

Yes, the past flow and the new one are in the same WABA. But I have the last flow in Obsolete state. Can this affect the publication of my new flow?

6月12日 06:59
1

The status of a previous flow would not impact publishing of a new one. Just to clarify, "obsolete" means status is DEPRECATED, right?

What about the public key, was this uploaded and is fine?

6月12日 10:35
Daniel
Johana

Yes, the public key was loaded correctly and is valid. I don't know what it could be

6月12日 13:36
1

Would you be comfortable sharing the flow id, so we can investigate on the actual flow?

6月13日 02:08
Daniel
Johana

Yes, this is 3724886324423819 I look forward to any response

6月13日 06:32
1

We see the endpoint configured in the flow is not available.

6月13日 07:06
Daniel
1

Please note that endpoints should be able to respond to health check requests. WhatsApp will periodically send health check requests to the endpoints used by published flows.

Sample Health Check Request Payload

{
    "version": "3.0",
    "action": "ping",
    "data": {}
}

You should generate the following response payload:

{
    "version": "3.0",
    "data": {
        "status": "active"
    }
}

For reference, please use this: https://developers.facebook.com/docs/whatsapp/flows/reference/implementingyourflowendpoint#health_check_request

6月13日 07:09
Daniel
Johana

That is, should I execute a POST with my URL and this in the body?

{
    "version": "3.0",
    "action": "ping",
    "data": {}
}
6月13日 09:13
Daniel

yes, please, you need to make sure your endpoint is up all the time and also responds to ping as detailed above

6月14日 13:53
Johana

Yes, the endpoint works but it still doesn't verify me. Please help

6月18日 19:25
Daniel

When I try to ping your endpoint in curl I get errors:

[status] => "failed"
[error] => "Curl failed with error code 56 (RECV_ERROR)"
[error_type] => "no_http_response"
6月20日 06:56
Johana

How do you execute it? If it answers me with http code 200. This is my curl:

curl --location 'https://lia-qa.fif.tech/webhook-stg/dataflows/seguros_co/stg' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cf_bm=CAhtki_FEWNct_I2z.8.OEfLBashEfHhI0c2ntNA1Tw-1718891939-1.0.1.1-XmyrIkba0ieCjGsXznxne92uNMXLiD2dkZtFibax0ZqizYhYi6qWlHp7tfpuzgCLj6CBEgKGLucWWABi3Ds8x0EYkvixr9pVVooWrUk9kbE' \
--data '{
    "version": "3.0",
    "action": "ping",
    "data": {}
}'
6月20日 17:12
Johana

You can try to run the endpoint several times? as it is a test environment (qa), our endpoint is not exposed to the internet, however we have applied a rule to allow the ASN of Meta 32934 to reach our service

6月20日 17:13
Daniel

First, I note that you amended the endpoint used by the flow. Second, the new endpoint behaves the same as the old one: still we don't get a response for ping. You're saying your endpoint is not exposed to the internet... maybe that shouldn't be the case?

6月21日 05:18
Johana

Yes, it is not exposed to the internet but as I said, it is exposed to the internet for Meta's ASN 32934. That is to say that if you are doing the ping from a Meta machine with that ASN 32934 it should work for you.

6月21日 09:11
Johana

Can you send me your request?

6月21日 09:13
Daniel

Is it possible to please provide a link to documentation where there is a recommendation to limit endpoints access to ASN 32934?

6月22日 15:15
Daniel

Additionally, note that the endpoint is supposed to serve the users of that flow. They won't be coming from ASN 32934.

We now know technically why the flow can't be published. Please amend your local settings so endpoint is reachable.

Please confirm if this thread can be closed.

6月22日 15:20