API /sandbox/v2/invoice/v1.0/bills
Взял пример запроса на 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/"}]}
Что может быть не так?
И вместо токена для авторизации (JWT-токена) в заголовке Authorization нужно использовать строку sandbox.jwt.token, которая даёт все разрешения во всех методах. Пример: Authorization: Bearer sandbox.jwt.token.
Любая другая строка в этом заголовке определяется как отсутствие разрешения на выполнения метода. Исправьте, пожалуйста, данные в запросе и попробуйте его повторить.
И вместо токена для авторизации (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/"}]}
Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из 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/"}]}
Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из 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/"}]}
Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из 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/"}]}
Спасибо, что подождали нас 😌
Здесь ещё нужно подкорректировать сам accountId на: 12345810901234567890/044525104
А в secondSide оставьте то, что есть, и повторите запрос.
Доброе утро! Может ли причиной этой ошибки на боевом сервере быть заблокированный счёт?
Доброе утро! Может ли причиной этой ошибки на боевом сервере быть заблокированный счёт?
В том числе и реквизиты контрагента должны тоже быть настоящими, чтобы сформировать счёт на оплату.
Можно, пожалуйста, поподробнее про customerCode? Сейчас работаю с другим методом https://developers.tochka.com/docs/tochka-api/api/create-payment-operation-acquiring-api-version-payments-post и получаю ошибку {"code":"403","id":"17f1678b-b84b-46de-b0fe-1dab9e2fd2f6","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}
Предполагаю, что это из-за customerCode. В частности хотелось бы узнать как он получается для корректной отправки запроса
Можно, пожалуйста, поподробнее про customerCode? Сейчас работаю с другим методом https://developers.tochka.com/docs/tochka-api/api/create-payment-operation-acquiring-api-version-payments-post и получаю ошибку {"code":"403","id":"17f1678b-b84b-46de-b0fe-1dab9e2fd2f6","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}
Предполагаю, что это из-за customerCode. В частности хотелось бы узнать как он получается для корректной отправки запроса
Чтобы узнать свой customerCode, нужно вызвать метод Get Customers List (https://developers.tochka.com/docs/tochka-api/api/get-customers-list-open-banking-api-version-customers-get)
Параметр customerCode необходимо брать из поля customerType: "Business".