Как отправить файл загрузкой с диска#
Импорт#
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")
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}}");
Как отправить файл загрузкой с диска#
Чтобы отправить файл, нужно указать первым параметром путь к нужному документу.
Ссылка на пример: SendFileByUploadExample.java.
@Log4j2
public class SendFileByUploadExample {
private void sendFileByUploadExample(GreenApi greenApi) {
var file = new File("User/username/folder/Go-Logo_Blue.svg");
var response = greenApi.sending.sendFileByUpload(OutgoingFileByUpload.builder()
.file(file)
.fileName(file.getName())
.chatId("11001234567@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 |