How to set Cookie using JavaScript

Objetivo: Para aprender como criar e ler o cookie usando JavaScript. Cookie é um pequeno pedaço de dados que é salvo no dispositivo do usuário pelo site. É útil no armazenamento de dados para identificar o usuário ou para rastrear o usuário. Quando o usuário visita novamente o site, os dados armazenados podem ser lidos facilmente.

Etapa 1: para definir o cookie no dispositivo do usuário

Pela função createCookie (), você pode criar facilmente o cookie passando o nome, valor (dados que você quer armazenar) e data de expiração.

function createCookie (nome, valor, dias) {if (dias) {var date = new Data (); date.setTime (date.getTime () + (dias * 24 * 60 * 60 * 1000)); var expira = '; expira =' + data.toGMTString (); } else {var expira = ''; } // setting cookie document.cookie = nome + '=' + valor + expira + '; caminho = / '; }

Step2: Para ler o cookie

Você pode facilmente ler o cookie usando a função abaixo, fornecendo o nome do cookie.

function readCookie (name) {var nomeEQ = nome + '='; // lendo o cookie var ca = document.cookie.split (';'); // processando para obter o conteúdo para (var i = 0; i <comprimento_campo; i ++) {var c = ca [i]; while (c.charAt (0) == '') {c = c.substring (1, c.length); } if (c.indexOf (nameEQ) == 0) {// retornando retorno de conteúdo real c.substring (nameEQ.length, c.length); }} return null; }

Exemplo: Exemplo para armazenar o nome de usuário no cookie.

if (cookies == 'yes') {jQuery ('documento'). ready (function () {// bolando cookie var cook = readCookie ('YourWebsite'); if (cook! = 'true') {// chamando para criar o cookie se não for encontrado createCookie ('YourWebsite', 'user_name = akash', 30);}}); }

Você pode ver o cookie armazenado no console do navegador:

Como definir o cookie usando JavaScript

Dependência: Você precisará incluir o arquivo jquery min js para executar o exemplo. Para isso, você pode usar abaixo da linha de código.

<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </ script>


HubBox Error: Bad Response Code

Declaração do problema: Erro vindo na resposta da API de autenticação do HubBox, ou seja. "Erro de Api HubBox: código de resposta incorreto”

Solução:? If you are facing issue as shown below while you are checking Authentication API, it may be because of Authentication API is verifying SSL certificate for connection.

Para isso, você pode desativar a verificação SSL na solicitação CURL adicionando linhas abaixo.

curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false);

Faça a alteração na solicitação de curvatura da API de autenticação na função refreshToken () em HubBox / PHP / HubBox / Authentication.php, conforme mostrado abaixo:

$ ch = curl_init (); $ post_string = http_build_query ($ campos); curl_setopt ($ ch, CURLOPT_URL, $ endpoint); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_POST, 1); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post_string); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: aplicativo / x-www-form-urlencoded')); curl_setopt ($ ch, CURLOPT_USERPWD, $ this -> _ magento_user. ":". $ this -> _ magento_key); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ httpcode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); $ body = substr ($ output, $ header_size); curl_close ($ ch);

Se esse foi o problema, você precisará adicionar essas linhas em todas as APIs das APIs Criar Pacote, Cancelamento de Pacote, Adicionar Rastreamento e Ponto de Coleta, conforme descrito abaixo.

Crie a API do pacote: Faça a alteração na solicitação de curl da API Create Parcel na função sendOrder () em HubBox / PHP / HubBox / Parcel.php como mostrado abaixo:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getOrderUrl ()); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ body); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: application / json', 'Autorização: Bearer'. $ token, 'Content-Length:'. strlen ($ body))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

Cancelar a API do pacote: Faça a alteração na solicitação de curl da Cancel Parcel API na função cancelOrder () em HubBox / PHP / HubBox / Parcel.php como mostrado abaixo:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCancelUrl ($ hubBoxParcelId)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postBody); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: application / json', 'Autorização: Bearer'. $ token, 'Content-Length:'. strlen ($ postBody)))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

Adicionar API de acompanhamento: Faça a alteração na solicitação curl da API Add Tracking na função addTracking () em HubBox / PHP / HubBox / Parcel.php, como mostrado abaixo:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getTrackingUrl ($ hubBoxParcelId)); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ postBody); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: application / json', 'Autorização: Bearer'. $ token, 'Content-Length:'. strlen ($ postBody)))); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

