Как отправить файл по ссылке#
Импорт#
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'
Примеры#
Как инициализировать объект#
Вы можете сконфигурировать свой bean, воспользоваться application.property или создать инстанс объекта через конструктор.
Через конфигурацию:
@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",
            "{{номер вашего инстанса}}",
            "{{токен вашего инстанса}}");
    }
}
Через application.yml:
Или используйте готовый бин, который создается на основе параметров application.yml. Для этого укажите параметры вашего инстанса в файле application.yml следующим образом:
green-api:
   host: https://api.green-api.com
   hostMedia: https://media.green-api.com
   instanceId: {{номер вашего инстанса}}
   token: {{токен вашего инстанса}}
Убедитесь, что у вас есть RestTemplate bean с вашей конфигурацией, например:
@Bean
public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder){
    return restTemplateBuilder.build();
    }
И добавьте "com.greenapi.client" в базовые пакеты для сканирования с помощью аннотации @ComponentScan:
@SpringBootApplication
@ComponentScan(basePackages = {"com.greenapi.client", "com.example"})
public class Application {
    public static void main(String[] args) {
        var context = SpringApplication.run(Application.class, args);
    }
}
Через конструктор:
var restTemplate = new RestTemplateBuilder().build();
var greenApi1 = new GreenApi(
    restTemplate,
    "https://media.green-api.com",
    "https://api.green-api.com",
    "{{номер вашего инстанса1}}",
    "{{токен вашего инстанса1}}");
var greenApi2 = new GreenApi(
    restTemplate,
    "https://media.greenapi.com",
    "https://api.greenapi.com",
    "{{номер вашего инстанса2}}",
    "{{токен вашего инстанса2}}");
Как отправить файл по ссылке#
Ссылка на пример: SendFileByUrlExample.java.
@Log4j2
public class SendFileByUrlExample {
    private void sendFileByUrlExample(GreenApi greenApi) {
        var response = greenApi.sending.sendFileByUrl(OutgoingFileByUrl.builder()
            .urlFile("https://go.dev/blog/go-brand/Go-Logo/SVG/Go-Logo_Blue.svg")
            .fileName("Go-Logo_Blue.svg")
            .chatId("79876543210@c.us")
            .build());
        if (response.getStatusCode().isError()) {
            log.warn("message sending is failed");
        }
        log.info("message sent, id: " + Objects.requireNonNull(response.getBody()).getIdMessage());
    }
}
Список примеров#
| Описание | Ссылка на пример | 
|---|---|
| Как создать группу и отправить сообщение | SendMessageExample.java | 
| Как создать группу и отправить сообщение | CreateGroupSendMessageExample.java | 
| Как отправить файл загруженный с устройства | SendFileByUploadExample.java | 
| Как отправить файл через ссылку | SendFileByUrlExample.java | 
| Как отправить файл через uploadFile + SendFileByUrl | UploadFileAndSendByUrlExample.java | 
| Как отправить опрос | SendPollExample.java | 
| Как получать входящие уведомления | WebhookExample.java |