HMRC VAT API Invalid_Date_Range

Я пытаюсь использовать компоненты Delphi TREST для подключения к HRMC VAT API.

Я дошел до получения токенов доступа и обновления, но не могу продвинуться дальше.

На данный момент я пытаюсь восстановить свои обязательства следующим образом: -

RESTClient := TRestClient.Create('https://test-api.service.hmrc.gov.uk/organisations/vat/666596898/obligations');
try
    RESTRequest := TRESTRequest.Create(RESTClient);
    RESTResponse := TRESTResponse.Create(RESTClient);
    OAuth2 := TOAuth2Authenticator.Create(RESTClient);

    with OAuth2 do
        begin
            AccessToken := <my access token>;
            ResponseType := TOAuth2ResponseType(rtCODE);
            TokenType := TOAuth2TokenType(ttBEARER);
        end;

    with RESTClient do
        begin
            Authenticator := OAuth2;
            ContentType := 'application/json';
        end;

    with RESTRequest do
        begin
            Client := RESTClient;
            Response := RESTResponse;
            Accept := 'application/vnd.hmrc.1.0+json';
            Params.AddItem('from', '2017-01-25', pkGETorPOST);
            Params.AddItem('to', '2017-01-25', pkGETorPOST);
            Execute;
        end;

    finally
      RESTClient.DisposeOf;
    end;

Этот конкретный код возвращает ошибку INVALID_DATE_RANGE. Но в зависимости от того, какие даты я использую, я также иногда получаю CLIENT_OR_AGENT_NOT_AUTHORISED.

Может ли кто-нибудь пролить свет на то, где я ошибаюсь?

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
0
295
2

Ответы 2

Возможно, ему не нравится, что даты начала и окончания совпадают? Он говорит о недопустимом диапазоне дат, а не о недопустимых датах.

Спасибо за предложение, но, к сожалению, проблема не в этом. Я пробовал много разных дат и разных диапазонов. Если я не добавлю параметры, я получу INVALID_DATE_FROM / INVALID_DATE_TO, если это применимо. И это вызывает разные ошибки из-за недопустимых форматов даты. Таким образом, он, похоже, правильно распознает параметры даты, но затем возражает против диапазона.

Andrew 16.11.2018 17:18

Я, наконец, разобрался. Это была проблема с моими учетными данными тестового пользователя. Я сгенерировал их с веб-сайта HMRC, но из других сообщений я обнаружил, что существует проблема с их созданием таким образом. Когда я создал пользователя через API, он отлично работает!

Я надеюсь, что это помогает кому-то.

Другие вопросы по теме