API do Collectpoint: Faça a alteração na solicitação de curvatura da API Collectpoint na função getCollectPoint () em HubBox / PHP / HubBox / CollectPoints.php, conforme mostrado abaixo:

$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ this-> getCollectPointUrl (). '/'. $ id); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ ch, CURLOPT_HTTPHEADER, array ('Tipo de conteúdo: aplicativo / json')); curl_setopt ($ ch, CURLOPT_VERBOSE, 1); curl_setopt ($ ch, CURLOPT_HEADER, 1); curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, false); // se tivermos pontos de coleta privados, devemos autenticar a solicitação if ($ this -> _ config-> hasPrivateCps ()) {$ header [] = "Authorization: Bearer". $ this -> _ auth-> getAccessToken (); curl_setopt ($ ch, CURLOPT_HTTPHEADER, $ header); } $ output = curl_exec ($ ch); $ header_size = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ body = substr ($ output, $ header_size); $ httpCode = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); curl_close ($ ch);

Para mais artigos relacionados, por favor visite aqui: Erro do HubBox: Dados errados do produto na resposta do Create Parcel API


Erro do HubBox: Dados errados do produto na resposta do Create Parcel API

Declaração do problema:? Wrong product data coming in the response of Create Parcel API of HubBox Sandbox account.

Solução: Se estiver enfrentando esse problema na caixa de proteção do HubBox, conforme mostrado abaixo, você poderá ignorá-lo na conta do sandbox, pois ele funcionará bem na conta Production do HubBox. Dados do produto enviados na solicitação da Create Parcel API:

[order] => Array ([id] => 1234 [produtos] => Array ([0] => Array ([nome] => Teste Item1 [sku] => TESTE [preço] => 1) [1] => Matriz ([nome] => Item de Teste2 [sku] => TEST2 [preço] => 12) [2] => Matriz ([nome] => Item de Teste3 [sku] => TEST3 [preço] => 13 )))

Dados do produto recebido na resposta da Create Parcel API:

[order] =&amp;gt; stdClass Object
        (
            [id] =&amp;gt; 1234
            [products] =&amp;gt; Array
                (
                    [0] =&amp;gt; stdClass Object
                        (
                            [sku] =&amp;gt; TEST
                            [name] =&amp;gt; Test Item
                            [price] =&amp;gt; 1
                            [qty] =&amp;gt;  
                            [challenge18] =&amp;gt;  
                            [challenge21] =&amp;gt;  
                            [challenge25] =&amp;gt;  
                            [perishable] =&amp;gt;  
                            [flammable] =&amp;gt;  
                        )
 
                    [1] =&amp;gt; stdClass Object
                        (
                            [sku] =&amp;gt;  
                            [name] =&amp;gt;  
                            [price] =&amp;gt;  
                            [qty] =&amp;gt;  
                            [challenge18] =&amp;gt;  
                            [challenge21] =&amp;gt;  
                            [challenge25] =&amp;gt;  
                            [perishable] =&amp;gt;  
                            [flammable] =&amp;gt;  
                        )
 
                )
 
        )

For related blog please visit here: <a href="https://www.knowband.com/blog/tips/hubbox-error-bad-response-code/" target="_blank">HubBox Error: Bad Response Code</a>


Erro do HubBox: Dados errados do produto na resposta do Create Parcel API

Declaração do problema:? Wrong product data coming in the response of Create Parcel API of HubBox Sandbox account.

Solução: Se estiver enfrentando esse problema na caixa de proteção do HubBox, conforme mostrado abaixo, você poderá ignorá-lo na conta do sandbox, pois ele funcionará bem na conta Production do HubBox. Dados do produto enviados na solicitação da Create Parcel API:

[order] => Array ([id] => 1234 [produtos] => Array ([0] => Array ([nome] => Teste Item1 [sku] => TESTE [preço] => 1) [1] => Matriz ([nome] => Item de Teste2 [sku] => TEST2 [preço] => 12) [2] => Matriz ([nome] => Item de Teste3 [sku] => TEST3 [preço] => 13 )))

Dados do produto recebido na resposta da Create Parcel API:

