Para começar a desenvolver a integração do seu sistema com o Hub de Marketplaces, você precisará de uma conta no ambiente sandbox, para que possa testar todos os recursos disponíveis na API antes de ir para produção. Assim que finalizar os testes, você deverá enviar um e-mail para suporte.omni@wapstore.com.br e solicitar a homologação de sua aplicação.
Após isso, o time de suporte da Uappi solicitará alguns testes de requisições a API e, caso esteja tudo certo, sua aplicação será homologada e você receberá o AppToken de produção que deverá ser utilizado para integrar todos os marketplaces Uappi de seu sistema em produção. O processo de homologação será feito apenas uma vez e, a partir da homologação, sua aplicação estará apta a trabalhar em produção.
Caso sua aplicação esteja em produção e muitos erros forem reportados, você poderá ter seu AppToken revogado e terá que passar novamente pelo processo de homologação
Solicite sua conta de homologação pelo suporte.omni@wapstore.com.br
Os ambientes de produção e homologação são dividos e podem ser acessados pelas URLs abaixo:
Requisições POST, PUT e DELETE possuem alguns headers úteis em seu response, contendo o ID da requisição gerada (Request-Id) e os limites de requisições para cada endpoint (X-RateLimit-Limit e X-RateLimit-Remaining). Caso encontre problemas com alguma requisição, basta informar ID da requisição ao time de suporte, pois isso facilitará a obtenção dos logs e diminuirá o tempo de correção do problema.
Cache-Control: no-cache, private
Content-Type: application/json
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
Request-Id: 1R17E20190510133646C1557506206412V9676
As APIs do Hub de Marketplaces possuem dois níveis de autenticação: Autenticação da aplicação e Autenticação da integração.
Todas as aplicações integradas possuem um token de identificação chamado AppToken que deve ser enviado no header de todas as requisições, pois sem ele, não é possível identificar a aplicação conectada e sua conexão será negada imediatamente.
Em produção, cada aplicação possui um AppToken exclusivo, porém em homologação, todas as aplicações devem utilizar o AppToken homologacao, conforme o exemplo abaixo:
App-Token: homologacao
Content-Type: application/json
cache-control: no-cache
O segundo nível de autenticação é o da integração, ou seja, da conta do marketplace a ser requisitada.
A autenticação da integração é feita a partir de um token de acesso temporário, gerado no recurso de autenticação e que deve ser enviado no header de todas as requisições no índice Authorization (exceto a requisição de autenticação, onde apenas o AppToken deve ser enviado).
App-Token: homologacao
Content-Type: application/json
cache-control: no-cache
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYXBpLm9tbmkud2Fwc3RvcmUuY29tLmJyXC8iLCJhdWQiOiJBcGkgZGUgVGVzdGUiLCJpYXQiOjE1NTc0MjgzMjcsIm5iZiI6MTU1NzQyODMyNywiZXhwIjoxNTU3NDMwMTI3LCJ0aWQiOiIwOWI4ZGI5YWYxNjhkMDRhMmE2OTBhNTQ1NmEyZWRmMSJ9.Gfvm1Z54pUXZhlNhafV1fEoOBiMGS_sku4o2a8CKWmY
Recurso responsável por gerar o token de autenticação da integração.
Para esse recurso, o único token que deverá enviar no header é o AppToken, pois nesse momento você ainda não terá o token da integração.
Os dados enviados no body (ApiKey e SecretKey) são relacionados a conta de integração do marketplace (conta de homologação ou produção).
Após o token ser gerado, ele será válido por 30 minutos e deverá ser enviado no header Authorization das demais APIs.
Importante: Sempre que um novo token for gerado o anterior será revogado e perderá o acesso imediatamente.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
{
"apiKey": "1234A5678B9012C3456",
"secretKey":"3456D9012E5678F1234"
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| apiKey | String | Sim | Chave pública da API de integração do Seller |
| secretKey | String | Sim | Chave privada da API de integração do Seller |
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYXBpLm9tbmkud2Fwc3RvcmUuY29tLmJyXC8iLCJhdWQiOiJBcGkgZGUgVGVzdGUiLCJpYXQiOjE1NTc0NTc2OTYsIm5iZiI6MTU1NzQ1NzY5NiwiZXhwIjoxNTU3NDU5NDk2LCJ0aWQiOiI5MzRjZTY2ZGY5MDQ1YWNmMzY1MGIyZWEzNWUxYjMwMSJ9.Ii148QGob19NI2-fsMbqvMpmVFyGR3bkJjSbOxaCxmg"
}
| Campo | Tipo | Descrição |
|---|---|---|
| token | String | Token de acesso gerado para as APIs |
Rota de teste de token. Utilize essa URL para testar o token gerado no recurso de autorização. Caso receba a palavra 'pong' (em texto puro), significa que a sua requisição foi autenticada com sucesso, ou seja, seu AppToken e o token temporário são válido.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
Recurso responsável por listar todos os sellers vinculados ao marketplace, ordenados alfabeticamente pelo nome.
Nesse recurso serão retornados todos os dados dos sellers.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| Offset/Limit | Obrigatório o envio dos parâmetros offset e limit na URL da requisição. Exemplo de requisição: /v1/sellers?offset=0&limit=100 Valor máximo para o parâmetro limit: 100 |
{
"sellers": [
{
"idSeller": "17",
"nome": "Seller de Teste",
"documento": "11217233000167",
"ativo": true,
"criadoWapstore": true,
"sincronizadoWapstore": true,
"dataVinculo": "2019-06-03 10:00:18",
"contato": {
"email": "seller@teste.com.br",
"telefone": "1136987412"
},
"endereco": {
"endereco": "Avenida Paulista",
"numero": "507",
"complemento": "Sala 10",
"bairro": "Bela Vista",
"cidade": "São Paulo",
"estado": "SP",
"cep": "01310940"
},
"cicloRepasse": {
"statusLiberacao": "entregue",
"diaFechamento": "4",
"diaRelatorioFechamento": "5",
"prazoContestacao": "3",
"prazoContestacaoResposta": "5",
"tipoRepasse": "mensal",
"fechamentoCiclo": [
31
],
"diaRepasse": "1",
"dadosBancarios": [
{
"nomeBanco": "Caixa",
"numeroBanco": "104",
"agencia": "12345",
"conta": "1234567-1",
"titular": "Seller de teste LTDA",
"cnpj": "11217233000167"
},
{
"nomeBanco": "Santander ",
"numeroBanco": "033",
"agencia": "5678",
"conta": "5678-8",
"titular": "Seller de teste LTDA",
"cnpj": "11217233000167"
}
]
}
}
],
"info": {
"filtros": [],
"prev": "",
"self": "https://api.sandbox.omni.wapstore.com.br/v1/sellers?offset=0&limit=100",
"next": "",
"offset": 0,
"limit": 100,
"exibindo": 1,
"total": 1
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| sellers | Data Collection | Sellers listados |
| idSeller | String | ID do seller |
| nome | String | Nome do Seller |
| documento | String | Numero da documentação do seller (CPF, CNPJ, NIF, VAT) |
| ativo | Boolean | Define se o seller está ativo no marketplace |
| criadoWapstore | Boolean | Define se o seller já foi criado na WapStore |
| sincronizadoWapstore | Boolean | Define se o seller está com todas as informações sincronizadas com a WapStore |
| dataVinculo | String | Data em que o seller foi vinculado ao marketplace |
| contato | Object | Dados de contato do seller |
| String | E-mail de contato | |
| telefone | String | Telefone de contato |
| endereco | Object | Dados de endereço do seller |
| endereco | String | Nome da rua, avenida, etc. |
| numero | String | Número do imóvel |
| complemento | String | Complemento do endereço |
| bairro | String | Bairro do endereço |
| cidade | String | Cidade do endereço |
| estado | String | UF do endereço |
| cep | String | CEP do endereço |
| cicloRepasse | Object | Dados do ciclo de repasse |
| statusLiberacao | String | Status para um pedido ser considerado apto |
| diaFechamento | Number | Dia útil do mês para ser o limite para o pedido estar sem nenhuma pendência ou reclamação para aparecer no relatório de repasse atual Valor mínimo: 1 | Valor máximo: 31 |
| diaRelatorioFechamento | Number | Dia útil do mês em que o pedido é liberado no relatório de repasse e inicia o prazo de contestação Valor mínimo: 1 | Valor máximo: 31 |
| prazoContestacao | Number | Prazo para o seller contestar um pedido ou valor na conta corrente Valor mínimo: 1 | Valor máximo: 31 |
| prazoContestacaoResposta | Number | Prazo para o marketplace responder um contestação (utilizado apenas para informação para o seller) Valor mínimo: 1 | Valor máximo: 31 |
| tipoRepasse | String | Define o tipo de repasse configurado Valores aceitos: mensal, quinzenal |
| fechamentoCiclo | Array de números | Dia do fechamento do ciclo de pagamentos de um mês. Caso o dia do fechamento seja 29, 30 ou 31, os meses que não possuírem esse dia será considerado o último dia do mês |
| diaRepasse | Number | Define o dia útil do mês para repasse |
| dadosBancarios | Data Collection | Contas bancárias do seller |
| nomeBanco | String | Nome do banco |
| numeroBanco | String | Número do banco |
| agencia | String | Agência |
| conta | String | Número da conta |
| titular | String | Nome do titular da conta |
| cnpj | String | CNPJ da conta |
| info | Object | Informações sobre a listagem (paginação, filtros, total de itens, etc.) |
| filtros | Object (key/value) | Filtros aplicados na URL |
| prev | String | Página anterior |
| self | String | Página atual |
| next | String | Próxima página |
| offset | Number | Offset solicitado |
| limit | Number | Limit solicitado |
| exibindo | Number | Quantidade de registros sendo exibidos na página atual |
| total | Number | Total de registros em todas as páginas |
Recurso de consulta individual de sellers responsável por retornar todos os dados cadastrados de um seller.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| /v1/sellers/{id} | ID do seller (idSeller) |
{
"idSeller": "17",
"nome": "Seller de Teste",
"documento": "11217233000167",
"ativo": true,
"criadoWapstore": true,
"sincronizadoWapstore": true,
"dataVinculo": "2019-06-03 10:00:18",
"contato": {
"email": "seller@teste.com.br",
"telefone": "1136987412"
},
"endereco": {
"endereco": "Avenida Paulista",
"numero": "507",
"complemento": "Sala 10",
"bairro": "Bela Vista",
"cidade": "São Paulo",
"estado": "SP",
"cep": "01310940"
},
"cicloRepasse": {
"statusLiberacao": "entregue",
"diaFechamento": "4",
"diaRelatorioFechamento": "5",
"prazoContestacao": "3",
"prazoContestacaoResposta": "5",
"tipoRepasse": "mensal",
"fechamentoCiclo": [
31
],
"diaRepasse": "1",
"dadosBancarios": [
{
"nomeBanco": "Caixa",
"numeroBanco": "104",
"agencia": "12345",
"conta": "1234567-1",
"titular": "Seller de teste LTDA",
"cnpj": "11217233000167"
},
{
"nomeBanco": "Santander ",
"numeroBanco": "033",
"agencia": "5678",
"conta": "5678-8",
"titular": "Seller de teste LTDA",
"cnpj": "11217233000167"
}
]
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| idSeller | String | ID do seller |
| nome | String | Nome do Seller |
| documento | String | Numero da documentação do seller (CPF, CNPJ, NIF, VAT) |
| ativo | Boolean | Define se o seller está ativo no marketplace |
| criadoWapstore | Boolean | Define se o seller já foi criado na WapStore |
| sincronizadoWapstore | Boolean | Define se o seller está com todas as informações sincronizadas com a WapStore |
| dataVinculo | String | Data em que o seller foi vinculado ao marketplace |
| contato | Object | Dados de contato do seller |
| String | E-mail de contato | |
| telefone | String | Telefone de contato |
| endereco | Object | Dados de endereço do seller |
| endereco | String | Nome da rua, avenida, etc. |
| numero | String | Número do imóvel |
| complemento | String | Complemento do endereço |
| bairro | String | Bairro do endereço |
| cidade | String | Cidade do endereço |
| estado | String | UF do endereço |
| cep | String | CEP do endereço |
| cicloRepasse | Object | Dados do ciclo de repasse |
| statusLiberacao | String | Status para um pedido ser considerado apto |
| diaFechamento | Number | Dia útil do mês para ser o limite para o pedido estar sem nenhuma pendência ou reclamação para aparecer no relatório de repasse atual Valor mínimo: 1 | Valor máximo: 31 |
| diaRelatorioFechamento | Number | Dia útil do mês em que o pedido é liberado no relatório de repasse e inicia o prazo de contestação Valor mínimo: 1 | Valor máximo: 31 |
| prazoContestacao | Number | Prazo para o seller contestar um pedido ou valor na conta corrente Valor mínimo: 1 | Valor máximo: 31 |
| prazoContestacaoResposta | Number | Prazo para o marketplace responder um contestação (utilizado apenas para informação para o seller) Valor mínimo: 1 | Valor máximo: 31 |
| tipoRepasse | String | Define o tipo de repasse configurado Valores aceitos: mensal, quinzenal |
| fechamentoCiclo | Array de números | Dia do fechamento do ciclo de pagamentos de um mês. Caso o dia do fechamento seja 29, 30 ou 31, os meses que não possuírem esse dia será considerado o último dia do mês |
| diaRepasse | Number | Define o dia útil do mês para repasse |
| dadosBancarios | Data Collection | Contas bancárias do seller |
| nomeBanco | String | Nome do banco |
| numeroBanco | String | Número do banco |
| agencia | String | Agência |
| conta | String | Número da conta |
| titular | String | Nome do titular da conta |
| cnpj | String | CNPJ da conta |
Recurso responsável por listar a fila de sellers vinculados ao marketplace que foram criados ou que sofreram alguma atualização para que seu sistema interno possa obter todas as atualizações dos sellers.
Nesse recurso serão retornados todos os dados dos sellers.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| Offset/Limit | Obrigatório o envio do parâmetro limit na URL da requisição (não é permitido enviar o parâmetro offset para essa requisição). Exemplo de requisição: /v1/sellers/queue?limit=100 Valor máximo para o parâmetro limit: 100 |
{
"sellers": [
{
"idSeller": "17",
"nome": "Seller de Teste",
"documento": "11217233000167",
"ativo": true,
"criadoWapstore": true,
"sincronizadoWapstore": true,
"dataVinculo": "2019-06-03 10:00:18",
"contato": {
"email": "seller@teste.com.br",
"telefone": "1136987412"
},
"endereco": {
"endereco": "Avenida Paulista",
"numero": "507",
"complemento": "Sala 10",
"bairro": "Bela Vista",
"cidade": "São Paulo",
"estado": "SP",
"cep": "01310940"
},
"cicloRepasse": {
"statusLiberacao": "entregue",
"diaFechamento": "4",
"diaRelatorioFechamento": "5",
"prazoContestacao": "3",
"prazoContestacaoResposta": "5",
"tipoRepasse": "mensal",
"fechamentoCiclo": [
31
],
"diaRepasse": "1",
"dadosBancarios": [
{
"nomeBanco": "Caixa",
"numeroBanco": "104",
"agencia": "12345",
"conta": "1234567-1",
"titular": "Seller de teste LTDA",
"cnpj": "11217233000167"
},
{
"nomeBanco": "Santander ",
"numeroBanco": "033",
"agencia": "5678",
"conta": "5678-8",
"titular": "Seller de teste LTDA",
"cnpj": "11217233000167"
}
]
}
}
],
"info": {
"filtros": [],
"limit": 100,
"exibindo": 1,
"total": 1
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| sellers | Data Collection | Sellers listados |
| idSeller | String | ID do seller |
| nome | String | Nome do Seller |
| documento | String | Numero da documentação do seller (CPF, CNPJ, NIF, VAT) |
| ativo | Boolean | Define se o seller está ativo no marketplace |
| criadoWapstore | Boolean | Define se o seller já foi criado na WapStore |
| sincronizadoWapstore | Boolean | Define se o seller está com todas as informações sincronizadas com a WapStore |
| dataVinculo | String | Data em que o seller foi vinculado ao marketplace |
| contato | Object | Dados de contato do seller |
| String | E-mail de contato | |
| telefone | String | Telefone de contato |
| endereco | Object | Dados de endereço do seller |
| endereco | String | Nome da rua, avenida, etc. |
| numero | String | Número do imóvel |
| complemento | String | Complemento do endereço |
| bairro | String | Bairro do endereço |
| cidade | String | Cidade do endereço |
| estado | String | UF do endereço |
| cep | String | CEP do endereço |
| cicloRepasse | Object | Dados do ciclo de repasse |
| statusLiberacao | String | Status para um pedido ser considerado apto |
| diaFechamento | Number | Dia útil do mês para ser o limite para o pedido estar sem nenhuma pendência ou reclamação para aparecer no relatório de repasse atual Valor mínimo: 1 | Valor máximo: 31 |
| diaRelatorioFechamento | Number | Dia útil do mês em que o pedido é liberado no relatório de repasse e inicia o prazo de contestação Valor mínimo: 1 | Valor máximo: 31 |
| prazoContestacao | Number | Prazo para o seller contestar um pedido ou valor na conta corrente Valor mínimo: 1 | Valor máximo: 31 |
| prazoContestacaoResposta | Number | Prazo para o marketplace responder um contestação (utilizado apenas para informação para o seller) Valor mínimo: 1 | Valor máximo: 31 |
| tipoRepasse | String | Define o tipo de repasse configurado Valores aceitos: mensal, quinzenal |
| fechamentoCiclo | Array de números | Dia do fechamento do ciclo de pagamentos de um mês. Caso o dia do fechamento seja 29, 30 ou 31, os meses que não possuírem esse dia será considerado o último dia do mês |
| diaRepasse | Number | Define o dia útil do mês para repasse |
| dadosBancarios | Data Collection | Contas bancárias do seller |
| nomeBanco | String | Nome do banco |
| numeroBanco | String | Número do banco |
| agencia | String | Agência |
| conta | String | Número da conta |
| titular | String | Nome do titular da conta |
| cnpj | String | CNPJ da conta |
| info | Object | Informações sobre a listagem (paginação, filtros, total de itens, etc.) |
| filtros | Object (key/value) | Filtros aplicados na URL |
| limit | Number | Limit solicitado |
| exibindo | Number | Quantidade de registros sendo exibidos na página atual |
| total | Number | Total de registros em todas as páginas |
Recurso responsável por confirmar a leitura de um seller da fila. Esse recurso deve ser utilizado sempre que as atualizações do seller forem lidas pelo seu sistema para que o seller seja removido da fila de atualizações.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 204 No Content |
| /v1/sellers/queue/{id} | ID do seller (idSeller) |
Recurso de criação em lote de transações, responsável por inserir várias transações na conta corrente dos sellers de uma única vez.
Utilize o recurso de consulta de lotes para verificar o status do processamento do lote criado.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 10 |
{
"transacoes":[
{
"cnpj":"20542763000171",
"idPedidoCanal":"MKTP-5682",
"tipoOperacao":"multa",
"descricao":"Multa por atraso na entrega",
"valor":57.90
},
{
"cnpj":"20542763000171",
"idPedidoCanal":"MKTP-5682",
"tipoOperacao":"outros-debitos",
"descricao":"Correção de cobrança jan/2019",
"valor":437.26
},
{
"cnpj":"20542763000171",
"idPedidoCanal":"MKTP-5682",
"tipoOperacao":"bonus",
"descricao":"Prêmio Seller do Ano",
"valor":100.00
},
{
"cnpj":"20542763000171",
"idPedidoCanal":"MKTP-5682",
"tipoOperacao":"outros-creditos",
"descricao":"Cobrança inválida de comissão",
"valor":37.95
},
]
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| transacoes | Data Collection | Sim | Lote de transações Tamanho mínimo: 1 | Tamanho máximo: 100 |
| cnpj | String | Sim | CNPJ do seller que essa transação é direcionada Tamanho mínimo: 14 | Tamanho máximo: 14 |
| idPedidoCanal | String | Sim | ID do pedido no canal (Sub Pedido WapStore) Tamanho mínimo: 1 | Tamanho máximo: 250 |
| tipoOperacao | String | Sim | Tipo de operação da transação. Use as operações 'outros-creditos' e 'outros-debitos' para transações de débito e crédito que não se encaixarem nos demais tipos disponíveis. Valores aceitos: multa, bonus, outros-creditos, outros-debitos |
| descricao | String | Sim | Descrição da operação (Ex. Multa por atraso na entrega) Tamanho mínimo: 1 | Tamanho máximo: 50 |
| valor | Number | Sim | Valor da operação Valor mínimo: 0.01 | Valor máximo: 999999.99 |
{
"id": 80
}
| Campo | Tipo | Descrição |
|---|---|---|
| id | Number | ID do lote gerado |
Recurso de criação em lote de notas fiscais, responsável por inserir várias notas fiscais na conta dos sellers de uma única vez.
Utilize o recurso de consulta de lotes para verificar o status do processamento do lote criado.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 10 |
{
"notasFiscais":[
{
"documento":"20542763000171",
"numero":"12312312",
"serie":"1",
"chave":"12312312312",
"descricao":"Intermediação de vendas",
"valor":100.00,
"dataEmissao":"2019-05-01 00:00:00",
"link":"http://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConteudo=XbSeqxE8pl8=&tipoConsulta=completa&nfe=12345678945612345612654687985653215461265",
"arquivoNfe": "JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL09..."
}
]
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| notasFiscais | Data Collection | Sim | Lote de notas fiscais Tamanho mínimo: 1 | Tamanho máximo: 100 |
| documento | String | Sim | Documento do seller que essa transação é direcionada Tamanho mínimo: 9 | Tamanho máximo: 14 |
| numero | String | Sim | Número da nota Tamanho mínimo: 1 | Tamanho máximo: 50 |
| serie | String | Não | Série da nota Tamanho mínimo: 1 | Tamanho máximo: 50 |
| chave | String | Não | Chave da nota Tamanho mínimo: 1 | Tamanho máximo: 50 |
| dataEmissao | String | Sim | Data de emissão da nota Formato esperado: 2019-05-11 22:15:00 |
| descricao | String | Sim | Descrição da operação (Ex. Intermediação de vendas) Tamanho mínimo: 1 | Tamanho máximo: 50 |
| valor | Number | Sim | Valor da nota Valor mínimo: 0.01 | Valor máximo: 999999.99 |
| link | String | Não | Link de acesso/download da nota Tamanho mínimo: 1 | Tamanho máximo: 250 URL válida: e.g. https://sualoja.com.br/retorno |
| arquivoNfe | String | Não | Base64 do arquivo da nota fiscal |
{
"id": 80
}
| Campo | Tipo | Descrição |
|---|---|---|
| id | Number | ID do lote gerado |
Recurso de criação em lote de convites de seller, responsável por inserir vários lotes de convite na fila para envio de e-mails em massa.
Após o lote cadastrado uma tarefa será agendada para envio dos convites por e-mail, podendo verificar os sellers vinculados ou aguardando no painel
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 10 |
{
"convites": [
{
"email": "email@dominio.com",
"loja": {
"nome": "Loja de teste",
"id": "strteste",
"nomeSeller": "Caio",
"tipoDoc": "cpf",
"numeroDoc": "xxx.xxx.xxx-xx",
"telContato": 18996976737,
"cep": 16204370,
"endereco": "Rua de testes",
"numero": 101,
"bairro": "Centro",
"cidade": "São Paulo",
"pais": "Brasil",
"estado": "SP"
}
},
{
"email": "example@dominio.com"
}
]
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| convites | Data Collection | Sim | Coleção de objetos para cadastro do convite |
| String | Sim | E-mail para onde será enviado o convite de vínculo ao marketplace | |
| loja | Object | Não | Campos necessários para criação da loja |
| nome | String | Sim | Nome da loja que será criada |
| id | String | Sim | ID da loja |
| nomeSeller | String | Sim | Nome do seller |
| tipoDoc | String | Sim | Tipo do documento que será utilizado para identificação Valores aceitos: cnpj, cpf, nif, vat |
| numeroDoc | String | Sim | Número do documento utilizado |
| telContato | Number | Sim | Número de contato do seller |
| cep | Number | Sim | Código postal da cidade |
| endereco | String | Sim | Endereço da integração |
| numero | Number | Sim | Número de endereço da integração |
| bairro | String | Sim | Bairro da integração |
| cidade | String | Sim | Cidade da integração |
| pais | String | Sim | País de localização da loja Valores aceitos: brasil, internacional |
| estado | String | Sim | Código UF do estado da integração | Exemplo: SP Tamanho mínimo: 2 | Tamanho máximo: 2 |
{
"resultados": {
"processados": [
"seller@uappi.com",
"example@dominio.com"
],
"erros": {
"emailsInvalidos": []
}
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| resultados | Object | Resultados do cadastro do lote |
| processados | Array | Array de e-mails processados e adicionados a fila |
| erros | Object | Objeto com retorno dos erros da requisição de lote |
| emailsInvalidos | Array | Array de e-mails inválidos no lote processado |
Recurso responsável por retornar todos os detalhes sobre o um lote, como seu status, itens processados, erros encontrados, data de criação e data de processamento de cada item.
Importante: Os lotes podem ser consultados via API até 10 dias após sua criação. Após esse período, os detalhes de um lote só poderão ser obtidos via chamado.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| /v1/batch/{id} | ID do lote |
{
"batchId": "80",
"requestId": "CI1O18G20190614104404P1560519844050X2326",
"data": "2019-05-14 13:44:04",
"tipo": "produto",
"acao": "atualizarEstoque",
"status": "processado",
"contemErros": true,
"observacoes": [
{
"identificador": "12345ABC",
"sucesso": true,
"info": "Ação executada com sucesso",
"data": "2019-05-14 10:44:10"
},
{
"identificador": "123456ABCD",
"sucesso": false,
"error": "Problemas ao executar ação",
"details": [
"SKU '123456ABCD' não encontrado"
],
"data": "2019-05-14 10:44:10"
}
]
}
| Campo | Tipo | Descrição |
|---|---|---|
| batchId | Number | ID do lote |
| requestId | String | ID da requisição |
| tipo | String | Tipo do lote (produto, pedido, lista de compra etc) |
| acao | String | Ação do lote (atualizarEstoque, atualizarProduto, etc) |
| data | String | Data de processamento do lote |
| status | String | Status do lote Valores aceitos: aguardando, processando, processado |
| contemErros | Boolean | Define se foram encontrado erros no processametno |
| observacoes | Data Collection | Observações sobre o processamento do lote |
| idLista | String | Identficador da lista |
| identificador | String | Identficador do item no lote (SKU do produto/variação, por exemplo) |
| sucesso | Boolean | Define se o item foi processado com sucesso |
| info | String | Informação sobre o processamento (retornado apenas em caso de sucesso) |
| error | String | Informação sobre o erro apresentado (retornado apenas em caso de erro) |
| details | Array de strings | Detalhes sobre o erro apresentado (retornado em alguns casos de erro) |
| data | String | Data de processamento do item |
Recurso responsável por listar todos os protocolos vinculados ao marketplace, ordenados por data de criação.
Neste recurso serão retornados os dados principais dos protocolos, e para mais detalhes poderá ser utilizado o endpoint de consulta individual de protocolos.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| Filtros | email: Filtra os protocolos por um e-mail que esteja vinculado ao perfil de origem ou de destino. Exemplo de requisição: /v1/protocols?email=alexandremedeiros@omni.com.br pedido: Filtra os protocolos por um pedido. O valor enviado deverá ser a referência do pedido no canal. Exemplo de requisição: /v1/protocols?pedido=123456 perfil: Filtra os protocolos por um perfil vinculado ao protocolo. Os valores aceitos são: 'cliente', 'seller' e 'marketplace'. Exemplo de requisição: /v1/protocols?perfil=cliente tipo: Filtra por um tipo específico de protocolo. Os valores aceitos por este filtro são: 'cancelamentoPedido' 'devolucaoPedido' e 'contestacaoRepasse'. Exemplo de requisição: /v1/protocols?tipo=cancelamentoPedido |
| Offset/Limit | Obrigatório o envio dos parâmetros offset e limit na URL da requisição. Exemplo de requisição: /v1/protocols?offset=0&limit=100 Valor máximo para o parâmetro limit: 100 |
{
"protocolos": [
{
"id": 23,
"assunto": "Garantia - Entrega Superior a 7 dias",
"origem": {
"perfil": "cliente",
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br"
},
"destino": {
"perfil": "seller",
"nome": "Seller Omni",
"email": "atendimento@selleromni.com.br"
},
"produto": {},
"pedido": {
"id": 192052,
"idPlataforma": 1052,
"idCanal": "123123176",
"referenciaCanal": "3737-1"
},
"seller": {
"id": 16,
"nome": "Seller Omni",
"cnpj": "11217233000167"
},
"ultimoInteragente": "cliente",
"status": "aberto",
"atendimento": "normal",
"cancelamentoPedido": false,
"devolucaoPedido": false,
"contestacaoRepasse": false,
"vencido": false,
"datas": {
"criacao": "2019-10-28 15:50:38",
"ultimaInteracao": "2019-10-28 15:50:38",
"vencimento": "2019-10-30 15:50:38"
}
}
],
"info": {
"filtros": {
"perfil": "cliente"
},
"prev": "",
"self": "https://api.sandbox.omni.wapstore.com.br/v1/protocols?offset=0&limit=100&perfil=cliente",
"next": "",
"offset": 0,
"limit": 100,
"exibindo": 1,
"total": 1
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| protocolos | Data Collection | Protocolos listados |
| id | Number | ID do protocolo no Hub de Marketplaces |
| assunto | String | Assunto do protocolo |
| origem | Object | Dados referentes à origem do protocolo |
| perfil | String | Perfil de origem |
| nome | String | Nome do responsável pela abertura do protocolo |
| String | E-mail do responsável pela abertura do protocolo | |
| destino | Object | Dados referentes ao destino do protocolo |
| perfil | String | Perfil de destino |
| nome | String | Nome do destinatário do protocolo |
| String | E-mail do destinatário do protocolo | |
| produto | Object | Dados do produto vinculado |
| sku | String | SKU do produto |
| pedido | Object | Dados do pedido vinculado |
| id | Number | ID do pedido dentro do Hub de Marketplaces |
| idPlataforma | Number | ID do pedido dentro da plataforma |
| idCanal | String | ID do subpedido no canal |
| referenciaCanal | String | Número do subpedido no canal |
| seller | Object | Dados do seller |
| id | Number | ID do seller no Hub de Marketplaces |
| nome | String | Nome do seller |
| cnpj | Number | CNPJ cadastrado pelo seller no Hub de Marketplaces |
| ultimoInteragente | String | Perfil responsável pela última interação no protocolo |
| status | String | Status atual do protocolo |
| atendimento | String | Define se o tipo de atendimento é normal ou mediado |
| cancelamentoPedido | Boolean | Define se o protocolo trata de uma solicitação de cancelamento de pedido. |
| devolucaoPedido | Boolean | Define se o protocolo trata de uma solicitação de devolução de pedido. |
| contestacaoRepasse | Boolean | Define se o protocolo trata uma solitação de repasse |
| vencido | Boolean | Define se o prazo para resposta está vencido. |
| datas | Object | Datas referentes ao protocolo |
| criacao | String | Data de criação Formato esperado: 2019-05-11 22:15:00 |
| ultimaInteracao | String | Data da última interação registrada Formato esperado: 2019-05-11 22:15:00 |
| vencimento | String | Data limite para o protocolo ser respondido Formato esperado: 2019-05-11 22:15:00 |
| info | Object | Informações sobre a listagem (paginação, filtros, total de itens, etc.) |
| filtros | Object (key/value) | Filtros aplicados na URL |
| prev | String | Página anterior |
| self | String | Página atual |
| next | String | Próxima página |
| offset | Number | Offset solicitado |
| limit | Number | Limit solicitado |
| exibindo | Number | Quantidade de registros sendo exibidos na página atual |
| total | Number | Total de registros em todas as páginas |
Recurso de consulta individual de protocolos responsável por retornar todos os dados de um protocolo.
Este pode estar vinculado a um pedido, produto, contrato, financeiro ou geral.
Utilize o recurso de consulta de mensagens para buscar as mensagens referentes a um protocolo.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| /v1/protocols/{id} | ID do protocolo |
{
"id": 30,
"assunto": "Cancelamento - Desistência",
"origem": {
"perfil": "cliente",
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br"
},
"destino": {
"perfil": "seller",
"nome": "Seller Omni",
"email": "atendimento@selleromni.com.br"
},
"pedido": {
"idPedido": 192052,
"idPlataforma": 1052,
"idPedidoCanal": "123123176",
"referenciaPedidoCanal": "3737-1",
"dataEmissao": "2019-08-09 14:32:28",
"dataIntegracao": "2019-08-09 15:00:20",
"status": 1,
"canal": {
"canal": "Wapstore Marketplace",
"canalIntegracao": "Loja marketplace",
"hashCanal": "wapstoremarketplace"
},
"cliente": {
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br",
"cpfCnpj": "45925807022",
"pessoa": "m",
"telefone": "",
"celular": "(11) 99123-4567"
},
"entrega": {
"cep": "16202999",
"destinatario": "Alexandre Medeiros",
"endereco": "Rua Teste",
"bairro": "Centro",
"cidade": "São Paulo",
"uf": "SP",
"numero": "123",
"complemento": "Fundos",
"referencia": "",
"prazoEntrega": "7 dias úteis",
"tipoFrete": "1972",
"codigoRastreio": "",
"linkRastreio": ""
},
"valores": {
"subtotal": 900,
"frete": 12.87,
"desconto": 0,
"total": 912.87
},
"fiscal": {
"nfeSerie": "",
"nfeNumero": "",
"nfeChave": ""
}
},
"produto": {},
"seller": {
"id": 16,
"nome": "Seller Omni",
"cnpj": "11217233000167"
},
"cancelamentoPedido": {
"status": "aberto",
"comissaoRetida": false
},
"devolucaoPedido": {},
"contestacaoRepasse": {},
"ultimoInteragente": "cliente",
"status": "aberto",
"atendimento": "normal",
"vencido": false,
"datas": {
"criacao": "2019-10-28 15:50:38",
"ultimaInteracao": "2019-10-28 15:50:38",
"vencimento": "2019-10-30 15:50:38",
"finalizacao": ""
}
}
{
"id": 30,
"assunto": "Cadastro de produto - Outros",
"origem": {
"perfil": "seller",
"nome": "Seller Omni",
"email": "atendimento@selleromni.com.br"
},
"destino": {
"perfil": "marketplace",
"nome": "Wapstore Marketplace",
"email": "atendimento@marketplacewapstore.com.br"
},
"pedido": {},
"produto": {
"skuProduto": "testecsv",
"nome": "Primeiro produto P",
"ativo": true,
"precoDe": "459.99",
"precoPor": "429.00",
"precoDeMidia": "459.99",
"precoPorMidia": "429.00",
"estoque": "12"
},
"seller": {
"id": 16,
"nome": "Seller Omni",
"cnpj": "11217233000167"
},
"cancelamentoPedido": {},
"devolucaoPedido": {},
"contestacaoRepasse": {},
"ultimoInteragente": "seller",
"status": "aberto",
"atendimento": "normal",
"vencido": false,
"datas": {
"criacao": "2019-10-28 15:50:38",
"ultimaInteracao": "2019-10-28 15:50:38",
"vencimento": "2019-10-30 15:50:38",
"finalizacao": ""
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| id | Number | ID do protocolo no Hub de Marketplaces |
| assunto | String | Assunto do protocolo |
| origem | Object | Dados referentes à origem do protocolo |
| perfil | String | Perfil de origem |
| nome | String | Nome do responsável pela abertura do protocolo |
| String | E-mail do responsável pela abertura do protocolo | |
| destino | Object | Dados referentes ao destino do protocolo |
| perfil | String | Perfil de destino |
| nome | String | Nome do destinatário do protocolo |
| String | E-mail do destinatário do protocolo | |
| pedido | Object | Dados do pedido relacionado |
| idPedido | Number | ID do pedido dentro do Hub de Marketplaces (utilizado para alterações de status e consulta do pedido) |
| idPlataforma | Number | ID do pedido dentro do marketplace |
| idPedidoCanal | String | Código de referência do pedido no canal. Exemplo: pedidos da B2W possuem um código dentro da B2W (referenciaPedidoCanal) e outro código dentro da SkyHub (idPedidoCanal) |
| referenciaPedidoCanal | String | Referência do pedido dentro do seu sistema |
| dataEmissao | String | Data da emissão do pedido no marketplace Formato esperado: 2019-05-11 22:15:00 |
| dataIntegracao | String | Data que o pedido foi integrado no Hub de Marketplaces Formato esperado: 2019-05-11 22:15:00 |
| status | Number | Status do pedido no Hub de Marketplaces (veja os status disponíveis nas referências) |
| canal | Object | Dados do canal que gerou o pedido |
| canal | String | Nome do canal em que o pedido foi gerado (nome do canal dentro do marketplace. Exemplo: Lojas Americanas) |
| canalIntegracao | String | Nome do canal de integração no Hub de Marketplaces (nome adicionado pelo Seller ao adicionar um canal de marketplace no Hub de Marketplaces. Exemplo: B2W) |
| hashCanal | String | Hash do canal dentro do Hub de Marketplaces (veja as hashes disponíveis nas referências dos canais) |
| cliente | Object | Dados do cliente |
| nome | String | Nome completo ou razão social do cliente |
| String | E-mail do cliente | |
| cpfCnpj | String | CPF ou CNPJ do cliente |
| pessoa | String | Pessoa física (f) ou jurídica (j) |
| telefone | String | Telefone do cliente |
| celular | String | Celular do cliente |
| entrega | Object | Dados da entrega |
| cep | String | CEP de entrega |
| destinatario | String | Nome do destinatário |
| endereco | String | Nome da rua ou avenida |
| bairro | String | Nome do bairro |
| cidade | String | Nome da cidade |
| uf | String | Estado de destino |
| numero | Number | Número da casa |
| complemento | String | Complemento do endereço |
| referencia | String | Ponto de referência |
| prazoEntrega | String | Prazo de entrega em dias úteis |
| tipoFrete | String | Código de identificação do frete enviado pelo Marketplace (em alguns marketplaces esse código é específico do marketplace, em outros é o nome da tabela de contingência ou o nome retornado na API de fretes) |
| codigoRastreio | String | Código de rastreio do pedido |
| linkRastreio | String | URL de rastreio do pedido |
| valores | Object | Valores do pedido |
| subtotal | Number | Valor cobrado dos itens |
| frete | Number | Valor cobrado de frete |
| desconto | Number | Valor do desconto aplicado |
| total | Number | Valor total do pedido (frete + itens - desconto) |
| fiscal | Object | Dados da nota fiscal |
| nfeSerie | String | Número da série nota fiscal eletrônica |
| nfeNumero | String | Número da nota fiscal eletrônica |
| nfeChave | String | Chave da nota fiscal eletrônica |
| produto | Object | Dados do produto vinculado |
| skuProduto | String | SKU do produto |
| nome | String | Nome do produto |
| ativo | Boolean | Status do produto |
| precoDe | Number | Preço 'de' do produto |
| precoPor | Number | Preço 'por' do produto |
| precoDeMidia | Number | Preço 'de' do produto para canais de mídia (Google Shopping, Buscapé, etc) |
| precoPorMidia | Number | Preço 'por' do produto para canais de mídia (Google Shopping, Buscapé, etc) |
| estoque | Number | Estoque do produto |
| seller | Object | Dados do seller |
| id | Number | ID do seller no Hub de Marketplaces |
| nome | String | Nome do seller |
| cnpj | Number | CNPJ cadastrado pelo seller no Hub de Marketplaces |
| cancelamentoPedido | Object | Se o protocolo for referente a um cancelamento de pedido, este nó trará os dados da solicitação. |
| status | String | Status da solicitação |
| comissaoRetida | Boolean | Define se a comissão do pedido será retida pelo marketplace |
| devolucaoPedido | Object | Se o protocolo for referente a uma devolução de pedido, este nó trará os dados da solicitação. |
| status | String | Status da solicitação |
| comissaoRetida | Boolean | Define se a comissão do pedido será retida pelo marketplace |
| contestacaoRepasse | Object | Dados referentes à contestação de repasse. |
| contestado | Boolean | Define se o protocolo trata uma contestação de repasse |
| ajustes | Data Collection | Lançamentos criados na conta corrente para corrigir o repasse contestado. |
| ultimoInteragente | String | Perfil responsável pela última interação no protocolo |
| status | String | Status atual do protocolo |
| atendimento | String | Define se o tipo de atendimento é normal ou mediado |
| vencido | Boolean | Define se o prazo para resposta está vencido. |
| datas | Object | Datas relacionadas ao protocolo |
| criacao | String | Data em que o protocolo foi criado Formato esperado: 2019-05-11 22:15:00 |
| ultimaInteracao | String | Data que ocorreu a última interação no protocolo Formato esperado: 2019-05-11 22:15:00 |
| vencimento | String | Data limite para o protocolo ser respondido Formato esperado: 2019-05-11 22:15:00 |
| finalizacao | String | Informa a data de finalização do protocolo, caso o seu status seja 'Finalizado' |
Recurso responsável por listar todas as mensagens de um protocolo, ordenados por data de envio.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 200 Ok |
| Offset/Limit | Obrigatório o envio dos parâmetros offset e limit na URL da requisição. Exemplo de requisição: /v1/protocols/{id}/messages?offset=0&limit=100 Valor máximo para o parâmetro limit: 100 |
{
"mensagens": [
{
"id": 84,
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br",
"tipo": "texto",
"texto": "Conteúdo da mensagem",
"anexos": [],
"origem": "cliente",
"destino": "seller",
"mediacao": false,
"mensagemAutomatica": false,
"data": "2019-09-16 14:33:23"
}
],
"info": {
"filtros": [],
"prev": "",
"self": "https://api.sandbox.omni.wapstore.com.br/v1/protocols/30/message?offset=0&limit=100",
"next": "",
"offset": 0,
"limit": 100,
"exibindo": 1,
"total": 1
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| mensagens | Data Collection | Mensagens listadas |
| id | Number | ID da mensagem |
| nome | String | Nome do remetente |
| String | E-mail do remetente | |
| tipo | String | Define se a mensagem é do tipo 'texto' ou 'anexo' |
| texto | String | Conteúdo em texto da mensagem |
| anexos | Data Collection | Anexos enviados na mensagem |
| origem | String | Perfil de origem da mensagem |
| destino | String | Perfil de destino da mensagem |
| mediacao | Boolean | Define se a mensagem é referente a uma mediação |
| mensagemAutomatica | Boolean | Define se é uma mensagem automática |
| data | String | Data de envio da mensagem Tamanho mínimo: 1 | Tamanho máximo: 250 Formato esperado: 2019-05-11 22:15:00 |
| info | Object | Informações sobre a listagem (paginação, filtros, total de itens, etc.) |
| filtros | Object (key/value) | Filtros aplicados na URL |
| prev | String | Página anterior |
| self | String | Página atual |
| next | String | Próxima página |
| offset | Number | Offset solicitado |
| limit | Number | Limit solicitado |
| exibindo | Number | Quantidade de registros sendo exibidos na página atual |
| total | Number | Total de registros em todas as páginas |
Recurso responsável por criar protocolos. Cada protocolo poderá ser referente a um pedido, produto, contrato, financeiro ou geral.
Importante:
Protocolos vinculados a um pedido, deverá conter um valor válido no campo idPedidoPlataforma.
Protocolos vinculado a um produto, deverá conter um valor válido no campo skuProduto.
Protocolos de cancelamento e devolução de pedidos:
Como regra de negócio, todo cancelamento e devolução de pedido que contenha um ou mais produtos de marketplace, deverá passar pela abertura de um protocolo.
Para isso, é necessário preencher o campo acao com a ação responsável por cancelamento e devolução de pedidos.
Protocolos de contestação de repasses:
Outra modalidade de protocolo disponível é a de contestação de repasses. Através dela, é possível contestar os lançamentos na conta corrente referentes a um pedido.
Para isso, é necessário preencher o campo acao com a ação responsável por contestação de repasse de pedidos.
Importante: Ao iniciar uma contestação de repasse, os lançamentos do pedido ficarão com status 'bloqueado' até que o protocolo seja finalizado.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 60 |
{
"idSeller": 16,
"pedido": "3737-1",
"skuProduto": "",
"assunto": "Cancelamento de pedido",
"acao": "cancelamentoPedido",
"origem": {
"tipo": "cliente",
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br"
},
"destino": {
"tipo": "seller",
"nome": "Seller Omni",
"email": "atendimento@selleromni.com.br"
},
"mensagem": {
"texto": "Mensagem de teste",
"anexos": [
"https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/imagem.jpg",
"https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/arquivo.pdf"
]
}
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| idSeller | Number | Sim | ID do seller Valor mínimo: 1 |
| pedido | String | Sim | Referência do pedido dentro do canal (quando relacionado a um pedido) |
| skuProduto | String | Sim | SKU do produto relacionado (quando relacionado a um produto) Tamanho máximo: 250 |
| assunto | String | Sim | Assunto do protocolo Tamanho máximo: 250 |
| acao | String | Não | Ação relacionada a abertura do protocolo Valores aceitos: cancelamentoPedido, devolucaoPedido, contestacaoRepasse |
| origem | Object | Sim | Informações sobre a origem do protocolo |
| tipo | String | Sim | Perfil de origem Tamanho mínimo: 1 | Tamanho máximo: 250 |
| nome | String | Sim | Nome de quem abriu o protocolo Tamanho mínimo: 1 | Tamanho máximo: 250 |
| String | Sim | E-mail de quem abriu o protocolo Tamanho mínimo: 1 | Tamanho máximo: 250 |
|
| destino | Object | Sim | Informações sobre o destino do protoclo |
| tipo | String | Sim | Perfil de destino Tamanho mínimo: 1 | Tamanho máximo: 250 |
| nome | String | Sim | Nome do destino do protocolo Tamanho mínimo: 1 | Tamanho máximo: 250 |
| String | Sim | E-mail do destino do protocolo Tamanho mínimo: 1 | Tamanho máximo: 250 |
|
| mensagem | Object | Sim | Dados referente à mensagem |
| texto | String | Sim | Mensagem de texto enviada Tamanho mínimo: 1 | Tamanho máximo: 250 |
| anexos | Array de strings | Sim | Anexos da mensagem |
{
"id": 30,
"assunto": "Cancelamento - Desistência",
"origem": {
"perfil": "cliente",
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br"
},
"destino": {
"perfil": "seller",
"nome": "Seller Omni",
"email": "atendimento@selleromni.com.br"
},
"pedido": {
"idPedido": 192052,
"idPlataforma": 1052,
"idPedidoCanal": "123123176",
"referenciaPedidoCanal": "3737-1",
"dataEmissao": "2019-08-09 14:32:28",
"dataIntegracao": "2019-08-09 15:00:20",
"status": 1,
"canal": {
"canal": "Wapstore Marketplace",
"canalIntegracao": "Loja marketplace",
"hashCanal": "wapstoremarketplace"
},
"cliente": {
"nome": "Alexandre Medeiros",
"email": "alexandremedeiros@omni.com.br",
"cpfCnpj": "45925807022",
"pessoa": "m",
"telefone": "",
"celular": "(11) 99123-4567"
},
"entrega": {
"cep": "16202999",
"destinatario": "Alexandre Medeiros",
"endereco": "Rua Teste",
"bairro": "Centro",
"cidade": "São Paulo",
"uf": "SP",
"numero": "123",
"complemento": "Fundos",
"referencia": "",
"prazoEntrega": "7 dias úteis",
"tipoFrete": "1972",
"codigoRastreio": "",
"linkRastreio": ""
},
"valores": {
"subtotal": 900,
"frete": 12.87,
"desconto": 0,
"total": 912.87
},
"fiscal": {
"nfeSerie": "",
"nfeNumero": "",
"nfeChave": ""
}
},
"produto": {},
"seller": {
"id": 16,
"nome": "Seller Omni",
"cnpj": "11217233000167"
},
"cancelamentoPedido": {
"status": "aberto",
"comissaoRetida": false
},
"devolucaoPedido": {},
"contestacaoRepasse": {},
"ultimoInteragente": "cliente",
"status": "aberto",
"atendimento": "normal",
"vencido": false,
"datas": {
"criacao": "2019-10-28 15:50:38",
"ultimaInteracao": "2019-10-28 15:50:38",
"vencimento": "2019-10-30 15:50:38",
"finalizacao": ""
}
}
| Campo | Tipo | Descrição |
|---|---|---|
| id | Number | ID do protocolo no Hub de Marketplaces |
| assunto | String | Assunto do protocolo |
| origem | Object | Dados referentes à origem do protocolo |
| perfil | String | Perfil de origem |
| nome | String | Nome do responsável pela abertura do protocolo |
| String | E-mail do responsável pela abertura do protocolo | |
| destino | Object | Dados referentes ao destino do protocolo |
| perfil | String | Perfil de destino |
| nome | String | Nome do destinatário do protocolo |
| String | E-mail do destinatário do protocolo | |
| pedido | Object | Dados do pedido relacionado |
| idPedido | Number | ID do pedido dentro do Hub de Marketplaces (utilizado para alterações de status e consulta do pedido) |
| idPlataforma | Number | ID do pedido dentro do marketplace |
| idPedidoCanal | String | Código de referência do pedido no canal. Exemplo: pedidos da B2W possuem um código dentro da B2W (referenciaPedidoCanal) e outro código dentro da SkyHub (idPedidoCanal) |
| referenciaPedidoCanal | String | Referência do pedido dentro do seu sistema |
| dataEmissao | String | Data da emissão do pedido no marketplace Formato esperado: 2019-05-11 22:15:00 |
| dataIntegracao | String | Data que o pedido foi integrado no Hub de Marketplaces Formato esperado: 2019-05-11 22:15:00 |
| status | Number | Status do pedido no Hub de Marketplaces (veja os status disponíveis nas referências) |
| canal | Object | Dados do canal que gerou o pedido |
| canal | String | Nome do canal em que o pedido foi gerado (nome do canal dentro do marketplace. Exemplo: Lojas Americanas) |
| canalIntegracao | String | Nome do canal de integração no Hub de Marketplaces (nome adicionado pelo Seller ao adicionar um canal de marketplace no Hub de Marketplaces. Exemplo: B2W) |
| hashCanal | String | Hash do canal dentro do Hub de Marketplaces (veja as hashes disponíveis nas referências dos canais) |
| cliente | Object | Dados do cliente |
| nome | String | Nome completo ou razão social do cliente |
| String | E-mail do cliente | |
| cpfCnpj | String | CPF ou CNPJ do cliente |
| pessoa | String | Pessoa física (f) ou jurídica (j) |
| telefone | String | Telefone do cliente |
| celular | String | Celular do cliente |
| entrega | Object | Dados da entrega |
| cep | String | CEP de entrega |
| destinatario | String | Nome do destinatário |
| endereco | String | Nome da rua ou avenida |
| bairro | String | Nome do bairro |
| cidade | String | Nome da cidade |
| uf | String | Estado de destino |
| numero | Number | Número da casa |
| complemento | String | Complemento do endereço |
| referencia | String | Ponto de referência |
| prazoEntrega | String | Prazo de entrega em dias úteis |
| tipoFrete | String | Código de identificação do frete enviado pelo Marketplace (em alguns marketplaces esse código é específico do marketplace, em outros é o nome da tabela de contingência ou o nome retornado na API de fretes) |
| codigoRastreio | String | Código de rastreio do pedido |
| linkRastreio | String | URL de rastreio do pedido |
| valores | Object | Valores do pedido |
| subtotal | Number | Valor cobrado dos itens |
| frete | Number | Valor cobrado de frete |
| desconto | Number | Valor do desconto aplicado |
| total | Number | Valor total do pedido (frete + itens - desconto) |
| fiscal | Object | Dados da nota fiscal |
| nfeSerie | String | Número da série nota fiscal eletrônica |
| nfeNumero | String | Número da nota fiscal eletrônica |
| nfeChave | String | Chave da nota fiscal eletrônica |
| produto | Object | Dados do produto vinculado |
| skuProduto | String | SKU do produto |
| nome | String | Nome do produto |
| ativo | Boolean | Status do produto |
| precoDe | Number | Preço 'de' do produto |
| precoPor | Number | Preço 'por' do produto |
| precoDeMidia | Number | Preço 'de' do produto para canais de mídia (Google Shopping, Buscapé, etc) |
| precoPorMidia | Number | Preço 'por' do produto para canais de mídia (Google Shopping, Buscapé, etc) |
| estoque | Number | Estoque do produto |
| seller | Object | Dados do seller |
| id | Number | ID do seller no Hub de Marketplaces |
| nome | String | Nome do seller |
| cnpj | Number | CNPJ cadastrado pelo seller no Hub de Marketplaces |
| cancelamentoPedido | Object | Se o protocolo for referente a um cancelamento de pedido, este nó trará os dados da solicitação. |
| status | String | Status da solicitação |
| comissaoRetida | Boolean | Define se a comissão do pedido será retida pelo marketplace |
| devolucaoPedido | Object | Se o protocolo for referente a uma devolução de pedido, este nó trará os dados da solicitação. |
| status | String | Status da solicitação |
| comissaoRetida | Boolean | Define se a comissão do pedido será retida pelo marketplace |
| contestacaoRepasse | Object | Dados referentes à contestação de repasse. |
| contestado | Boolean | Define se o protocolo trata uma contestação de repasse |
| ajustes | Data Collection | Lançamentos criados na conta corrente para corrigir o repasse contestado. |
| ultimoInteragente | String | Perfil responsável pela última interação no protocolo |
| status | String | Status atual do protocolo |
| atendimento | String | Define se o tipo de atendimento é normal ou mediado |
| vencido | Boolean | Define se o prazo para resposta está vencido. |
| datas | Object | Datas relacionadas ao protocolo |
| criacao | String | Data em que o protocolo foi criado Formato esperado: 2019-05-11 22:15:00 |
| ultimaInteracao | String | Data que ocorreu a última interação no protocolo Formato esperado: 2019-05-11 22:15:00 |
| vencimento | String | Data limite para o protocolo ser respondido Formato esperado: 2019-05-11 22:15:00 |
| finalizacao | String | Informa a data de finalização do protocolo, caso o seu status seja 'Finalizado' |
Recurso responsável por criar mensagens em um protocolo.
A cada envio, o nó 'mensagem' poderá conter uma mensagem de texto e um ou mais anexos.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 60 |
{
"idSeller": 16,
"origem": "cliente",
"destino": "seller",
"mensagem": {
"texto": "Mensagem de teste",
"anexos": [
"https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/imagem.jpg",
"https://api.sandbox.omni.wapstore.com.br/upload/protocolo/chat/arquivo.pdf"
]
}
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| idSeller | Number | Sim | ID do seller Valor mínimo: 1 |
| origem | String | Sim | Perfil de origem da mensagem Tamanho mínimo: 1 | Tamanho máximo: 250 |
| destino | String | Sim | Perfil de destino da mensagem Tamanho mínimo: 1 | Tamanho máximo: 250 |
| mensagem | Object | Sim | Dados referente à mensagem |
| texto | String | Sim | Mensagem de texto enviada |
| anexos | Array de strings | Sim | Anexos da mensagem |
{
"status": true
}
| Campo | Tipo | Descrição |
|---|---|---|
| success | Boolean | Success |
Recurso responsável por confirmar ou revogar uma solicitação de cancelamento de pedido.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 60 |
{
"status": "confirmado",
"comissaoRetida": true
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| status | String | Sim | Novo status da solicitação Valores aceitos: confirmado, revogado |
| comissaoRetida | Boolean | Sim | Define se haverá retenção da comissão. |
Recurso responsável por confirmar ou revogar uma solicitação de devolução de pedido.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 60 |
{
"status": "confirmado",
"comissaoRetida": false
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| status | String | Sim | Novo status da solicitação Valores aceitos: confirmado, revogado |
| comissaoRetida | Boolean | Sim | Define se haverá retenção da comissão. |
Recurso responsável por víncular uma etiqueta ao pedido na loja.
| Informações do endpoint | |
|---|---|
| Ambiente | Sandbox / Produção |
| Status de Sucesso | 201 Created |
| Limite de requisições por minuto | 40 |
{
"orderId": "175XPCAP21564564QE",
"sellerId": 1,
"shipmentContent": "JVBERi0xLjQKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDIgMCBSCj4+CmVuZG9iagoKMiAwIG9iago8PCAvVHlwZSAvUGFnZXMKL0tpZHMgWzMgMCBSXQovQ291bnQgMQo+PgplbmRvYmoKCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovQ29udGVudHMgNCAwIFIKL1Jlc291cmNlcyA8PCAvRm9udCA8PCAvRjEgNSAwIFI+PiA+Pgo+PgplbmRvYmoKCjQgMCBvYmoKPDwgL0xlbmd0aCA0NAo+PgpzdHJlYW0KQlQKL0YxIDI0IFRmCjEwMCA3MDAgVGQKKFBERiBURVNURSBCQVNFMjQpIFRqCkVUCmVuZHN0cmVhbQplbmRvYmoKCjUgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDk3IDAwMDAwIG4gCjAwMDAwMDAxNjUgMDAwMDAgbiAKMDAwMDAwMDI2NSAwMDAwMCBuIAowMDAwMDAwMzU0IDAwMDAwIG4gCjAwMDAwMDA0NDQgMDAwMDAgbiAKdHJhaWxlcgo8PCAvUm9vdCAxIDAgUgovU2l6ZSA2Cj4+CnN0YXJ0eHJlZgo1NTIKJSVFT0YK",
"type": "pdf"
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| orderId | String | Sim | ID do pedido no marketplace |
| sellerId | Number | Sim | ID do seller no marketplace |
| shipmentContent | String | Sim | Conteúdo da remessa no formato base64 (etiqueta) |
| type | String | Sim | Extensão do arquivo disponibilizado em base64 Valores aceitos: zpl, pdf |
Status válidos para pedidos no Hub de Marketplaces.
| Hash | Status |
|---|---|
| novo | Aguardando Pagamento |
| pago | Pago |
| faturado | Pedido Faturado |
| enviado | Pedido Enviado |
| entregue | Entrega Realizada |
| cancelado | Pedido Cancelado |
Canais de Marketplace integrados com o Hub de Marketplaces.
| Hash | Canal | Canais de Venda |
|---|---|---|
| amazon | Amazon | Amazon |
| anymarket | Anymarket | Anymarket |
| b2w | B2W | Americanas, Submarino e Shoptime |
| carrefour | Carrefour | Carrefour |
| colombo | Colombo | Colombo |
| dafiti | Dafiti | Dafiti |
| kabum | Kabum | Kabum |
| leroymerlin | Leroy Merlin | Leroy Merlin |
| madeiramadeira | Madeira Madeira | Madeira Madeira |
| magazineluiza | Magazine Luiza | Magazine Luiza |
| mercadolivre | Mercado Livre | Mercado Livre |
| merchantcenter | Merchant Center | Merchant Center Mídia |
| olist | Olist | Olist |
| pluggto | Plugg.to | Plugg.to |
| ricardoeletro | Ricardo Eletro | Ricardo Eletro |
| shopee | Shopee | Shopee |
| cnova | Via Marketplace | Ponto Frio, Casas Bahia e Extra |
| vtex | Vtex | Vtex |
| walmart | Walmart | Walmart |
| wapstoremarketplace | wap.store marketplace | Wapstore Marketplace |
| westwing | Westwing | Integração de pedido do site Westwing |
| xmlgenerico | XML Genérico (mídias) | XML Genérico para as mídias |
| zoom | Zoom | Zoom marketplace |
| zoombuscapev2 | Zoom Buscape V2 | Zoom Buscape V2 Mídia |
Códigos de retorno HTTP para os recursos da API.
| Código | Status | Descrição | Tipo |
|---|---|---|---|
| 200 | OK | Retorno de sucesso para consulta e alterações de dados (exceto em lote) | Sucesso |
| 201 | Created | Retorno de sucesso para criação de dados (pedidos, produtos, lotes, etc) | Sucesso |
| 204 | No Content | Retorno de sucesso para os métodos para ações que não necessitam de um corpo de retorno, como exclusões, por exemplo. | Sucesso |
| 400 | Bad Request | Retorno de erro quando algo na requisição enviada não está de acordo com o esperado pelas APIs. | Erro |
| 401 | Unauthorized | Retorno de erro quando o token do app ou da integração são inválidos ou não foram informados. | Erro |
| 404 | Not Found | Retorno de erro quando o recurso solicitado não existe (endpoint, produto, pedido, etc). | Erro |
| 406 | Not Acceptable | Retorno de erro quando o endpoint for acessado sem HTTPS. | Erro |
| 429 | Too Many Requests | Retorno de erro quando o limite de requisições para o recurso solicitado for atigindo. | Erro |
| 500 | Internal Server Error | Retorno de erro quando o um problema inesperado impedir o funcionamento correto da API. Caso o erro persista, entre em contato com o suporte. | Erro |
| 503 | Service Unavailable | Retorno de erro quando o serviço de um recuso ou do sistema não estiver disponível. Caso o erro persista, entre em contato com o suporte. | Erro |