Download OpenAPI specification:Download
API for managing webhooks
update: Extend the
cdd_case_update
event with optionalpayout_destination_case
andpayment_case
to make it easier to determine what CDD case was updated
doc: Fix
HookDeliveryDetail
definition, the type for theresponse.body
anddetails.delivery_duration
was wrong, change tostring
andnumber
new: Add support for
approval_payout_destination_delete
event. The event will be published when a seller approval is archived
new: Add support for subscription on
checkout_transaction
event.
Add support for creating subscription with
fields
mask. The fields property lets you explicitly select the fields you need from the event deliveries
Document example for
approval_payout_destination_update
event
Add support for subscription on
shopping_order_delete
events.
Add support for subscription on
settlement_add
events.
Add support for subscription on
account_add
andaccount_update
events.
Implement support for subscription on
discount_customer_update
event. The event is published after a
- POST hooks/subscriptions
receipt_add
event or when discounts are claimed.
Each event has a similar JSON schema, but a unique payload object that is determined by its event type.
The event is sent from auth service after an account is added or updated.
The events are only available for production subscriptions
account_add
events are only available for partner accounts
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: account_add
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "account_add",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"account": {
"account_id": "12341234",
"jwks": {
"name": "example",
"uri": "https://example.com"
},
"applicant": {
"agreement": {
"accepted_at": "2022-01-01T00:00:00Z"
},
"email": "john.doe@example.com",
"first_name": "John",
"last_name": "Doe",
"phone_number": "+1234567890",
"promo_code": "ABC123",
"utm": {
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "example"
}
},
"billing": {
"address": {
"address_line": "123 Main St",
"postal_place": "MainVille",
"country": "NO"
},
"business_name": "Example Inc"
},
"company": {
"business_name": "Example Inc.",
"address": {
"address_line": "123 Main St",
"postal_place": "MainVille",
"country": "NO"
}
},
"language_code": "en-US",
"livemode": "true",
"partner_id": "00000000",
"active": "true",
"account_manager": {
"email": "jane.doe@example.com"
},
"reseller_id": "reseller123",
"progression": "live",
"subscription": {
"interval": "month",
"metadata": {
"key": "value"
},
"plan": "basic",
"support": "email"
},
"services": {
"checkout": {
"enabled": "true",
"settings": {
"key": "value"
}
},
"customers": {
"enabled": "true",
"settings": {
"key": "value"
}
}
},
"connections": {
"collector": {
"invoice": {
"enabled": "true",
"settings": {
"key": "value"
}
}
}
},
"created_by": "1234-1234-1234-1234"
}
}
Customer event sent from customers service after a customer is created, updated or deleted. All customer properties will be included in the event.
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: customer_update
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "customer_update",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"metadata": {
"dob_year": 1985
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2019-08-24T14:15:22Z",
"created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
"updated_at": "2019-08-24T14:15:22Z",
"first_name": "John",
"last_name": "Doe",
"email": "customer@example.com",
"phone_number": "+4799999999",
"status": "string",
"favorite_store": "string",
"enrolled_by": {
"type": "url",
"value": "https://facebook.com"
},
"type": "customer",
"addresses": [
{
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
}
],
"term": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"accepted_at": "2019-08-24T14:15:22Z"
},
"company": {
"organization_number": "123456789MVA",
"bussiness_name": "TKP tech AS",
"department": "sales department",
"industry": "computer industry",
},
"date_of_birth": "1990-09-20",
"customer_id": "string"
}
Customer event sent from customers service after a change_password
request is received. Note that the event includes a context object
with audience
and created_by
.
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: customer_change_password
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "customer_change_password",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"metadata": {
"dob_year": 1985
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2019-08-24T14:15:22Z",
"created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
"updated_at": "2019-08-24T14:15:22Z",
"first_name": "John",
"last_name": "Doe",
"email": "customer@example.com",
"phone_number": "+4799999999",
"status": "string",
"favorite_store": "string",
"enrolled_by": {
"type": "url",
"value": "https://facebook.com"
},
"type": "customer",
"addresses": [
{
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
}
],
"term": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"accepted_at": "2019-08-24T14:15:22Z"
},
"company": {
"organization_number": "123456789MVA",
"bussiness_name": "TKP tech AS",
"department": "sales department",
"industry": "computer industry",
},
"date_of_birth": "1990-09-20",
"customer_id": "string"
"context": {
"audience": "https://api.dintero.com/v1/accounts/P00000000",
"created_by": "API_USER"
}
}
Discount event sent from discount service after a discount rule is created, updated or deleted. All discount properties will be included in the event
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: discount_update
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "discount_update",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2019-08-24T14:15:22Z",
"created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
"updated_at": "2019-08-24T14:15:22Z",
"campaign_id": "string",
"active": "true",
"private": "false",
"updated_by": "3d1e4824-5474-48e7-a369-4f603fa4c5b8",
"type": "item",
"name": "Spar 100,-",
"receipt_text": "Mai Salg",
"visible_from": "2019-08-24T14:15:22Z",
"description": "Gjør et Stablestol kupp!",
"limitation": {
"discount_activation": [
{
"type": "deactivate_if_discount_active",
"value": "string"
}
],
"discount_hours": {
"timezone": "Europe/Oslo",
"hours": [
{
"day": "mon",
"start": "10:00",
"end": "20:00"
}
]
},
"discount_reward_usage": 1,
"discount_combination": -1,
"discount_eligible": "item_eligible_for_discount",
"discount_repeat_usage": -1,
"stamp_expire_days": 100,
"blacklist": [
{
"id": "b714118",
"group_id": "B1"
}
]
},
"requirement": {
"customer": {
"addresses": [
{
"country": [
"NO"
],
"postal_code": [
"0349"
],
"postal_place": [
"Oslo"
],
"custom_type": [
"offsite"
],
"type": [
"custom"
]
}
],
"company": {
"bussiness_name": [
"TKP tech AS"
],
"department": [
"production",
"research"
],
"industry": [
"J62.0.1",
"J62.0.2"
],
"number_of_employees": [
"20"
],
"organization_number": [
"123456789MVA"
],
"website": [
"https://dintero.com"
]
},
"date_of_birth": [
"1990-09-20",
"1990-05-10"
],
"first_name": [
"John"
],
"gender": [
"male"
],
"last_name": [
"Doe"
],
},
"item": {
"quantity": 0,
"mixes": [
{
"items": [
{
"id": "b714118"
},
{
"group_id": "g4"
}
],
"quantity": 0,
"reward_eligible": "true"
}
],
"items": [
{
"id": "b714118",
"group_id": "B1"
}
]
},
"store_ids": [
"sc029"
],
"gross_amount": 0,
"currencies": [
{
"anything-but": [
"NOK"
]
}
],
"stamp": 5,
"discount_code": "TACO",
"store": {
"id": [
"sc029"
],
},
"purchase_from": "2019-08-24T14:15:22Z",
"purchase_to": "2019-08-24T14:15:22Z"
},
"reward": {
"type": "discount_amount",
"value": 10000,
"base": "net",
"effect": "discount"
},
"metadata": {
"campaign_id": "V101",
"is_featured": "true",
"dintero:private_text:kind": "Gold"
},
"links": [
{
"href": "https://example.dintero.com/c/photos/2018/6_20_thumbnail_discount_image.png",
"rel": "thumbnail_discount_image"
}
]
}
The event is sent from discount service after a customer is added removed from the discount. The event will originate from Add customer, Remove customer or from an automation triggered.
The receipt/automation property is only set if the customer was added to the discount by the automation.
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: discount_add_customers
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "discount_add_customers",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"created_at": "2018-01-10T08:49:20.533Z",
"created_by": "API_USER",
"id": "{customer_ref_discount_id}",
"customer_id": "{customer_id}",
"discount": {
"id": "{discount.id}"
},
"receipt": { "id": "{receipt.id}" ... },
"automation": {
"created_at": "2018-03-19T15:04:42Z",
"created_by": "API_USER",
"id": "string",
"updated_at": "2018-03-19T15:04:42Z",
"events": ["customer_add"]
}
}
The event is sent from discount service after a customer discounts is updated. An update is triggered when discounts are used (receipt_add), claimed or if stamp is added to the discount (receipt_add).
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: discount_customer_update
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "discount_customer_update",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"created_by": "string",
"created_at": "2022-01-01T00:00:00Z",
"customer_id": "string",
"claim": {
"id": "string"
},
"receipt": {
"id": "string"
},
"discounts": [
{
"id": "string",
"refs": [
{
"id": "string",
"stamp": 1337,
"amount": 10,
"usage": 1,
"bonus": 0,
"statistics": {
"amount": 10,
"bonus": 0,
"debit_balance": 0,
"stamp": 1640995200,
"usage": 1
}
}
]
}
]
}
Location event sent from our customer service after a location is created, updated or deleted. All locations properties will be included in the event.
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: location_add
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "location_add",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"location": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2019-08-24T14:15:22Z",
"created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
"updated_at": "2019-08-24T14:15:22Z",
"location_id": "S01923",
"name": "TKP Store",
"timezone": "Europe/Oslo",
"status": "Active",
"language_code": "string",
"currency": "NOK",
"phone_number": "+4799999999",
"chain": "SuperChain",
"email": "saleslocation@example.com",
"mcc": "5814",
"gln": "string",
"organization_number": "123456789MVA",
"business_name": "TKP technology AS",
"franchise": "Subway",
"type": "string",
"website_url": "string",
"address": {
"address_line": "Sommerkroveien 34",
"address_line_2": "PB 123",
"postal_code": "0349",
"postal_place": "Oslo",
"country": "NO",
"latitude": 0,
"longitude": 0
}
}
}
Receipt event sent from receipts service after a receipt is added. The complete receipt will be included in the event.
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: receipt_add
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "receipt_add",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"created_at": "2018-01-10T07:57:42Z",
"created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
"id": "2adb53e8-7f9b-44a4-8d5f-ed85d44cf02b",
"purchase_at": "2018-01-10T07:57:42Z",
"receipt_id": "714118",
"store": {
"id": "sc029"
}
}
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: settlement_add
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "settlement_add",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"settlement": {
"id": "string",
"account_id": "P12341234",
"settled_at": "2022-01-01T00:00:00.000Z",
"email_received_at": "2022-01-02T00:00:00.000Z",
"gateway": "vipps",
"created_at": "2022-01-03T00:00:00.000Z",
"updated_at": "2022-01-04T00:00:00.000Z",
"provider_reference": "123456789",
"payout_destination_id": "987654321",
"metadata": {
"attachments": [
{
"id": "attachment1",
"download_link": "https://example.com/attachment1",
"content_type": "application/pdf",
"extension": "pdf",
"created_by": "user1"
}
],
"aggregation": [
{
"capture": 94000,
"amount": 30825,
"currency": "NOK",
"fee": -1175,
"refund": -62000
}
],
"start_at": "2022-01-01T00:00:00.000Z",
"end_at": "2022-01-02T00:00:00.000Z"
}
}
}
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: shopping_draft_add
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "shopping_draft_add",
"event-delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"options": {
"order_time_to_live": 94672800,
"generate_order_id": "UUID",
"order_id": "string",
"replace": "order",
"split_draft": "false",
"serial_order_number_suffix": "false",
"multiple_authorizations": "false"
},
"order": {
"customer": {
"first_name": "John",
"last_name": "Doe",
"id": "string",
"email": "customer@example.com",
"phone_number": "+4799999999",
"addresses": [
{
"address_line": "Sommerkroveien 34",
"postal_place": Oslo,
"country": "NO"
}
],
"enrolled_by": {
"type": "url",
"value": "https://facebook.com"
},
"type": "customer"
},
"shipping_address": {
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
},
"billing_address": {
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
},
"comment": "string",
"salesperson_id": "string",
"salesperson_name": "string",
"delivery_at": "2019-08-24T14:15:22Z",
"pickup_at": "2019-08-24T14:15:22Z",
"courier_id": "string",
"pre_order": "true",
"time_to_live": 94672800,
"items": [
{
"status": "string",
"id": "175938",
"groups": [
{
"id": "B234",
"name": "Stol"
},
{
"id": "B1",
"name": "Møbel"
}
],
"line_id": 1,
"quantity": 2,
"gross_amount": 39800,
"tax_lines": [
{
"amount": 5584,
"percentage": 25,
"tax_code": "3",
"tax_group": "Vmva-høy"
}
],
"description": "Stablestol for utendørsbruk",
"eligible_for_discount": "true",
"discount_lines": [
{
"amount": 23130,
"percentage": 10,
"discount_type": "customer",
"discount_id": "766da0ef-9283-42bd-b012-0582344ec53c",
"description": "string",
"line_id": 1
}
]
}
],
"type": "delivery",
"order_number": "order123456",
"currency": "NOK",
"order_id": "string",
"store": {
"id": "SL02"
}
}
}
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: shopping_order_update
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"account_id": "P12341234",
"event": "shopping_order_update",
"event-delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"customer": {
"first_name": "John",
"last_name": "Doe",
"id": "string",
"email": "customer@example.com",
"phone_number": "+4799999999",
"addresses": [
{
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
}
],
"status": "string",
"type": "customer"
},
"shipping_address": {
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
},
"billing_address": {
"address_line": "Sommerkroveien 34",
"postal_place": "Oslo",
"country": "NO"
},
"delivery_at": "2019-08-24T14:15:22Z",
"pickup_at": "2019-08-24T14:15:22Z",
"courier_id": "string",
"items": [
{
"status": "string",
"line_id": 1
}
]
}
Wallet transaction event sent from wallets service after a transaction is created
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: wallet_transaction
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"event": "wallet_transaction",
"event_delivery": "cfedde7e-b088-415e-ad5b-cbe54acbb6f9",
"created_at": "2017-11-30T08:12:20.533Z",
"created_by": "API_USER",
"id": "19657e92-9165-4b4f-92ab-2cd9cdef1525",
"metadata": { },
"ref_id": "0000359382",
"amount": 69900,
"currency": "NOK",
"parent_id": null,
"type": "drawdown",
"account_id": "T00000000",
"card_id": "1234567890"
}
Event is pushed to subscribers when the case_status
of a seller approval changes
event required | string Example: approval_payout_destination_update |
event-delivery required | string Example: 9ebb6d41-dca5-484e-8330-9c9fa96b60ba |
content-type required | string Example: application/json |
event-signature | string Example: f572d396fae9206628714fb2ce00f72e94f2258f |
account_id required | string |
event required | string Value: "approval_payout_destination_update" |
event_delivery required | string <uuid> |
required | object The seller approval case that was updated |
{- "account_id": "P12345678",
- "event": "approval_payout_destination_update",
- "event_delivery": "9ebb6d41-dca5-484e-8330-9c9fa96b60ba",
- "payout_destination_case": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "payout_destination_id": "string",
- "payout_destination_name": "string",
- "payout_destination_description": "string",
- "payout_reference": "string",
- "organization_number": "string",
- "case_status": "ACTIVE"
}
}
Event is pushed to subscribers when the approval is archived
event required | string Example: approval_payout_destination_delete |
event-delivery required | string Example: 9ebb6d41-dca5-484e-8330-9c9fa96b60ba |
content-type required | string Example: application/json |
event-signature | string Example: f572d396fae9206628714fb2ce00f72e94f2258f |
account_id required | string |
event required | string Value: "approval_payout_destination_delete" |
event_delivery required | string <uuid> |
required | object The seller approval case that was updated |
{- "account_id": "P12345678",
- "event": "approval_payout_destination_delete",
- "event_delivery": "9ebb6d41-dca5-484e-8330-9c9fa96b60ba",
- "payout_destination_case": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "payout_destination_id": "string",
- "payout_destination_name": "string",
- "payout_destination_description": "string",
- "payout_reference": "string",
- "organization_number": "string",
- "case_status": "ARCHIVED",
- "deleted_at": "2019-08-24T14:15:22Z",
- "deleted_by": "string"
}
}
Event is pushed to subscribers when a CDD case changes status.
Note that the event will only include one of
payout_destination_case
or payment_case
never both
event required | string Example: cdd_case_update |
event-delivery required | string Example: 9ebb6d41-dca5-484e-8330-9c9fa96b60ba |
content-type required | string Example: application/json |
event-signature | string Example: f572d396fae9206628714fb2ce00f72e94f2258f |
account_id required | string |
event required | string Value: "cdd_case_update" |
event_delivery required | string <uuid> |
required | object (ExtendedAccount) Account properties that are private and managed by the root partner. |
object The payment case that was updated | |
object The seller approval case that was updated |
{- "account_id": "P12345678",
- "event": "cdd_case_update",
- "event_delivery": "9ebb6d41-dca5-484e-8330-9c9fa96b60ba",
- "account": {
- "applicant": {
- "first_name": "John",
- "last_name": "Doe",
- "email": "customer@example.com",
- "phone_number": "+4799999999",
- "agreement": {
- "name": "string",
- "version": "string",
- "personal_guarantee_accepted": true,
- "attachments": [
- {
- "name": "Cookie Policy",
- "version": "string"
}
]
}, - "recaptcha_sitekey": "6LdE_pIUAAAAAHbiL0uHjHg2Mgn2IILTvZdA_Ux-",
- "recaptcha_response": "03AOLTBLSbzmXKXuAz9N--DsZ1xWmhfx6okCheBPesOsNmRSdkfcO4E5CkeBQQFJkC_emfE_KF0P8C3T57Nr9eOon_PVTEIq1NUpRS5oGkGMhr1vxVe1F7txMYUc4ClxUDLxWiW5WgnDvWHC7gOnlJZKvxVE4gn7qAJijE6SFMXkvFOwoWcx_kONmBHGnXHGgxIe2M8G-FkIKr0WZbQIDYmDaiQxb6mL1L70UGOyO280v2Pp65JB1mSohdeJLdQhHeye6v6__H9_M0GxDGd8s-LoLUY5Vq9hKbAs8MCsh2OFwtpbTYGfqmDbTwsc2v8SqOOZ86uKXwl7gyk3RHXT27m8Rv8iZAs2Ym5w",
- "promo_code": "string",
- "signup_reference": "string",
- "utm": {
- "utm_source": "google",
- "utm_medium": "cpc",
- "utm_campaign": "spring_sale",
- "utm_term": "running+shoes",
- "utm_content": "textlink"
}
}, - "company": {
- "business_name": "TKP tech AS",
- "display_name": "TKP tech instore AS",
- "organization_number": "123456789MVA",
- "industry": "computer industry",
- "bank_name": "string",
- "account_number": "string",
- "address": {
- "address_line": "Sommerkroveien 34",
- "address_line_2": "PB 123",
- "postal_code": "0349",
- "postal_place": "Oslo",
- "country": "NO"
}, - "email": "contact@business.dintero.com",
- "technical_email": "tech_support@business.dintero.com",
- "phone_number": "string",
- "merchant_category_code": "string",
- "average_transaction_value": "string",
- "most_expensive_product_price": "string",
- "projected_sales": "string"
}, - "billing": {
- "business_name": "TKP tech AS",
- "organization_number": "123456789MVA",
- "address": {
- "address_line": "Sommerkroveien 34",
- "address_line_2": "PB 123",
- "postal_code": "0349",
- "postal_place": "Oslo",
- "country": "NO"
}, - "email": "billing@business.dintero.com",
- "reference": "string",
- "phone_number": "string"
}, - "subscription": {
- "interval": "month",
- "plan": "transaction_fee",
- "support": "office_hours",
- "metadata": { }
}, - "livemode": false,
- "language_code": "string",
- "progression": "applied",
- "reseller_id": "DINTERO_ACCOUNT:99900000",
- "account_manager": {
- "email": "employee@dintero.com"
}, - "permissions": [
- {
- "effect": "allow",
- "action": [
- "checkout:auto_capture"
]
}
], - "sale_channel": "DIRECT",
- "price_package": "string",
- "statistics": {
- "metrics": {
- "checkout:transaction:first_capture_at": "string",
- "checkout:transaction:last_capture_at": "string"
}
}, - "services": {
- "checkout": {
- "features": {
- "applepay": {
- "requested": "enable",
- "status": "declined"
}, - "billie": {
- "requested": "enable",
- "status": "declined"
}, - "clicktopay": {
- "requested": "enable",
- "status": "declined"
}, - "collector": {
- "requested": "enable",
- "status": "declined"
}, - "creditcard": {
- "requested": "enable",
- "status": "declined"
}, - "googlepay": {
- "requested": "enable",
- "status": "declined"
}, - "instabank": {
- "requested": "enable",
- "status": "declined"
}, - "klarna": {
- "requested": "enable",
- "status": "declined"
}, - "mobilepay": {
- "requested": "enable",
- "status": "declined"
}, - "santander": {
- "requested": "enable",
- "status": "declined"
}, - "swish": {
- "requested": "enable",
- "status": "declined"
}, - "vipps": {
- "requested": "enable",
- "status": "declined"
}
}
}, - "payout": {
- "features": {
- "status": "enabled",
- "progression": "not_applied",
- "metadata": { },
- "features": {
- "split_payment": {
- "requested": "enable",
- "status": "declined"
}, - "daily_payouts": {
- "requested": "enable",
- "status": "declined"
}
}
}
}
}, - "approvals_payments_statuses": {
- "ACTIVE": 0,
- "DECLINED": 0,
- "UNDER_MANUAL_REVIEW": 0,
- "AUTOMATIC_REVIEW": 0,
- "WAITING_FOR_SIGNATURE": 0,
- "WAITING_FOR_DECLARATION": 0,
- "WAITING_FOR_DETAILS": 0,
- "ERROR": 0,
- "ARCHIVED": 0
}, - "approvals_payout_destinations_statuses": {
- "ACTIVE": 0,
- "DECLINED": 0,
- "UNDER_MANUAL_REVIEW": 0,
- "AUTOMATIC_REVIEW": 0,
- "WAITING_FOR_SIGNATURE": 0,
- "WAITING_FOR_DECLARATION": 0,
- "WAITING_FOR_DETAILS": 0,
- "ERROR": 0,
- "ARCHIVED": 0
}
}, - "payout_case": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z",
- "deleted_by": "string",
- "payout_reference": "string",
- "organization_number": "string",
- "case_status": "ACTIVE",
- "previous_case_status": "ACTIVE",
- "products": [
- {
- "product": "checkout"
}
], - "payment_methods": [
- {
- "payment_method": "creditcard"
}
]
}, - "payout_destination_case": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "payout_destination_id": "string",
- "payout_destination_name": "string",
- "payout_destination_description": "string",
- "payout_reference": "string",
- "organization_number": "string",
- "case_status": "ARCHIVED",
- "deleted_at": "2019-08-24T14:15:22Z",
- "deleted_by": "string",
- "previous_case_status": "ARCHIVED"
}
}
Event is pushed to subscribers when the checkout transaction is created or updated
event required | string Example: checkout_transaction_update |
event-delivery required | string Example: 9ebb6d41-dca5-484e-8330-9c9fa96b60ba |
content-type required | string Example: application/json |
event-signature | string Example: f572d396fae9206628714fb2ce00f72e94f2258f |
account_id required | string |
event required | string Value: "checkout_transaction" |
event_delivery required | string <uuid> |
required | object The transaction details, see Checkout API https://docs.dintero.com/checkout-api.html#operation/transactions_id_get for complete description of all properties that can be included in the transaction object |
{- "account_id": "P12345678",
- "event": "checkout_transaction",
- "event_delivery": "9ebb6d41-dca5-484e-8330-9c9fa96b60ba",
- "transaction": {
- "id": "P12345678.465UfBENeLpkBvwmqfTC4k",
- "session_id": "P12345678.465U8CUzaPVpneu1wt8Wei",
- "merchant_reference": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "merchant_reference_2": "string"
}
}
When you create a new webhook, we'll send you a simple ping event to let you know you've set up the webhook correctly. You can trigger a ping again by calling the ping endpoint.
In order for Dintero to send webhook payloads, your server needs to be accessible from the Internet. We also highly suggest using SSL so that we can send encrypted payloads over HTTPS.
Your webhook acknowledges that it received data by sending a 200 OK response. Any response outside of the 200 range will let Dintero know that you did not receive your webhook, including 301 Redirect. Dintero does not follow redirects for webhook notifications and will consider a redirection as an error response.
Dintero has implemented a 60-second timeout period and a retry period for subscriptions. We wait 120 seconds for a response to each request, and if there isn't one or we get an error, we retry the connection to a total of 5 times. A webhook will be deleted if there are consecutive failures for the exact same webhook. You should monitor the admin of your webhook tool for failing webhooks.
Dintero will send along several HTTP headers to differentiate between event types and payload identifiers.
Name | Description |
---|---|
event | The event type |
event-delivery | A guid to indentify the payload and event being sent |
event-signature | The value of this header is computed as the HMAC SHA1 hex digest of the body, using the secret config option as the key. |
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
subscription configuration
required | object |
events required | Array of strings[ items non-empty ] Items Enum: "account_add" "account_update" "receipt_add" "receipt_update" "customer_add" "customer_update" "customer_delete" "customer_change_password" "token_add" "token_remove" "transaction" "wallet_transaction" "discount_add" "discount_update" "discount_delete" "discount_add_customers" "discount_customer_update" "shopping_draft_add" "shopping_draft_update" "shopping_draft_complete" "shopping_order_update" "shopping_order_event_add" "shopping_order_delete" "settlement_add" "location_add" "location_delete" "location_update" "cdd_case_update" "approval_payout_destination_update" "approval_payout_destination_delete" "checkout_transaction" |
active | boolean Default: true Determines whether the hook is actually triggered. |
fields | string <field-mask> Limit the event data included in the delivery The syntax is loosely based on XPath:
|
{- "active": true,
- "config": {
- "url": "string",
- "content_type": "application/json",
- "secret": {
- "type": "HMAC-SHA1"
}, - "insecure_ssl": 0
}, - "fields": "account(partner_id,account_id,created_at)",
- "events": [
- "account_add"
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "deleted_at": "2019-08-24T14:15:22Z",
- "active": true,
- "config": {
- "url": "string",
- "content_type": "application/json",
- "secret": {
- "type": "HMAC-SHA1"
}, - "insecure_ssl": 0
}, - "fields": "account(partner_id,account_id,created_at)",
- "events": [
- "account_add"
]
}
Get all subscriptions
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
include_deleted | boolean Default: false include deleted subscriptions in the response. |
limit | integer [ 1 .. 100 ] Default: 10 A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items. |
starting_after | string cursor for use in pagination. starting_after is an object ID
that defines your place in the list. For instance, if you make
a list request and receive 100 objects, end the result contains
|
total | boolean Default: false include |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "deleted_at": "2019-08-24T14:15:22Z",
- "active": true,
- "config": {
- "url": "string",
- "content_type": "application/json",
- "secret": {
- "type": "HMAC-SHA1"
}, - "insecure_ssl": 0
}, - "fields": "account(partner_id,account_id,created_at)",
- "events": [
- "account_add"
]
}
]
Get subscription details
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
hid required | string <uuid> subscription id |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "deleted_at": "2019-08-24T14:15:22Z",
- "active": true,
- "config": {
- "url": "string",
- "content_type": "application/json",
- "secret": {
- "type": "HMAC-SHA1"
}, - "insecure_ssl": 0
}, - "fields": "account(partner_id,account_id,created_at)",
- "events": [
- "account_add"
]
}
Delete a webhook subscription
No more events will be sent to the webhook
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
hid required | string <uuid> subscription id |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
- "deleted_at": "2019-08-24T14:15:22Z",
- "active": true,
- "config": {
- "url": "string",
- "content_type": "application/json",
- "secret": {
- "type": "HMAC-SHA1"
}, - "insecure_ssl": 0
}, - "fields": "account(partner_id,account_id,created_at)",
- "events": [
- "account_add"
]
}
Get recent subscription deliveries
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
hid required | string <uuid> subscription id |
[- {
- "id": "string",
- "event_delivery": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "status": 200
}
]
Get subscription delivery details
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
hid required | string <uuid> subscription id |
delivery_id required | string delivery id |
{- "id": "string",
- "event_delivery": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "status": 200,
- "url": "string",
- "request": {
- "headers": {
- "event": "string",
- "event-delivery": "string",
- "event-signature": "string"
}, - "body": { }
}, - "response": {
- "headers": { },
- "body": "string"
}, - "details": {
- "delivery_at": "2019-08-24T14:15:22Z",
- "delivery_duration": 848,
- "delivery_success": true
}
}
This will trigger a ping event to be sent to the subscription URL.
POST /
User-Agent: Dintero-Hook/0c9ad03b
Content-Type: application/json
event: ping
event-delivery: cfedde7e-b088-415e-ad5b-cbe54acbb6f9
{
"created_at": "2017-12-06T15:36:43Z",
"created_by": "1c92f7e1-2897-4d46-bdcc-c127a914fb4e",
"id": "string",
"updated_at": "2017-12-06T15:36:43Z",
"active": true,
"config": {
"content_type": "application/json",
"insecure_ssl": 0,
"secret": { ... }
"url": "string"
},
"events": ["receipt_add"]
}
scopes:
aid required | string <^[PT]{1}\d{8}$> = 9 characters An id that uniquely identifies the account. |
hid required | string <uuid> subscription id |
{- "error": {
- "code": "string",
- "errors": [
- { }
], - "message": "string"
}
}