[order] => stdClass Object ([id] => 1234 [produtos] => Array ([0] => Objeto stdClass ([sku] => TEST [name] => Item de teste [price] => 1 [qty ] => [challenge18] => [challenge21] => [challenge25] => [perecível] => [inflamável] =>) [1] => Objeto stdClass ([sku] => [nome] => [preço] => [qty] => [challenge18] => [challenge21] => [challenge25] => [perecível] => [inflamável] =>)))


Como excluir produtos do MarketplaceLibre Marketplace?

Objetivo do blog

Depois de ler este blog, você pode entender como o vendedor pode excluir os produtos do mercado de MercadoLibre.

Método para excluir produtos do Mercado de Mercado:

Você pode excluir produtos do mercado MercadoLibre por dois métodos:

  • Excluir manualmente da conta do comerciante
  • Usando o arquivo CSV.

1. Excluir manualmente da conta do comerciante

1. Faça o login em

3. Em seguida, você precisará inserir SKUs do produto na caixa de texto e clicar no botão enviar para excluir, conforme mostrado na imagem abaixo:

2. Usando o arquivo csv

Você pode excluir produtos em massa do mercado Mercadolibre usando um arquivo CSV. 1) Crie um "CSV"Arquivo com o nome de uma coluna:"mpid"e adicione todo o MPID.

Exemplo:

2) Vá para o Merchant Portal -> Flat Files -> Upload Files

  • Selecione "Excluir SKUs"opção
  • Aqui você pode fazer o upload do arquivo CSV que você criou na etapa 1 para excluir os produtos, conforme mostrado na imagem abaixo:

Espero que ajude. Deixe-me saber nos comentários em caso de qualquer confusão.


JavaScript Desktop Notification

Objetivos do blog

Depois de ler este blog, você poderá configurar a notificação da área de trabalho do seu site. Você também poderá personalizar sua notificação por sua própria mensagem, imagem, ícone etc.

Benefício da Notificação de Desktop

Suponha que você queira notificar seu cliente fora da página da Web e, em seguida, usar a notificação da área de trabalho como se você ativasse a notificação da área de trabalho para e-mail. Você não precisa verificar os e-mails regularmente. Em todos os e-mails, você recebeu uma notificação.

Código para notificação de área de trabalho

Adicione a função abaixo na tag de script na cabeça do HTML.

