[go: up one dir, main page]

Перейти к содержанию

Как отправить файл загрузкой с диска#

Импорт#

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