API /sandbox/v2/invoice/v1.0/bills

Avatar
  • обновлен

Взял пример запроса на python из https://developers.tochka.com/docs/tochka-api/api/create-invoice-invoice-api-version-bills-post sandbox


но всегда получаю {"code":"403","id":"db8f7cf2-5653-4442-930d-4b07906a2a6c","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Что может быть не так?

Avatar
Команда Точки Администратор
Цитата от love apples

Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из https://developers.tochka.com/docs/tochka-api/api/create-invoice-invoice-api-version-bills-post и подкорректирован по вашему ответу, а именно customerCode и Bearer sandbox.jwt.token).
На боевом, к слову, та же ошибка. 

import requests

import json

url = "https://enter.tochka.com/sandbox/v2/invoice/v1.0/bills"

payload = json.dumps({

"Data": {

"accountId": "40817810802000000008/044525104",

"customerCode": "1234567ab",

"SecondSide": {

"accountId": "40817810802000000008/044525104",

"legalAddress": "624205, РОССИЯ, СВЕРДЛОВСКАЯ обл, ЛЕСНОЙ г, ЛЕНИНА ул, ДОМ 96, офис КВ. 19",

"kpp": "668101001",

"bankName": "ООО БАНК ТОЧКА",

"bankCorrAccount": "30101810745374525104",

"taxCode": "660000000000",

"type": "company",

"secondSideName": "ООО Студия дизайна М-АРТ"

},

"Content": {

"Invoice": {

"Positions": [

{

"positionName": "Название товара",

"unitCode": "шт.",

"ndsKind": "nds_0",

"price": "1234.56",

"quantity": "1234.567",

"totalAmount": "1234.56",

"totalNds": "1234.56"

}

],

"date": "2010-10-29",

"totalAmount": "1234.56",

"totalNds": "1234.56",

"number": "1",

"basedOn": "Основание платежа",

"comment": "Комментарий к платежу",

"paymentExpiryDate": "2020-01-20"

}

}

}

})

headers = {

'Content-Type': 'application/json',

'Accept': 'application/json',

'Authorization': 'Bearer sandbox.jwt.token'

}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

{"code":"403","id":"b4f3fb78-cf7b-44ce-94d5-479ae872f269","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Смотрим 👀
Avatar
love apples
Цитата от Команда Точки
Возвращаемся к вам. При работе в песочнице нужно указывать данные для работы в песочнице, а именно: customerCode: 1234567ab.
И вместо токена для авторизации (JWT-токена) в заголовке Authorization нужно использовать строку sandbox.jwt.token, которая даёт все разрешения во всех методах. Пример: Authorization: Bearer sandbox.jwt.token.

Любая другая строка в этом заголовке определяется как отсутствие разрешения на выполнения метода. Исправьте, пожалуйста, данные в запросе и попробуйте его повторить.

Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из https://developers.tochka.com/docs/tochka-api/api/create-invoice-invoice-api-version-bills-post и подкорректирован по вашему ответу, а именно customerCode и Bearer sandbox.jwt.token).
На боевом, к слову, та же ошибка. 

import requests

import json

url = "https://enter.tochka.com/sandbox/v2/invoice/v1.0/bills"

payload = json.dumps({

"Data": {

"accountId": "40817810802000000008/044525104",

"customerCode": "1234567ab",

"SecondSide": {

"accountId": "40817810802000000008/044525104",

"legalAddress": "624205, РОССИЯ, СВЕРДЛОВСКАЯ обл, ЛЕСНОЙ г, ЛЕНИНА ул, ДОМ 96, офис КВ. 19",

"kpp": "668101001",

"bankName": "ООО БАНК ТОЧКА",

"bankCorrAccount": "30101810745374525104",

"taxCode": "660000000000",

"type": "company",

"secondSideName": "ООО Студия дизайна М-АРТ"

},

"Content": {

"Invoice": {

"Positions": [

{

"positionName": "Название товара",

"unitCode": "шт.",

"ndsKind": "nds_0",

"price": "1234.56",

"quantity": "1234.567",

"totalAmount": "1234.56",

"totalNds": "1234.56"

}

],

"date": "2010-10-29",

"totalAmount": "1234.56",

"totalNds": "1234.56",

"number": "1",

"basedOn": "Основание платежа",

"comment": "Комментарий к платежу",

"paymentExpiryDate": "2020-01-20"

}

}

}

})

headers = {

'Content-Type': 'application/json',

'Accept': 'application/json',

'Authorization': 'Bearer sandbox.jwt.token'

}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

{"code":"403","id":"b4f3fb78-cf7b-44ce-94d5-479ae872f269","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Avatar
Команда Точки Администратор
Возвращаемся к вам. При работе в песочнице нужно указывать данные для работы в песочнице, а именно: customerCode: 1234567ab.
И вместо токена для авторизации (JWT-токена) в заголовке Authorization нужно использовать строку sandbox.jwt.token, которая даёт все разрешения во всех методах. Пример: Authorization: Bearer sandbox.jwt.token.

Любая другая строка в этом заголовке определяется как отсутствие разрешения на выполнения метода. Исправьте, пожалуйста, данные в запросе и попробуйте его повторить.
Avatar
Команда Точки Администратор
Добрый день! Проверим информацию по вашему вопросу и вернёмся с ответом.