function showNotification () {// Verifique se o navegador do usuário suporta notificações ou não se (! ("Notificação" na janela)) {alert ("Seu navegador não suporta a notificação de desktop"); } // Verifique se as permissões da notificação já foram concedidas ou não se (Notification.permission === "granted") {// Create Notification var options = {body: 'Linha de mensagem de notificação simples 1. \ NSegunda linha de mensagem de notificação . ', // corpo da dir de notificação:' ltr ', // direção da mensagem ltr: da esquerda para a direita. rtl: da direita para a esquerda. imagem: 'https://www.knowband.com/blog/wp-content/uploads/2016/09/cropped-knowband_logo-v2.png', // Adicionar imagem, se necessário, para mostrar o ícone: 'https: // www .knowband.com / blog / wp-content / uploads / 2016 / 09 / cropped-knowband_logo-v2.png ', // Adicionar ícone, se necessário, para mostrar} var title = "Blog de Knowband"; var notification = new Notificação (título, opções); // Adicione a notificação clique no link notification.onclick = function (event) {event.preventDefault (); // impedir que o navegador se concentre na aba da notificação, window.open ('https://www.knowband.com/blog/', '_blank'); notification.close (); // Fechar a notificação após clicar em}} // Se não houver permissões, peça permissão ao usuário se (Notification.permission! == "denied") {Notification.requestPermission (). then (function ( permission) {// Se o usuário aceitar, vamos criar uma notificação if (permission === "granted") {var notification = new Notificação ("Hi there!");}}); }}

Você pode acionar esta função através do evento como desejar. Para fins de teste, você pode verificar isso adicionando um botão. Use abaixo o código para o botão no corpo

<button onclick = "showNotification ()"> Mostrar notificação! </ button>

Observação: Se você estiver executando esse código no sistema local, use o servidor local, ou seja, localhost.

Tela de saída


Erro Spring Global (Spring Omni): O envio não está sendo registrado

Declaração do problema:

O envio não está sendo registrado no registro de data e hora enviado e também nenhum erro está relatando na resposta.

Solução:

Criámos um ticket para o mesmo e responderam que este problema ocorreu porque o parâmetro de email do destinatário não foi enviado na API de envio https://api.myparcel.com/shipments

De acordo com a documentação do Spring Omni, este email é um parâmetro opcional:


Então, nós levantamos um ticket novamente no Spring Omni sobre isso e eles responderam: A remessa não está sendo criada porque o endereço de e-mail do destinatário não está sendo preenchido. Embora, o esquema mostre isso como opcional, mas o Spring exige o endereço de e-mail para que as operadoras possam enviar notificações ao destinatário (se elas oferecerem esse serviço

Portanto, o email do destinatário é um parâmetro obrigatório no Spring Omni e precisa ser enviado na API de envio. Para mais blogs relacionados, por favor visite aqui:

Erro Spring Global (Spring Omni): A propriedade phone_number é necessária

Manifestação Omni da Primavera

Spring Global (Spring Omni): Conceito de Faturamento

Erro de Spring Global (Spring Omni): recurso não encontrado

Erro Spring Global (Spring Omni): Obtenção de resposta em branco ao buscar o rótulo


Erro Spring Global (Spring Omni): A propriedade phone_number é necessária

Erro na resposta:

A propriedade phone_number é obrigatória enquanto registra a remessa.

Solução:

Este erro ocorre quando o parâmetro phone_number do destinatário não é enviado na API de envio https://api.myparcel.com/shipments

De acordo com a documentação do Spring Omni, phone_number é um parâmetro opcional:

Eu subi o ingresso em Primavera Omni e eles responderam: A remessa não está sendo criada porque o número de telefone do destinatário não está sendo preenchido. Embora, o esquema mostre isso como opcional
Portanto, phone_number é um parâmetro obrigatório e precisa ser enviado na API de envio.

Para mais blogs relacionados, por favor visite aqui:

Erro Spring Global (Spring Omni): O envio não está sendo registrado

Manifestação Omni da Primavera

Spring Global (Spring Omni): Conceito de Faturamento

Erro de Spring Global (Spring Omni): recurso não encontrado

Erro Spring Global (Spring Omni): Obtenção de resposta em branco ao buscar o rótulo


Spring Omni Manifest

Como obter o relatório de manifesto das remessas do Spring Omni?

SOLUÇÃO: Levantamos uma consulta para iniciar o Omni, se eles tiverem alguma API para gerar o manifesto das remessas criadas em um determinado dia.

Eles responderam:

“No momento, não fornecemos um manifesto". Então, tentamos gerar manifesto e confirmamos com o garoto da Primavera Omni se eles precisam de um relatório de manifesto para coletar as parcelas? Eles responderam que não há necessidade de gerar um relatório manifesto dos embarques, pois eles simplesmente cobram por apenas o número de rótulos (parcelas) de entrega para eles.Para mais Blogs relacionados, por favor, visite aqui:

Erro Spring Global (Spring Omni): A propriedade phone_number é necessária

Erro Spring Global (Spring Omni): O envio não está sendo registrado

Spring Global (Spring Omni): Conceito de Faturamento

Erro de Spring Global (Spring Omni): recurso não encontrado

Erro Spring Global (Spring Omni): Obtenção de resposta em branco ao buscar o rótulo


Spring Global (Spring Omni): Conceito de Faturamento

Queremos saber que a Spring Global nos cobra as remessas que criamos e registramos OU pacotes que serão entregues a eles para entrega.

Nós levantamos um bilhete na Spring Global:

Quais embarques (parcelas) eles nos cobrarão? Será nos envios que nós criamos e registramos OU pacotes que nós entregamos a eles.

Suponhamos que criamos e registramos remessas 10, mas entregamos apenas pacotes 8 a eles (como não queremos que as remessas 2 sejam entregues). Então, agora, para este caso em particular, eles nos cobrarão pelas remessas 10 ou 8?

Eles responderam:

“A primavera só irá cobrar etiquetas que foram digitalizadas. Então, no seu exemplo, você seria apenas“.

Como podemos ver, nós só seremos cobrados pelas encomendas que entregamos a eles para entrega, independentemente do número de remessas que criamos em seu final.

Por favor, visite aqui para informações relacionadas:

Erro Spring Global (Spring Omni): A propriedade phone_number é necessária

Manifestação Omni da Primavera

Erro Spring Global (Spring Omni): O envio não está sendo registrado

Erro de Spring Global (Spring Omni): recurso não encontrado

Erro Spring Global (Spring Omni): Obtenção de resposta em branco ao buscar o rótulo