É possível conectar um canal seu por API no NicoChat!
...
Você receberá uma Chave API para fazer as requisições de requisições de registo de webhook.
- Get webhook
Code Block |
---|
POST {{baseUrl}}?action=get-webhook |
...
Code Block |
---|
{
"workspace": {{workspace_id}},
"email": "{{workspace_email}}",
"ChaveApi": "{{Chave API do NicoChat}}"
} |
Sample response,
Code Block |
---|
{ "status": "ok", "data": { "webhook_url": "https://your-webhook-url/", "webhook_verification_key": "VERIFICATION_TOKEN", "webhook_status": "verified", "bot_url": "https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}}" } } |
- Set webhook
Code Block |
---|
POST {{baseUrl}}?action=set-webhook |
...
Code Block |
---|
{
"workspace": {{workspace_id}},
"email": "{{workspace_email}}",
"ChaveApi": "{{Chave API do NicoChat}}",
"webhook_url": "https://your-webhook-url/",
"webhook_verification_key": "VERIFICATION_TOKEN"
} |
...
Code Block |
---|
{ "status": "ok", "data": { "webhook_url": "https://your-webhook-url/", "webhook_verification_key": "VERIFICATION_TOKEN", "webhook_status": "verified", "bot_url": "https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}}" } } |
- Remove webhook
Code Block |
---|
POST {{baseUrl}}?action=delete-webhook |
...
Code Block |
---|
{
"workspace": {{workspace_id}},
"email": "{{workspace_email}}",
"ChaveApi": "{{Chave API do NicoChat}}"
} |
Exemplo de resposta (sucesso):
...
Você precisa usar a chave de API do seu fluxo para autenticação, o que requer a permissão de gerenciar fluxo.
- Send Text Message
Code Block |
---|
POST https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}} |
...
Code Block |
---|
{ "content": "{{TEXT MESSAGE}}", "message_type": "incoming", "sender": { "id": "{{UNIQUE BOT USER ID}}", "name": "{{BOT USER NAME}}", "email": "", "phone_number": "", "type": "contact" }, "conversation_id": 123, "event": "message_created" } |
- Send Button Payload
Code Block |
---|
POST https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}} |
...
Code Block |
---|
{ "content": "{{BUTTON TITLE}}", "message_type": "incoming", "sender": { "id": "{{UNIQUE BOT USER ID}}", "name": "{{BOT USER NAME}}", "email": "", "phone_number": "", "type": "contact" }, "conversation_id": 123, "event": "message_postback", "submitted_values": [ { "title": "{{BUTTON TITLE}}", "payload": "{{BUTTON PAYLOAD}}" } ] } |
- Send Image
Code Block |
---|
POST https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}} |
...
Code Block |
---|
{ "content": "", "message_type": "incoming", "sender": { "id": "{{UNIQUE BOT USER ID}}", "name": "{{BOT USER NAME}}", "email": "", "phone_number": "", "type": "contact" }, "conversation_id": 123, "event": "message_created", "attachments": [ { "file_type": "image", "data_url": "{{IMAGE URL}}" } ] } |
- Send Audio
Code Block |
---|
POST https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}} |
...
Code Block |
---|
{ "content": "", "message_type": "incoming", "sender": { "id": "{{UNIQUE BOT USER ID}}", "name": "{{BOT USER NAME}}", "email": "", "phone_number": "", "type": "contact" }, "conversation_id": 123, "event": "message_created", "attachments": [ { "file_type": "audio", "data_url": "{{AUDIO URL}}" } ] } |
- Send Video
Code Block |
---|
POST https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}} |
...
Code Block |
---|
{ "content": "", "message_type": "incoming", "sender": { "id": "{{UNIQUE BOT USER ID}}", "name": "{{BOT USER NAME}}", "email": "", "phone_number": "", "type": "contact" }, "conversation_id": 123, "event": "message_created", "attachments": [ { "file_type": "video", "data_url": "{{VIDEO URL}}" } ] } |
- Send File
Code Block |
---|
POST https://bot.dfktv2.com/api/apichat/{{unique_code_to_bot}} |
...
Code Block |
---|
$payload = request()->body(); $verification_key = "{{VERIFICATION_TOKEN}}"; $sign = 'sha256='.hash_hmac('sha256', $payload, $verification_key); //you need to check the header signature value is matched request()->header('X-Hub-Signature-256') == $sign |
- Receive Text Message
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "text": "{{TEXT MESSAGE}}", "type": "text", "message_type": "outgoing", "private": false } |
- Receive Button Template
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "text": "{{TEXT MESSAGE}}", "type": "text", "message_type": "outgoing", "private": false, "content_type": "button_template", "content_attributes": { "text": "{{TEXT MESSAGE}}", "buttons": [ { "type": "postback", "title": "{{BUTTON TITLE}}", "payload": "{{BUTTON PAYLOAD}}" },{ "type": "postback", "title": "{{BUTTON TITLE}}", "payload": "{{BUTTON PAYLOAD}}" } ] } } |
- Receive Generic Template (Card/Carousel)
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "text": "{{TEXT MESSAGE}}", "type": "text", "message_type": "outgoing", "private": false, "content_type": "generic_template", "content_attributes": { "ratio": "horizontal", "items": [ { "title": "{{TITLE}}", "image_url": "{{IMAGE URL}}", "item_url": null, "subtitle": "{{SUBTITLE}}", "default_action": null, "buttons": [ { "type": "postback", "title": "{{BUTTON TITLE}}", "payload": "{{BUTTON PAYLOAD}}" } ] }, { "title": "{{TITLE}}", "image_url": "{{IMAGE URL}}", "item_url": null, "subtitle": "{{SUBTITLE}}", "default_action": null, "buttons": [ { "type": "postback", "title": "{{BUTTON TITLE}}", "payload": "{{BUTTON PAYLOAD}}" } ] } ] } } |
- Receive Image Message
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "url": "{{IMAGE URL}}", "type": "image", "message_type": "outgoing", "private": false } |
- Receive Audio Message
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "url": "{{AUDIO URL}}", "type": "audio", "message_type": "outgoing", "private": false } |
- Receive Video Message
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "url": "{{VIDEO URL}}", "type": "video", "message_type": "outgoing", "private": false } |
- Receive File Message
Code Block |
---|
{ "sender_id": "{{UNIQUE BOT USER ID}}", "conv_id": 123, "url": "{{FILE URL}}", "type": "file", "message_type": "outgoing", "private": false } |
...