Partial Outageshare-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
Asked about 5 months ago
Selected Answer
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

June 12 at 6:28 AM
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?

June 12 at 6:59 AM
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?

June 12 at 10:35 AM
Daniel
Johana

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

June 12 at 1:36 PM
1

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

June 13 at 2:08 AM
Daniel
Johana

Yes, this is 3724886324423819 I look forward to any response

June 13 at 6:32 AM
1

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

June 13 at 7:06 AM
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

June 13 at 7:09 AM
Daniel
Johana

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

{
    "version": "3.0",
    "action": "ping",
    "data": {}
}
June 13 at 9:13 AM
Daniel

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

June 14 at 1:53 PM
Johana

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

June 18 at 7:25 PM
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"
June 20 at 6:56 AM
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": {}
}'
June 20 at 5:12 PM
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

June 20 at 5:13 PM
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?

June 21 at 5:18 AM
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.

June 21 at 9:11 AM
Johana

Can you send me your request?

June 21 at 9:13 AM
Daniel

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

June 22 at 3:15 PM
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.

June 22 at 3:20 PM