สัญญาณขาดหายบางส่วน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

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?

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?

12 มิถุนายน เวลา 10:35 น.
Daniel
Johana

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

12 มิถุนายน เวลา 13:36 น.
1

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

13 มิถุนายน เวลา 02:08 น.
Daniel
Johana

Yes, this is 3724886324423819 I look forward to any response

13 มิถุนายน เวลา 06:32 น.
1

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

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

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": {}
}
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

14 มิถุนายน เวลา 13:53 น.
Johana

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

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"
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": {}
}'
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

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?

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.

21 มิถุนายน เวลา 09:11 น.
Johana

Can you send me your request?

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?

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.

22 มิถุนายน เวลา 15:20 น.