Webhooks Troquecommerce
Webhooks são notificações automáticas enviadas para uma URL específica quando eventos pré-definidos ocorrem em um sistema. Eles permitem que plataformas se integrem em tempo real, eliminando a necessidade de consultas constantes.
Como configurar o seus webhooks?
Para configurar os webhooks, siga os passos abaixo:
Acesse o menu Automações e Integrações no painel lateral:
Este menu está acessível apenas para Administradores da conta.
Clique na aba Webhooks
Ative o webhook e insira:
Um nome para identificá-lo.
O endpoint (URL) para o qual as informações serão enviadas.
O webhook será executado automaticamente sempre que ocorrer uma alteração no sistema. No cabeçalho da requisição, será enviado o código do evento que acionou o webhook.
As requisições enviadas pelo webhook incluem os seguintes cabeçalhos padrão:
Códigos dos eventos que disparam webhooks
Além desses cabeçalhos padrão, você tem a flexibilidade de adicionar chaves e valores personalizados conforme necessário. Isso permite incluir informações adicionais ou metadados específicos para sua aplicação.
retornará objeto do tipo JSON:
Como configurar o seus webhooks?
Para configurar os webhooks, siga os passos abaixo:
Acesse o menu Automações e Integrações no painel lateral:
Este menu está acessível apenas para Administradores da conta.
Clique na aba Webhooks
Ative o webhook e insira:
Um nome para identificá-lo.
O endpoint (URL) para o qual as informações serão enviadas.
O webhook será executado automaticamente sempre que ocorrer uma alteração no sistema. No cabeçalho da requisição, será enviado o código do evento que acionou o webhook.
As requisições enviadas pelo webhook incluem os seguintes cabeçalhos padrão:
content-type: application/json
event: [código do evento que disparou o webhook]
Códigos dos eventos que disparam webhooks
ID | Descrição |
---|---|
2 | Reversa criada (em análise) |
3 | Reversa aprovada (autorização gerada/coleta) |
4 | Reversa cancelada |
5 | Reversa finalizada |
6 | Itens recebidos |
7 | Produto editado |
8 | Produto adicionado |
9 | NFD informada |
10 | Reembolso realizado |
11 | Vale Troca Gerado |
12 | Cupom desvinculado |
14 | Status alterado |
15 | Endereço do cliente atualizado |
16 | Pagamento desvinculado |
17 | Reversa reaberta (nova postagem gerada) |
18 | Cliente cancelou a solicitação |
19 | Notificação de falha no reembolso integrado |
20 | Pedido de troca reservado |
21 | Pedido de troca aprovado |
22 | Pedido de troca por produto cancelado na plataforma |
23 | Cupom atualizado |
25 | Valor de Devolução Salvo |
26 | Valor de Troca Salvo |
27 | Valores salvos removidos |
28 | Falha na tentativa de realizar reembolso integrado |
29 | Fechamento da falha no reembolso integrado |
30 | Produto removido |
32 | Reversa entregue |
33 | Reversa postada (em trânsito) |
Além desses cabeçalhos padrão, você tem a flexibilidade de adicionar chaves e valores personalizados conforme necessário. Isso permite incluir informações adicionais ou metadados específicos para sua aplicação.
retornará objeto do tipo JSON:
ReverseOrderPublic = {
webhook_event_id: string;
webhook_event_description: string;
client: {
organisation_id?: string;
ecommerce_client_id?: string;
name: string;
email: string;
phone: string;
document: string;
address?: Address;
blacklistedCustomer?: boolean;
blackListedWithoutReverseOrder?: boolean;
}
created_at: Date
updated_at: Date
discount: number
ecommerce_number: string
exchange_value: number
history: {
created_at: string
created_by: string
action: string
description: string
}
id: string
invoices: [{
reference: string;
date: string;
serie?: string;
danfe?: string;
}]
is_split_order: boolean
is_collect: boolean
is_complete: boolean
is_exception: boolean
is_second_request: boolean
is_second_reverse: boolean
items: [{
ecommerce_product_id: string
sku: string
description: string
image_url: string
quantity: number
original_quantity: number
price: number
price_discount: number
shipping_price: number
is_exchange: boolean
is_removed: boolean
is_received: boolean
reason: {
description: string;
client_comment: string;
organisation_comment?: string;
image_url?: string[];
}
is_retained: boolean
ean: string
ref_id: string
ecommerce_number: string
replaced_item_sku: string
replaced_item_description: string
is_added_by_operator: boolean
seller: string
}]
refund_details: {
organisation_id?: string;
client?: = {
organisation_id?: string;
ecommerce_client_id?: string;
name: string;
email: string;
phone: string;
document: string;
address?: Address;
blacklistedCustomer?: boolean;
blackListedWithoutReverseOrder?: boolean;
};
id?: string;
is_pix: boolean;
pix_type?: string;
pix_key?: string;
bank_code?: string;
bank_agency?: string;
bank_account?: string;
bank_account_type?: string;
document?: string;
refund_type?: string;
}
price: number
refund_value: number
replaced_items: [{
id?: number;
description: string;
quantity: string;
sku: string;
unit?: string;
price?: number;
quantity_available?: number;
price_discount?: number;
variantId?: number;
}]
reverse_coupon: {
code: string;
description: string;
coupon_ecommerce_id: string;
validity: string;
value: number;
bonus_code?: string;
bonus_coupon_ecommerce_id?: string;
bonus_value?: number;
}
reverse_payment: {
id?: string;
value: number;
action: string;
payment_document?: string;
digital_account_extract_id?: string;
payment_ecommerce_error?: string;
created_at: string;
created_by?: string;
updated_at?: string;
}
tracking: {
created_at?: Date
organisation_id?: string
id?: string
status: string
courier_company: string
courier_tracking_code: string
courier_collect_number: string
shipping_company_id?: string
expected_delivery_date: string
delivery_date: string
is_collect?: boolean
posting_address?: string
posted_date?: string
price?: string
locker?: {
compartimentType: [{
width: number;
depth: number;
height: number;
type: string;
$$hashKey: string;
}]
distance: number
external_id: string
facilities: {
accessibility: string;
air_conditioned: string;
close_to_subway: string;
free_parking: string;
parking: string;
}
group: string
images: [{
description: string;
url: string;
}]
instructions: {
pickup: string;
receipt: string;
}
location: {
additional_information: string;
city: string;
latitude: number;
longitude: number;
neighborhood: string;
number: string;
reference: string;
state: string;
street: string;
zip_code: string;
}
name: string
operator: string
orderNo: string
tags: string[]
warehouse_location: {
additional_information: string
city: string
created_at: number
id: string
identification: string
latitude: string
longitude: string
name: string
neighborhood: string
number: string
reference: string
rsocial: string
state: string
state_id: string
street: string
tax_payer_id: string
zip_code: string
}
working_hours: {
friday: {
start: string;
end: string;
};
holiday: {
start: string;
end: string;
};
monday: {
start: string;
end: string;
};
saturday: {
start: string;
end: string;
};
sunday: {
start: string;
end: string;
};
thursday: {
start: string;
end: string;
};
tuesday: {
start: string;
end: string;
};
wednesday: {
start: string;
end: string;
};
}
}
tracking_url?: string
recipient?: string
shipping_document?: string
shipping_label?: string
}
reverse_type: string
order_shipping_cost: number
status: string
retained_value: number
retained_bonus: number
sellers: string[]
gateway_transaction_id: string
gateway_name: string
}
Actualizado em: 17/10/2024
Obrigado!