How to send message#
Import#
Maven
<dependency>
  <groupId>com.green-api</groupId>
  <artifactId>whatsapp-api-client-java</artifactId>
  <version>version</version>
</dependency>
Gradle
implementation group: 'com.green-api', name: 'whatsapp-api-client-java', version: 'version'
Examples#
How to initialize an object#
You can configure your bean, use application.yml, or instantiate an object via the constructor.
Via configuration:
@Configuration
public class GreenApiConf {
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplateBuilder().build();
    }
    @Bean
    public GreenApi greenApi(RestTemplate restTemplate) {
        return new GreenApi(
            restTemplate,
            "https://media.greenapi.com",
            "https://api.greenapi.com",
            "{{YOUR-ID}}",
            "{{YOUR-TOKEN}}");
    }
}
Via application.yml:
To use a ready-made bean that is created based on application.yml parameters, specify the parameters of your instance in the application.yml file as follows:
green-api:
   host: https://api.green-api.com
   hostMedia: https://media.green-api.com
   instanceId: {{yourInstance}}
   token: {{yourToken}}
Make sure you have a RestTemplate bean with your configuration, like this:
@Bean
public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder){
    return restTemplateBuilder.build();
    }
And add "com.greenapi.client" to the base scanning packages using the @ComponentScan annotation:
@SpringBootApplication
@ComponentScan(basePackages = {"com.greenapi.client", "com.example"})
public class Application {
    public static void main(String[] args) {
        var context = SpringApplication.run(Application.class, args);
    }
}
Via constructor:
var restTemplate = new RestTemplateBuilder().build();
var greenApi1 = new GreenApi(
    restTemplate,
    "https://media.green-api.com",
    "https://api.green-api.com",
    {{instanceId1}},
    {{instanceToken1}});
var greenApi2 = new GreenApi(
    restTemplate,
    "https://media.greenapi.com",
    "https://api.greenapi.com",
    {{instanceId2}},
    {{instanceToken2}});
How to send message#
Link to example: sendMessageExample.java.
@Log4j2
public class SendMessageExample {
    private void sendMessage(GreenApi greenApi) {
        var message = greenApi.sending.sendMessage(
            OutgoingMessage.builder()
                .chatId("111111111111@c.us")
                .message("Hello!")
                .build());
        if (message.getStatusCode().is2xxSuccessful()) {
            log.info(message.getBody());
        } else {
            log.warn("Message isn't sent, status code: " + message.getStatusCode());
        }
    }
}
Example's list#
| Description | Link to example | 
|---|---|
| How to send message | SendMessageExample.java | 
| How to create a group and send message | CreateGroupSendMessageExample.java | 
| How to send a file by uploading from the disk | SendFileByUploadExample.java | 
| How to send a file by URL | SendFileByUrlExample.java | 
| How to send a file by UploadFile + SendFileByUrl | UploadFileAndSendByUrlExample.java | 
| How to send poll | SendPollExample.java | 
| How to receive incoming notifications | WebhookExample.java |