[{"data":1,"prerenderedAt":1242},["ShallowReactive",2],{"docs-pages-meta":3,"i-lucide:menu":142,"i-fa6-solid:book":147,"i-fa6-solid:signs-post":151,"i-lucide:search":153,"i-lucide:languages":155,"i-lucide:chevron-down":157,"i-lucide:moon":159,"i-lucide:sparkles":161,"i-fa6-solid:key":163,"i-fa6-solid:list-check":165,"i-lucide:webhook":167,"i-fa6-solid:tower-broadcast":169,"i-lucide:compass":172,"i-fa6-brands:whatsapp":174,"i-fa6-solid:layer-group":176,"i-lucide:life-buoy":178,"i-fa6-solid:gear":180,"i-lucide:bot":182,"i-lucide:chart-column":184,"i-fa6-solid:plug":186,"i-lucide:arrow-up-right":189,"docs-page:\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Frealtime":191,"i-fa6-solid:circle-info":1236,"i-lucide:copy":1238,"i-lucide:chevron-left":1240},[4,9,14,19,22,27,30,35,38,42,47,52,56,61,66,71,76,79,83,87,90,93,97,100,104,107,111,115,119,123,127,131,135,139],{"path":5,"title":6,"description":7,"icon":8},"\u002Fen\u002Fapi-reference\u002Fv2\u002Fauthentication","Authentication","Learn how to generate and manage your access credentials to use the API securely.","key",{"path":10,"title":11,"description":12,"icon":13},"\u002Fen\u002Fapi-reference\u002Fv2","Introduction","The v2 API: connections, chats, messages and templates.","sparkles",{"path":15,"title":16,"description":17,"icon":18},"\u002Fen\u002Fapi-reference\u002Fv2\u002Fwebhooks","Webhooks","In this section, you’ll learn how to integrate and use webhooks and messaging events to connect your application to your projects.","webhook",{"path":20,"title":6,"description":21,"icon":8},"\u002Fen\u002Fapi-reference\u002Fv3\u002Fauthentication","How a v3 request proves who it is, and which workspace it acts on.",{"path":23,"title":24,"description":25,"icon":26},"\u002Fen\u002Fapi-reference\u002Fv3\u002Fconventions","Conventions","Pagination, errors, ids and dates — the rules every v3 endpoint follows.","list-check",{"path":28,"title":11,"description":29,"icon":13},"\u002Fen\u002Fapi-reference\u002Fv3","The v3 API: workspaces, connections, campaigns and the helpdesk.",{"path":31,"title":32,"description":33,"icon":34},"\u002Fen\u002Fapi-reference\u002Fv3\u002Frealtime","Realtime","The websocket behind the shared inbox: live conversations, typing and presence.","tower-broadcast",{"path":36,"title":16,"description":37,"icon":18},"\u002Fen\u002Fapi-reference\u002Fv3\u002Fwebhooks","Receive WhatsApp and helpdesk events on your own server, and prove they came from us.",{"path":39,"title":40,"description":41,"icon":8},"\u002Fen\u002Fapikeys","API Keys","Understand what API Keys are and why they are required to use Pingo Notify securely.",{"path":43,"title":44,"description":45,"icon":46},"\u002Fen\u002Fconnections","Connections","Connections represent WhatsApp sessions linked to Pingo Notify, used for sending, receiving, and integrations.","qrcode",{"path":48,"title":49,"description":50,"icon":51},"\u002Fen\u002Fhooks-and-development","Hooks and Development","Extend the Pingo Notify WordPress plugin with custom triggers, groups, and hooks.","code",{"path":53,"title":54,"description":55,"icon":13},"\u002Fen","Introduction to Pingo Notify","Connect WhatsApp to your systems, automate workflows, and send messages.",{"path":57,"title":58,"description":59,"icon":60},"\u002Fen\u002Fintegrations","Integrations","Integrations represent external applications linked to Pingo Notify, authorized to access resources such as connections, plans, and messaging.","cube",{"path":62,"title":63,"description":64,"icon":65},"\u002Fen\u002Fofficial-whatsapp-api","Official WhatsApp API","Step-by-step guide to request access to the Official WhatsApp Business API and connect it to Pingo Notify.","badge-check",{"path":67,"title":68,"description":69,"icon":70},"\u002Fen\u002Fplugin-wordpress","Get started","WordPress plugin that connects events from your site to Pingo Notify for automatic notification delivery.","wordpress",{"path":72,"title":73,"description":74,"icon":75},"\u002Fen\u002Ftemplate-plugins","Templates Guide","Learn how to create custom dynamic messages.","square-envelope",{"path":77,"title":16,"description":78,"icon":18},"\u002Fen\u002Fwebhooks","Receive WhatsApp events in real time by linking webhooks to one or more connections in Pingo Notify.",{"path":80,"title":81,"description":82,"icon":8},"\u002Fpt-BR\u002Fapi-reference\u002Fv2\u002Fauthentication","Autenticação","Veja como gerar e gerenciar suas credenciais de acesso para utilizar a API com segurança.",{"path":84,"title":85,"description":86,"icon":13},"\u002Fpt-BR\u002Fapi-reference\u002Fv2","Introdução","A API v2: conexões, conversas, mensagens e templates.",{"path":88,"title":16,"description":89,"icon":18},"\u002Fpt-BR\u002Fapi-reference\u002Fv2\u002Fwebhooks","Nesta seção, você aprende como integrar e utilizar webhooks e eventos de mensageria para conectar a aplicação aos seus projetos.",{"path":91,"title":81,"description":92,"icon":8},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fauthentication","Como uma requisição v3 prova quem é, e em qual workspace ela atua.",{"path":94,"title":95,"description":96,"icon":26},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fconventions","Convenções","Paginação, erros, ids e datas — as regras que todo endpoint da v3 segue.",{"path":98,"title":85,"description":99,"icon":13},"\u002Fpt-BR\u002Fapi-reference\u002Fv3","A API v3: workspaces, conexões, campanhas e o helpdesk.",{"path":101,"title":102,"description":103,"icon":34},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Frealtime","Tempo real","O websocket por trás da caixa compartilhada: conversas ao vivo, digitação e presença.",{"path":105,"title":16,"description":106,"icon":18},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fwebhooks","Receba eventos do WhatsApp e do helpdesk no seu servidor, e prove que vieram de nós.",{"path":108,"title":109,"description":110,"icon":8},"\u002Fpt-BR\u002Fapikeys","Chaves de API","Entenda o que são Chaves de API e por que elas são necessárias para usar o Pingo Notify com segurança.",{"path":112,"title":113,"description":114,"icon":46},"\u002Fpt-BR\u002Fconnections","Conexões","Conexões representam sessões do WhatsApp vinculadas ao Pingo Notify, usadas para envio, recebimento e integrações.",{"path":116,"title":117,"description":118,"icon":51},"\u002Fpt-BR\u002Fhooks-and-development","Hooks e Desenvolvimento","Estenda o plugin WordPress do Pingo Notify com gatilhos, grupos e hooks personalizados.",{"path":120,"title":121,"description":122,"icon":13},"\u002Fpt-BR","Introdução ao Pingo Notify","Conecte o WhatsApp aos seus sistemas, automatize fluxos e envie mensagens.",{"path":124,"title":125,"description":126,"icon":60},"\u002Fpt-BR\u002Fintegrations","Integrações","Integrações representam aplicações externas vinculadas ao Pingo Notify, autorizadas a acessar recursos como conexões, planos e mensageria.",{"path":128,"title":129,"description":130,"icon":65},"\u002Fpt-BR\u002Fofficial-whatsapp-api","API Oficial do WhatsApp","Guia passo a passo para solicitar acesso à API Oficial do WhatsApp Business e conectá-la ao Pingo Notify.",{"path":132,"title":133,"description":134,"icon":70},"\u002Fpt-BR\u002Fplugin-wordpress","Primeiros passos","Plugin WordPress que conecta eventos do seu site ao Pingo Notify para envio automático de notificações.",{"path":136,"title":137,"description":138,"icon":75},"\u002Fpt-BR\u002Ftemplate-plugins","Guia de Templates","Aprenda a criar mensagens dinâmicas personalizadas.",{"path":140,"title":16,"description":141,"icon":18},"\u002Fpt-BR\u002Fwebhooks","Receba eventos do WhatsApp em tempo real vinculando webhooks a uma ou mais conexões no Pingo Notify.",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":146},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":143,"top":143,"width":148,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":150},448,512,"\u003Cpath fill=\"currentColor\" d=\"M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32m32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16m16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16\"\u002F>",{"left":143,"top":143,"width":149,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":152},"\u003Cpath fill=\"currentColor\" d=\"M224 32H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h377.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32m256 224c0-17.7-14.3-32-32-32H288v-32h-64v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32zM288 480v-96h-64v96c0 17.7 14.3 32 32 32s32-14.3 32-32\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":154},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":156},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m5 8l6 6m-7 0l6-6l2-3M2 5h12M7 2h1m14 20l-5-10l-5 10m2-4h6\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":158},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":160},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":162},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\"\u002F>\u003Ccircle cx=\"4\" cy=\"20\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":149,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":164},"\u003Cpath fill=\"currentColor\" d=\"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-40h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3m40-256a40 40 0 1 1 0 80a40 40 0 1 1 0-80\"\u002F>",{"left":143,"top":143,"width":149,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":166},"\u003Cpath fill=\"currentColor\" d=\"M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113c-9.3-9.4-9.3-24.6 0-34s24.6-9.4 33.9 0L63 101.1l55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L63 261.2l55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32h224c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32m0 160c0-17.7 14.3-32 32-32h224c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32m-64 160c0-17.7 14.3-32 32-32h288c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32M48 368a48 48 0 1 1 0 96a48 48 0 1 1 0-96\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":168},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2\"\u002F>\u003Cpath d=\"m6 17l3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06\"\u002F>\u003Cpath d=\"m12 6l3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":170,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":171},576,"\u003Cpath fill=\"currentColor\" d=\"M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44m474.8-24C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7s-24.3-25.3-17.7-41.7c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84c-6.6-16.4 1.3-35 17.7-41.7s35 1.3 41.7 17.7M352 128c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V183.4c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64M170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1S119 221 112 204.8c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1M464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2.3-35.1 16.5-42.1S457 35 464 51.2\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":173},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m16.24 7.76l-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":148,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":175},"\u003Cpath fill=\"currentColor\" d=\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222c0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222c0-59.3-25.2-115-67.1-157m-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4l-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2c0-101.7 82.8-184.5 184.6-184.5c49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6m101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18c-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4c-32.6-16.3-54-29.1-75.5-66c-5.7-9.8 5.7-9.1 16.3-30.3c1.8-3.7.9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5c-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8c35.2 15.2 49 16.5 66.6 13.9c10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6\"\u002F>",{"left":143,"top":143,"width":170,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":177},"\u003Cpath fill=\"currentColor\" d=\"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0l-218.6-101c-8.5-4-13.9-12.5-13.9-21.8s5.4-17.9 13.9-21.8zm212.4 204.4l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0l-218.6-101c-8.5-4-13.9-12.5-13.9-21.8s5.4-17.9 13.9-21.8l53.2-24.6l152 70.2a88.1 88.1 0 0 0 73.8 0zm-152 198.2l152-70.2l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0l-218.6-101c-8.5-4-13.9-12.5-13.9-21.8s5.4-17.9 13.9-21.8l53.2-24.6l152 70.2a88.1 88.1 0 0 0 73.8 0\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":179},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m4.93 4.93l4.24 4.24m5.66 0l4.24-4.24m-4.24 9.9l4.24 4.24m-9.9-4.24l-4.24 4.24\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":149,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":181},"\u003Cpath fill=\"currentColor\" d=\"M495.9 166.6c3.2 8.7.5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4l-55.6 17.8c-8.8 2.8-18.6.3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4c-1.1-8.4-1.7-16.9-1.7-25.5s.6-17.1 1.7-25.4l-43.3-39.4c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160a80 80 0 1 0 0 160\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":183},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 8V4H8\"\u002F>\u003Crect width=\"16\" height=\"12\" x=\"4\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M2 14h2m16 0h2m-7-1v2m-6-2v2\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":185},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 3v16a2 2 0 0 0 2 2h16m-3-4V9m-5 8V5M8 17v-3\"\u002F>",{"left":143,"top":143,"width":187,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":188},384,"\u003Cpath fill=\"currentColor\" d=\"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32m192 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32M32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-67.2C297 398 352 333.4 352 256v-32c17.7 0 32-14.3 32-32s-14.3-32-32-32z\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":190},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"id":192,"title":102,"body":193,"description":103,"extension":1231,"hidden":145,"icon":34,"meta":1232,"navigation":300,"path":101,"seo":1233,"stem":1234,"__hash__":1235},"docs\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Frealtime.md",{"type":194,"value":195,"toc":1223},"minimark",[196,208,251,256,263,433,444,448,451,461,540,558,589,592,596,599,660,667,671,674,724,727,829,832,836,843,877,880,883,919,936,951,955,958,1191,1219],[197,198,199,200,207],"p",{},"O helpdesk empurra cada mudança por um websocket, então você nunca precisa fazer polling. É uma conexão ",[201,202,206],"a",{"href":203,"rel":204},"https:\u002F\u002Fsocket.io",[205],"nofollow","Socket.IO"," padrão.",[209,210,211,222],"table",{},[212,213,214],"thead",{},[215,216,217,220],"tr",{},[218,219],"th",{},[218,221],{},[223,224,225,239],"tbody",{},[215,226,227,234],{},[228,229,230],"td",{},[231,232,233],"strong",{},"Namespace",[228,235,236],{},[51,237,238],{},"\u002Fhelpdesk",[215,240,241,246],{},[228,242,243],{},[231,244,245],{},"Path",[228,247,248],{},[51,249,250],{},"\u002Fws",[252,253,255],"h2",{"id":254},"conectando","Conectando",[197,257,258,259,262],{},"Autentique com o seu token de API no parâmetro de query ",[51,260,261],{},"apikey",". O workspace vem do token, então não há mais nada a enviar:",[264,265,270],"pre",{"className":266,"code":267,"language":268,"meta":269,"style":269},"language-js shiki shiki-themes github-light github-dark","import { io } from 'socket.io-client';\n\nconst socket = io('https:\u002F\u002Fapi.pingonotify.com\u002Fhelpdesk', {\n  path: '\u002Fws',\n  query: { apikey: 'sk_live_...' },\n});\n\nsocket.on('connect', () => console.log('conectado'));\nsocket.on('connect_error', (err) => console.error(err.message)); \u002F\u002F \"unauthorized\"\n","js","",[51,271,272,295,302,328,340,352,358,363,397],{"__ignoreMap":269},[273,274,277,281,285,288,292],"span",{"class":275,"line":276},"line",1,[273,278,280],{"class":279},"szBVR","import",[273,282,284],{"class":283},"sVt8B"," { io } ",[273,286,287],{"class":279},"from",[273,289,291],{"class":290},"sZZnC"," 'socket.io-client'",[273,293,294],{"class":283},";\n",[273,296,298],{"class":275,"line":297},2,[273,299,301],{"emptyLinePlaceholder":300},true,"\n",[273,303,305,308,312,315,319,322,325],{"class":275,"line":304},3,[273,306,307],{"class":279},"const",[273,309,311],{"class":310},"sj4cs"," socket",[273,313,314],{"class":279}," =",[273,316,318],{"class":317},"sScJk"," io",[273,320,321],{"class":283},"(",[273,323,324],{"class":290},"'https:\u002F\u002Fapi.pingonotify.com\u002Fhelpdesk'",[273,326,327],{"class":283},", {\n",[273,329,331,334,337],{"class":275,"line":330},4,[273,332,333],{"class":283},"  path: ",[273,335,336],{"class":290},"'\u002Fws'",[273,338,339],{"class":283},",\n",[273,341,343,346,349],{"class":275,"line":342},5,[273,344,345],{"class":283},"  query: { apikey: ",[273,347,348],{"class":290},"'sk_live_...'",[273,350,351],{"class":283}," },\n",[273,353,355],{"class":275,"line":354},6,[273,356,357],{"class":283},"});\n",[273,359,361],{"class":275,"line":360},7,[273,362,301],{"emptyLinePlaceholder":300},[273,364,366,369,372,374,377,380,383,386,389,391,394],{"class":275,"line":365},8,[273,367,368],{"class":283},"socket.",[273,370,371],{"class":317},"on",[273,373,321],{"class":283},[273,375,376],{"class":290},"'connect'",[273,378,379],{"class":283},", () ",[273,381,382],{"class":279},"=>",[273,384,385],{"class":283}," console.",[273,387,388],{"class":317},"log",[273,390,321],{"class":283},[273,392,393],{"class":290},"'conectado'",[273,395,396],{"class":283},"));\n",[273,398,400,402,404,406,409,412,416,419,421,423,426,429],{"class":275,"line":399},9,[273,401,368],{"class":283},[273,403,371],{"class":317},[273,405,321],{"class":283},[273,407,408],{"class":290},"'connect_error'",[273,410,411],{"class":283},", (",[273,413,415],{"class":414},"s4XuR","err",[273,417,418],{"class":283},") ",[273,420,382],{"class":279},[273,422,385],{"class":283},[273,424,425],{"class":317},"error",[273,427,428],{"class":283},"(err.message)); ",[273,430,432],{"class":431},"sJ8bj","\u002F\u002F \"unauthorized\"\n",[197,434,435,436,439,440,443],{},"Um token inválido ou revogado não fecha o socket — ele falha o namespace com um ",[51,437,438],{},"connect_error"," cuja mensagem é ",[51,441,442],{},"unauthorized",".",[252,445,447],{"id":446},"o-que-você-recebe","O que você recebe",[197,449,450],{},"Você entra automaticamente na sala do seu próprio usuário, na presença do workspace e em toda caixa de entrada da qual é membro. Managers e acima entram em todas as caixas do workspace. Eventos restritos a uma conversa exigem a inscrição explícita descrita abaixo.",[197,452,453,456,457,460],{},[231,454,455],{},"O nome do evento é o tipo do evento, e o payload é o próprio objeto do evento"," — os mesmos eventos que os ",[201,458,459],{"href":105},"webhooks do helpdesk"," entregam:",[264,462,464],{"className":266,"code":463,"language":268,"meta":269,"style":269},"socket.on('helpdesk.message.created', (evento) => {\n  \u002F\u002F evento.conversationId, evento.inboxId, evento.message, ...\n  adicionarNaLinhaDoTempo(evento.message);\n});\n\nsocket.on('helpdesk.conversation.assignee_changed', (evento) => {\n  \u002F\u002F evento.fromAssigneeUserId, evento.toAssigneeUserId, ...\n});\n",[51,465,466,489,494,502,506,510,531,536],{"__ignoreMap":269},[273,467,468,470,472,474,477,479,482,484,486],{"class":275,"line":276},[273,469,368],{"class":283},[273,471,371],{"class":317},[273,473,321],{"class":283},[273,475,476],{"class":290},"'helpdesk.message.created'",[273,478,411],{"class":283},[273,480,481],{"class":414},"evento",[273,483,418],{"class":283},[273,485,382],{"class":279},[273,487,488],{"class":283}," {\n",[273,490,491],{"class":275,"line":297},[273,492,493],{"class":431},"  \u002F\u002F evento.conversationId, evento.inboxId, evento.message, ...\n",[273,495,496,499],{"class":275,"line":304},[273,497,498],{"class":317},"  adicionarNaLinhaDoTempo",[273,500,501],{"class":283},"(evento.message);\n",[273,503,504],{"class":275,"line":330},[273,505,357],{"class":283},[273,507,508],{"class":275,"line":342},[273,509,301],{"emptyLinePlaceholder":300},[273,511,512,514,516,518,521,523,525,527,529],{"class":275,"line":354},[273,513,368],{"class":283},[273,515,371],{"class":317},[273,517,321],{"class":283},[273,519,520],{"class":290},"'helpdesk.conversation.assignee_changed'",[273,522,411],{"class":283},[273,524,481],{"class":414},[273,526,418],{"class":283},[273,528,382],{"class":279},[273,530,488],{"class":283},[273,532,533],{"class":275,"line":360},[273,534,535],{"class":431},"  \u002F\u002F evento.fromAssigneeUserId, evento.toAssigneeUserId, ...\n",[273,537,538],{"class":275,"line":365},[273,539,357],{"class":283},[197,541,542,543,546,547,553,554,557],{},"O websocket suporta os eventos listados nos ",[201,544,459],{"href":545},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fwebhooks#os-eventos-do-helpdesk",", com uma exceção: ",[231,548,549,552],{},[51,550,551],{},"helpdesk.sla.missed"," não é transmitido pelo websocket."," A entrega ainda segue o destino de cada evento: eventos de caixa chegam às salas correspondentes, eventos pessoais chegam à sala do usuário e atualizações restritas à conversa exigem ",[51,555,556],{},"subscribe:conversation",". Eventos de CSAT e menção também chegam somente às salas relacionadas.",[197,559,560,561,566,567,570,571,570,574,570,577,580,581,584,585,588],{},"O websocket também tem um evento pessoal que não é enviado aos webhooks do helpdesk: ",[231,562,563],{},[51,564,565],{},"helpdesk.notification.created",". Ele é emitido apenas para a sala do usuário destinatário depois que uma notificação no app é criada. O payload contém ",[51,568,569],{},"accountId",", ",[51,572,573],{},"userId",[51,575,576],{},"notificationId",[51,578,579],{},"notificationType",", os tipos e ids dos atores primário e secundário opcional, ",[51,582,583],{},"createdAt",", e pode incluir uma ",[51,586,587],{},"message"," completa.",[197,590,591],{},"As mensagens chegam completas — no mesmo formato que a API REST devolve — então você consegue renderizar uma mensagem recebida sem uma requisição adicional.",[252,593,595],{"id":594},"acompanhando-uma-conversa","Acompanhando uma conversa",[197,597,598],{},"Abrir uma conversa significa entrar na sala dela. Faça isso explicitamente, e saia ao fechar:",[264,600,602],{"className":266,"code":601,"language":268,"meta":269,"style":269},"socket.emit('subscribe:conversation', { conversationId }, (ack) => {\n  \u002F\u002F { ok: true }\n});\n\n\u002F\u002F depois\nsocket.emit('unsubscribe:conversation', { conversationId });\n",[51,603,604,628,633,637,641,646],{"__ignoreMap":269},[273,605,606,608,611,613,616,619,622,624,626],{"class":275,"line":276},[273,607,368],{"class":283},[273,609,610],{"class":317},"emit",[273,612,321],{"class":283},[273,614,615],{"class":290},"'subscribe:conversation'",[273,617,618],{"class":283},", { conversationId }, (",[273,620,621],{"class":414},"ack",[273,623,418],{"class":283},[273,625,382],{"class":279},[273,627,488],{"class":283},[273,629,630],{"class":275,"line":297},[273,631,632],{"class":431},"  \u002F\u002F { ok: true }\n",[273,634,635],{"class":275,"line":304},[273,636,357],{"class":283},[273,638,639],{"class":275,"line":330},[273,640,301],{"emptyLinePlaceholder":300},[273,642,643],{"class":275,"line":342},[273,644,645],{"class":431},"\u002F\u002F depois\n",[273,647,648,650,652,654,657],{"class":275,"line":354},[273,649,368],{"class":283},[273,651,610],{"class":317},[273,653,321],{"class":283},[273,655,656],{"class":290},"'unsubscribe:conversation'",[273,658,659],{"class":283},", { conversationId });\n",[197,661,662,663,666],{},"Inscrever-se em uma conversa que você não pode ver falha com ",[51,664,665],{},"conversation not found"," — a mesma resposta de uma que não existe.",[252,668,670],{"id":669},"digitação-e-confirmação-de-leitura","Digitação e confirmação de leitura",[197,672,673],{},"Estes são retransmitidos entre agentes, para que a sua equipe se veja trabalhando. Eles não são enviados ao contato.",[264,675,677],{"className":266,"code":676,"language":268,"meta":269,"style":269},"socket.emit('typing:start', { conversationId });\nsocket.emit('typing:stop',  { conversationId });\n\nsocket.emit('read:up_to', { conversationId, messageId });\n",[51,678,679,692,706,710],{"__ignoreMap":269},[273,680,681,683,685,687,690],{"class":275,"line":276},[273,682,368],{"class":283},[273,684,610],{"class":317},[273,686,321],{"class":283},[273,688,689],{"class":290},"'typing:start'",[273,691,659],{"class":283},[273,693,694,696,698,700,703],{"class":275,"line":297},[273,695,368],{"class":283},[273,697,610],{"class":317},[273,699,321],{"class":283},[273,701,702],{"class":290},"'typing:stop'",[273,704,705],{"class":283},",  { conversationId });\n",[273,707,708],{"class":275,"line":304},[273,709,301],{"emptyLinePlaceholder":300},[273,711,712,714,716,718,721],{"class":275,"line":330},[273,713,368],{"class":283},[273,715,610],{"class":317},[273,717,321],{"class":283},[273,719,720],{"class":290},"'read:up_to'",[273,722,723],{"class":283},", { conversationId, messageId });\n",[197,725,726],{},"E do lado de quem recebe:",[264,728,730],{"className":266,"code":729,"language":268,"meta":269,"style":269},"socket.on('typing:start', ({ conversationId, userId }) => { \u002F* ... *\u002F });\nsocket.on('typing:stop',  ({ conversationId, userId }) => { \u002F* ... *\u002F });\nsocket.on('read:up_to',   ({ conversationId, userId, messageId }) => { \u002F* ... *\u002F });\n",[51,731,732,766,795],{"__ignoreMap":269},[273,733,734,736,738,740,742,745,748,750,752,755,757,760,763],{"class":275,"line":276},[273,735,368],{"class":283},[273,737,371],{"class":317},[273,739,321],{"class":283},[273,741,689],{"class":290},[273,743,744],{"class":283},", ({ ",[273,746,747],{"class":414},"conversationId",[273,749,570],{"class":283},[273,751,573],{"class":414},[273,753,754],{"class":283}," }) ",[273,756,382],{"class":279},[273,758,759],{"class":283}," { ",[273,761,762],{"class":431},"\u002F* ... *\u002F",[273,764,765],{"class":283}," });\n",[273,767,768,770,772,774,776,779,781,783,785,787,789,791,793],{"class":275,"line":297},[273,769,368],{"class":283},[273,771,371],{"class":317},[273,773,321],{"class":283},[273,775,702],{"class":290},[273,777,778],{"class":283},",  ({ ",[273,780,747],{"class":414},[273,782,570],{"class":283},[273,784,573],{"class":414},[273,786,754],{"class":283},[273,788,382],{"class":279},[273,790,759],{"class":283},[273,792,762],{"class":431},[273,794,765],{"class":283},[273,796,797,799,801,803,805,808,810,812,814,816,819,821,823,825,827],{"class":275,"line":304},[273,798,368],{"class":283},[273,800,371],{"class":317},[273,802,321],{"class":283},[273,804,720],{"class":290},[273,806,807],{"class":283},",   ({ ",[273,809,747],{"class":414},[273,811,570],{"class":283},[273,813,573],{"class":414},[273,815,570],{"class":283},[273,817,818],{"class":414},"messageId",[273,820,754],{"class":283},[273,822,382],{"class":279},[273,824,759],{"class":283},[273,826,762],{"class":431},[273,828,765],{"class":283},[197,830,831],{},"Você nunca recebe de volta os seus próprios eventos de digitação.",[252,833,835],{"id":834},"presença","Presença",[197,837,838,839,842],{},"Presença é um heartbeat. Envie um a cada ",[231,840,841],{},"20 segundos"," enquanto o agente estiver ativo:",[264,844,846],{"className":266,"code":845,"language":268,"meta":269,"style":269},"setInterval(() => socket.emit('presence:online'), 20_000);\n",[51,847,848],{"__ignoreMap":269},[273,849,850,853,856,858,861,863,865,868,871,874],{"class":275,"line":276},[273,851,852],{"class":317},"setInterval",[273,854,855],{"class":283},"(() ",[273,857,382],{"class":279},[273,859,860],{"class":283}," socket.",[273,862,610],{"class":317},[273,864,321],{"class":283},[273,866,867],{"class":290},"'presence:online'",[273,869,870],{"class":283},"), ",[273,872,873],{"class":310},"20_000",[273,875,876],{"class":283},");\n",[197,878,879],{},"Pare de enviar e o agente decai para offline sozinho — um recarregamento de página ou uma queda breve não o fazem piscar para offline, que é exatamente o que você quer.",[197,881,882],{},"O retrato do workspace chega na conexão e de novo sempre que o status de alguém muda:",[264,884,886],{"className":266,"code":885,"language":268,"meta":269,"style":269},"socket.on('presence.update', ({ users }) => {\n  \u002F\u002F { \"0195f3a0-...\": \"online\", \"0195f3b1-...\": \"busy\", ... }\n});\n",[51,887,888,910,915],{"__ignoreMap":269},[273,889,890,892,894,896,899,901,904,906,908],{"class":275,"line":276},[273,891,368],{"class":283},[273,893,371],{"class":317},[273,895,321],{"class":283},[273,897,898],{"class":290},"'presence.update'",[273,900,744],{"class":283},[273,902,903],{"class":414},"users",[273,905,754],{"class":283},[273,907,382],{"class":279},[273,909,488],{"class":283},[273,911,912],{"class":275,"line":297},[273,913,914],{"class":431},"  \u002F\u002F { \"0195f3a0-...\": \"online\", \"0195f3b1-...\": \"busy\", ... }\n",[273,916,917],{"class":275,"line":304},[273,918,357],{"class":283},[197,920,921,922,570,925,928,929,932,933,443],{},"Um agente está ",[51,923,924],{},"online",[51,926,927],{},"busy"," ou ",[51,930,931],{},"offline",". Ele mesmo define isso com ",[51,934,935],{},"PATCH \u002Fv3\u002Fhelpdesk\u002Fprofile\u002Favailability",[937,938,939],"note",{},[197,940,941,942,944,945,947,948,950],{},"A presença controla o rodízio quando há dois ou mais agentes elegíveis: apenas agentes ",[51,943,924],{}," participam, enquanto agentes ",[51,946,927],{}," e ",[51,949,931],{}," são pulados. Com exatamente um membro elegível na caixa, ele é atribuído mesmo offline. Sem membros na caixa e sem restrição de equipe, a atribuição recai no Owner do workspace; uma conversa restrita a uma equipe não tem esse fallback.",[252,952,954],{"id":953},"um-exemplo-completo","Um exemplo completo",[197,956,957],{},"Mantendo uma lista de conversas viva, de ponta a ponta:",[264,959,961],{"className":266,"code":960,"language":268,"meta":269,"style":269},"const socket = io('https:\u002F\u002Fapi.pingonotify.com\u002Fhelpdesk', {\n  path: '\u002Fws',\n  query: { apikey: process.env.PINGO_TOKEN },\n});\n\n\u002F\u002F Chegou uma conversa nova em uma das minhas caixas.\nsocket.on('helpdesk.conversation.created', (e) => lista.inserirNoTopo(e.conversationId));\n\n\u002F\u002F A prévia dela mudou.\nsocket.on('helpdesk.message.created', (e) => lista.atualizarPrevia(e.conversationId, e.message));\n\n\u002F\u002F Alguém resolveu, ou ela mudou de dono.\nsocket.on('helpdesk.conversation.status_changed',   (e) => lista.definirStatus(e.conversationId, e.toStatus));\nsocket.on('helpdesk.conversation.assignee_changed', (e) => lista.definirDono(e.conversationId, e.toAssigneeUserId));\n\n\u002F\u002F Uma mensagem que enviei foi entregue ou falhou.\nsocket.on('helpdesk.message.status_changed', (e) => {\n  linhaDoTempo.definirStatus(e.messageId, e.toStatus, e.externalError);\n});\n",[51,962,963,979,987,997,1001,1005,1010,1039,1043,1048,1075,1080,1086,1115,1142,1147,1153,1175,1186],{"__ignoreMap":269},[273,964,965,967,969,971,973,975,977],{"class":275,"line":276},[273,966,307],{"class":279},[273,968,311],{"class":310},[273,970,314],{"class":279},[273,972,318],{"class":317},[273,974,321],{"class":283},[273,976,324],{"class":290},[273,978,327],{"class":283},[273,980,981,983,985],{"class":275,"line":297},[273,982,333],{"class":283},[273,984,336],{"class":290},[273,986,339],{"class":283},[273,988,989,992,995],{"class":275,"line":304},[273,990,991],{"class":283},"  query: { apikey: process.env.",[273,993,994],{"class":310},"PINGO_TOKEN",[273,996,351],{"class":283},[273,998,999],{"class":275,"line":330},[273,1000,357],{"class":283},[273,1002,1003],{"class":275,"line":342},[273,1004,301],{"emptyLinePlaceholder":300},[273,1006,1007],{"class":275,"line":354},[273,1008,1009],{"class":431},"\u002F\u002F Chegou uma conversa nova em uma das minhas caixas.\n",[273,1011,1012,1014,1016,1018,1021,1023,1026,1028,1030,1033,1036],{"class":275,"line":360},[273,1013,368],{"class":283},[273,1015,371],{"class":317},[273,1017,321],{"class":283},[273,1019,1020],{"class":290},"'helpdesk.conversation.created'",[273,1022,411],{"class":283},[273,1024,1025],{"class":414},"e",[273,1027,418],{"class":283},[273,1029,382],{"class":279},[273,1031,1032],{"class":283}," lista.",[273,1034,1035],{"class":317},"inserirNoTopo",[273,1037,1038],{"class":283},"(e.conversationId));\n",[273,1040,1041],{"class":275,"line":365},[273,1042,301],{"emptyLinePlaceholder":300},[273,1044,1045],{"class":275,"line":399},[273,1046,1047],{"class":431},"\u002F\u002F A prévia dela mudou.\n",[273,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1072],{"class":275,"line":1050},10,[273,1052,368],{"class":283},[273,1054,371],{"class":317},[273,1056,321],{"class":283},[273,1058,476],{"class":290},[273,1060,411],{"class":283},[273,1062,1025],{"class":414},[273,1064,418],{"class":283},[273,1066,382],{"class":279},[273,1068,1032],{"class":283},[273,1070,1071],{"class":317},"atualizarPrevia",[273,1073,1074],{"class":283},"(e.conversationId, e.message));\n",[273,1076,1078],{"class":275,"line":1077},11,[273,1079,301],{"emptyLinePlaceholder":300},[273,1081,1083],{"class":275,"line":1082},12,[273,1084,1085],{"class":431},"\u002F\u002F Alguém resolveu, ou ela mudou de dono.\n",[273,1087,1089,1091,1093,1095,1098,1101,1103,1105,1107,1109,1112],{"class":275,"line":1088},13,[273,1090,368],{"class":283},[273,1092,371],{"class":317},[273,1094,321],{"class":283},[273,1096,1097],{"class":290},"'helpdesk.conversation.status_changed'",[273,1099,1100],{"class":283},",   (",[273,1102,1025],{"class":414},[273,1104,418],{"class":283},[273,1106,382],{"class":279},[273,1108,1032],{"class":283},[273,1110,1111],{"class":317},"definirStatus",[273,1113,1114],{"class":283},"(e.conversationId, e.toStatus));\n",[273,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1139],{"class":275,"line":1117},14,[273,1119,368],{"class":283},[273,1121,371],{"class":317},[273,1123,321],{"class":283},[273,1125,520],{"class":290},[273,1127,411],{"class":283},[273,1129,1025],{"class":414},[273,1131,418],{"class":283},[273,1133,382],{"class":279},[273,1135,1032],{"class":283},[273,1137,1138],{"class":317},"definirDono",[273,1140,1141],{"class":283},"(e.conversationId, e.toAssigneeUserId));\n",[273,1143,1145],{"class":275,"line":1144},15,[273,1146,301],{"emptyLinePlaceholder":300},[273,1148,1150],{"class":275,"line":1149},16,[273,1151,1152],{"class":431},"\u002F\u002F Uma mensagem que enviei foi entregue ou falhou.\n",[273,1154,1156,1158,1160,1162,1165,1167,1169,1171,1173],{"class":275,"line":1155},17,[273,1157,368],{"class":283},[273,1159,371],{"class":317},[273,1161,321],{"class":283},[273,1163,1164],{"class":290},"'helpdesk.message.status_changed'",[273,1166,411],{"class":283},[273,1168,1025],{"class":414},[273,1170,418],{"class":283},[273,1172,382],{"class":279},[273,1174,488],{"class":283},[273,1176,1178,1181,1183],{"class":275,"line":1177},18,[273,1179,1180],{"class":283},"  linhaDoTempo.",[273,1182,1111],{"class":317},[273,1184,1185],{"class":283},"(e.messageId, e.toStatus, e.externalError);\n",[273,1187,1189],{"class":275,"line":1188},19,[273,1190,357],{"class":283},[197,1192,1193,1194,1197,1198,1201,1202,570,1205,570,1208,928,1211,1214,1215,1218],{},"Repare no último. Quando você envia uma mensagem, a chamada REST retorna na hora com ",[51,1195,1196],{},"status: PENDING"," — a entrega acontece de forma assíncrona. ",[51,1199,1200],{},"helpdesk.message.status_changed"," é como você fica sabendo que ela virou ",[51,1203,1204],{},"SENT",[51,1206,1207],{},"DELIVERED",[51,1209,1210],{},"READ",[51,1212,1213],{},"FAILED"," (e nesse caso ",[51,1216,1217],{},"externalError"," diz o porquê).",[1220,1221,1222],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":269,"searchDepth":304,"depth":304,"links":1224},[1225,1226,1227,1228,1229,1230],{"id":254,"depth":297,"text":255},{"id":446,"depth":297,"text":447},{"id":594,"depth":297,"text":595},{"id":669,"depth":297,"text":670},{"id":834,"depth":297,"text":835},{"id":953,"depth":297,"text":954},"md",{},{"title":102,"description":103},"pt-BR\u002Fapi-reference\u002Fv3\u002Frealtime","SdkFZ2PLgmuerkXWvvRbsgaUJk3uMlyu73wcPODI5Bw",{"left":143,"top":143,"width":149,"height":149,"rotate":143,"vFlip":145,"hFlip":145,"body":1237},"\u003Cpath fill=\"currentColor\" d=\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-40-176h24v-64h-24c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24s10.7-24 24-24m40-208a32 32 0 1 1 0 64a32 32 0 1 1 0-64\"\u002F>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":1239},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":143,"top":143,"width":144,"height":144,"rotate":143,"vFlip":145,"hFlip":145,"body":1241},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m15 18l-6-6l6-6\"\u002F>",1787698192521]