public void configure()

in whatsapp/src/main/java/org/apache/camel/example/whatsapp/WhatsappRouteBuilder.java [26:52]


    public void configure() {
        restConfiguration().port(8080);

        // Send custom message
        from("direct:start")
            .toF("whatsapp:%s/?authorizationToken=%s", Application.PHONE_NUMBER_ID, Application.AUTHORIZATION_TOKEN);

        // Echo to a message sent from the number
        fromF("webhook:whatsapp:%s?authorizationToken=%s&webhookVerifyToken=%s", Application.PHONE_NUMBER_ID, Application.AUTHORIZATION_TOKEN, Application.WEBHOOK_VERIFY_TOKEN)
            .log("${body}")
            .choice().when().jsonpath("$.entry[0].changes[0].value.messages", true)
            .setHeader("CamelWhatsappBody").jsonpath("$.entry[0].changes[0].value.messages[0].text.body")
            .setHeader("CamelWhatsappSentMessage").jsonpath("$.entry[0].changes[0].value.contacts[0].profile.name")
            .setHeader("CamelWhatsappPhoneNumber").jsonpath("$.entry[0].changes[0].value.contacts[0].wa_id")
            .process(exchange -> {
                TextMessageRequest request = new TextMessageRequest();
                request.setTo(exchange.getIn().getHeader("CamelWhatsappPhoneNumber").toString());
                request.setText(new TextMessage());
                request.getText().setBody(String.format("Hello %s message sent was %s", 
                                                        exchange.getIn().getHeader("CamelWhatsappSentMessage"),
                                                        exchange.getIn().getHeader("CamelWhatsappBody")));
                
                exchange.getIn().setBody(request);
            })
            .toF("whatsapp:%s/?authorizationToken=%s", Application.PHONE_NUMBER_ID, Application.AUTHORIZATION_TOKEN)
        .end();
    }