API Точка

Avatar
  • обновлен

Здравствуйте! У меня есть вопросы по работе с API Точки.
Я в своём сервисе планирую использовать выставление счетов ЮЛ:https://developers.tochka.com/docs/tochka-api/api/rabota-s-vystavleniem-schetov
В тестовом режиме настроил и проверил взаимодействие через sandbox. Всё в порядке. Но теперь хочу настроить вебхук.
Верно ли я понимаю, что мне нужен тип webhookType = "incomingPayment"?
И ещё вопрос: когда я через createInvoice выставляю счёт, мне возвращается только documentId в UUID формате и больше никакой информации(ну ещё статус можно проверить), как понять, что полученный вебхук связан с оплатой конкретного счёта?

Заранее благодарю за ответ!

Avatar
Команда Точки Администратор
Михаил, здравствуйте! Уже занимаемся вашим вопросом, скоро вернёмся ✍
Avatar
Команда Точки Администратор
Итак, верно, что для получения информации обо всех входящих платежах, подойдёт вебхук с событием "incomingPayment".
Но в нём не будет uuid выставленного счёта, нужно будет сопоставлять сумму, и реквизиты контрагента, которые были в выставленном счёте.

Также, для того, чтобы узнать статус выставленного счёта нужно, чтобы было выполнено 3 условия:
1. В назначении платежа от контрагента должен быть указан номер выставленного счёта;
2. Сумма должна быть равной той, что была в выставленном счёте;
3. Оплата должна прийти от того контрагента, которому был выставлен счёт.

Только при выполнении этих 3-х пунктов можно убедиться, что статус поменялся методом: — Get Invoice Payment Status: https://developers.tochka.com/docs/tochka-api/api/get-invoice-payment-status-invoice-v-1-0-bills-customer-code-document-id-payment-status-get.
Конечный успешный статус будет "payment_paid"
Avatar
михаил анатольевич
Цитата от Команда Точки
Итак, верно, что для получения информации обо всех входящих платежах, подойдёт вебхук с событием "incomingPayment".
Но в нём не будет uuid выставленного счёта, нужно будет сопоставлять сумму, и реквизиты контрагента, которые были в выставленном счёте.

Также, для того, чтобы узнать статус выставленного счёта нужно, чтобы было выполнено 3 условия:
1. В назначении платежа от контрагента должен быть указан номер выставленного счёта;
2. Сумма должна быть равной той, что была в выставленном счёте;
3. Оплата должна прийти от того контрагента, которому был выставлен счёт.

Только при выполнении этих 3-х пунктов можно убедиться, что статус поменялся методом: — Get Invoice Payment Status: https://developers.tochka.com/docs/tochka-api/api/get-invoice-payment-status-invoice-v-1-0-bills-customer-code-document-id-payment-status-get.
Конечный успешный статус будет "payment_paid"

Спасибо большое за оперативный ответ!
Скажите пожалуйста, верно ли я понимаю, что в теле полученного хука  значение documentNumber должно соответствовать значению поля number, которое я инициализирую при отправке запроса к ручке createInvoice?

```json

{

"Data": {

"accountId": "12345810901234567890/044525104",

"customerCode": "1234567ab",

"SecondSide": {

	"taxCode": "662333407785",

	"type": "company",

	"accountId": "40817810802000000008/044525104",

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

	"kpp": "668101001",

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

	"bankCorrAccount": "30101810745374525104",

	"secondSideName": "ООО Тест"

},

"Content": {

"Invoice": {

	"Positions": [

		{

			"positionName": "Тестовая услуга",

			"unitCode": "шт.",

			"ndsKind": "nds_0",

			"price": 1000.00,

			"quantity": 1,

			"totalAmount": 1000.00,

			"totalNds": 0

		}

	],

	"totalAmount": 1000.00,

	"number": "TEST-001",

	"date": "2026-03-06",

	"totalNds": 0,

	"basedOn": "Договор №1",

	"comment": "Тест",

	"paymentExpiryDate": "2026-03-13"

		}

	}

}

}

```

Avatar
Команда Точки Администратор
Цитата от михаил анатольевич

Спасибо большое за оперативный ответ!
Скажите пожалуйста, верно ли я понимаю, что в теле полученного хука  значение documentNumber должно соответствовать значению поля number, которое я инициализирую при отправке запроса к ручке createInvoice?

```json

{

"Data": {

"accountId": "12345810901234567890/044525104",

"customerCode": "1234567ab",

"SecondSide": {

	"taxCode": "662333407785",

	"type": "company",

	"accountId": "40817810802000000008/044525104",

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

	"kpp": "668101001",

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

	"bankCorrAccount": "30101810745374525104",

	"secondSideName": "ООО Тест"

},

"Content": {

"Invoice": {

	"Positions": [

		{

			"positionName": "Тестовая услуга",

			"unitCode": "шт.",

			"ndsKind": "nds_0",

			"price": 1000.00,

			"quantity": 1,

			"totalAmount": 1000.00,

			"totalNds": 0

		}

	],

	"totalAmount": 1000.00,

	"number": "TEST-001",

	"date": "2026-03-06",

	"totalNds": 0,

	"basedOn": "Договор №1",

	"comment": "Тест",

	"paymentExpiryDate": "2026-03-13"

		}

	}

}

}

```

Михаил, подготовим ответ и вернёмся к вам.
Avatar
Команда Точки Администратор
Цитата от михаил анатольевич

Спасибо большое за оперативный ответ!
Скажите пожалуйста, верно ли я понимаю, что в теле полученного хука  значение documentNumber должно соответствовать значению поля number, которое я инициализирую при отправке запроса к ручке createInvoice?

```json

{

"Data": {

"accountId": "12345810901234567890/044525104",

"customerCode": "1234567ab",

"SecondSide": {

	"taxCode": "662333407785",

	"type": "company",

	"accountId": "40817810802000000008/044525104",

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

	"kpp": "668101001",

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

	"bankCorrAccount": "30101810745374525104",

	"secondSideName": "ООО Тест"

},

"Content": {

"Invoice": {

	"Positions": [

		{

			"positionName": "Тестовая услуга",

			"unitCode": "шт.",

			"ndsKind": "nds_0",

			"price": 1000.00,

			"quantity": 1,

			"totalAmount": 1000.00,

			"totalNds": 0

		}

	],

	"totalAmount": 1000.00,

	"number": "TEST-001",

	"date": "2026-03-06",

	"totalNds": 0,

	"basedOn": "Договор №1",

	"comment": "Тест",

	"paymentExpiryDate": "2026-03-13"

		}

	}

}

}

```

Поле documentNumber может не соответствовать number. Значение documentNumber в вебхуке это номер платежа, который был передан контрагенту при проведении выплаты.

Сопоставить вебхук и выставленный счёт можно по реквизитам контрагента и сумме. А также по назначению платежа, если контрагент передал в нём, например: "Оплата по счёту №х от ...."