Announcement

Collapse
No announcement yet.

запрос по api

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • запрос по api

    Hello, I need help setting up APi.
    Let me tell you right away that I am not good at programming.
    There was a need to do the following: So that from an external website I could check the history of transactions through the contact indicator without entering the CRM itself for my clients, and also check the status of existing transactions.

    I made this script for an example, I made it on the site:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Запрос информации из EspoCRM</title>
    </head>
    <body>
    <form method="POST" action="">
    <label for="contactId">Идентификатор контакта:</label>
    <input type="text" id="contactId" name="contactId">
    <button type="submit">Запросить информацию</button>
    </form>

    <?php
    // Проверяем, был ли отправлен запрос
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Получаем идентификатор контакта из поля ввода
    $contactId = $_POST['contactId'];

    // Адрес EspoCRM и данные пользователя API
    $baseUrl = 'http://j29669g8.ter';
    $apiKey = '9ecb0b3fe7be8f27f7326d42e34b9d1a';
    $username = 'test';

    // Формируем URL для запроса
    $url = $baseUrl . '/api/v1/Contact/' . $contactId . '?fields=firstName,phoneNumber';

    // Создаем заголовки для авторизации
    $headers = [
    'Espo-Authorization: Basic ' . base64_encode($username . ':' . $apiKey),
    'Content-Type: application/json'
    ];

    // Создаем контекст для отправки HTTP-запроса
    $context = stream_context_create([
    'http' => [
    'header' => $headers
    ]
    ]);

    // Отправляем GET-запрос и получаем ответ
    $response = file_get_contents($url, false, $context);

    // Проверяем ответ на ошибки
    if ($response === false) {
    echo 'Ошибка при выполнении запроса.';
    } else {
    // Декодируем JSON-ответ в массив
    $contact = json_decode($response, true);

    // Отображаем информацию о контакте
    echo 'Имя: ' . $contact['firstName'];
    echo 'Телефон: ' . $contact['phoneNumber'];
    }
    }
    ?>
    </body>
    </html>

    when executing ​the following error appears in the logs: WARNING: (400) Auth: Bad authorization string provided.; GET /Contact/6554d7ffe813e2b59; line: 195, file: /home/j/j29669g8/j29669g8.beget.tech/public_html/application/Espo/Core/Api/Auth.php

    Thank you in advance
Working...
X