Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

146
Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017 ZoneSoft - 2016 www.zonesoft.pt ZSAPI 1 / 144

Transcript of Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Page 1: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Manual de Integração ZSAPI

Versão: 1.8 Draft 2

Março, 2017

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 1 / 144

Page 2: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Alterações Introdução Nota Legal Termos usados neste documento

Nomenclaturas Pedidos | Requests Respostas

Respostas - Listagens Acesso

Interfaces ZSAPI Interface::Auth

Ação::authenticate Ação::logout

Interface::SalesSessions Ação::getSaleSession Ação::closeSaleSession Ação::getSalesDay Ação::saveSalesDaysInstances Ação::getOpenSaleSession Ação::saveSaleSession

Interface::Documents Ação::getInstance Ação::getInstances Ação::getDocumentsHeaders Ação::saveInstances Ação::setDocumentNull - deprecated na versão 1.5. Substituída por setInstanceAsNulled Ação::setInstanceAsNulled Ação::getSale - deprecated na versão 1.5. Substituída por getSaleInstance Ação::getSaleInstance Ação::getSalesFromDocument - deprecated na versão 1.5. Substituída por getSaleInstancesFromDocument Ação::getSaleInstancesFromDocument Ação::getPaymentDocsFromDocument - deprecated na versão 1.5. Substituída por getPaymentDocInstancesFromDocument Ação::getPaymentDocInstancesFromDocument Ação::getCounterBalancesFromDocument - deprecated na versão 1.5. Substituída por getCounterBalancesInstancesFromDocument Ação::getCounterBalancesInstancesFromDocument

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 2 / 144

Page 3: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::saveATCode Ação::getNumberDS - deprecated na versão 1.5. Substituída por getNumberDSInstances Ação::getNumberDSInstances Ação::saveNumberDS - deprecated na versão 1.5. Substituída por saveNumberDSInstances Ação::saveNumberDSInstances Ação::saveATInstance - deprecated na versão 1.5. Substituída por saveATTransportInstance Ação::saveATTransportInstance

Interface::Products Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getInstancesToDelete

Interface::ExemptionReasons Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getInstancesToDelete

Interface::Stores Ação::getInstance Ação::getInstances Ação::saveInstances Ação::getInstanceWithSettings

Interface::Units Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getInstancesToDelete

Interface::Families Ação::getInstance

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 3 / 144

Page 4: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getSubFamily - deprecated na versão 1.5. Substituída por getSubFamilyInstance Ação::getSubFamilyInstance Ação::getSubFamiliesFromFamily - deprecated na versão 1.5. Substituída por getSubFamiliesInstancesFromFamily Ação::getSubFamiliesInstancesFromFamily Ação::saveSubFamilies - deprecated na versão 1.5. Substituída por saveSubFamiliesInstances Ação::saveSubFamiliesInstances Ação::deleteSubFamilies - deprecated na versão 1.5. Substituída por deleteSubFamiliesInstances Ação::deleteSubFamiliesInstances Ação::getSubFamiliesToSync - deprecated na versão 1.5. Substituída por getSubFamiliesInstancesToSync Ação::getSubFamiliesInstancesToSync Ação::setSubFamiliesFullSync Ação::getInstancesToDelete Ação::getSubFamiliesToDelete - deprecated na versão 1.5. Substituída por getSubFamiliesInstancesToDelete Ação::getSubFamiliesInstancesToDelete

Interface::PaymentTypes Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getInstancesToDelete

Interface::Taxes Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::deactivateTaxes - deprecated na versão 1.5. Substituída por

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 4 / 144

Page 5: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

setInstancesAsInactive Ação::setInstancesAsInactive Ação::getActiveTaxes - deprecated na versão 1.5. Substituída por getActiveInstances Ação::getActiveInstances Ação::getInstancesToDelete

Interface::Clients Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::deactivateClients - deprecated na versão 1.5. Substituída por setInstancesAsInactive Ação::setInstancesAsInactive Ação::getInstancesToDelete

Interface::Operators Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getActiveOperators - deprecated na versão 1.5. Substituída por getActiveInstances Ação::getActiveInstances Ação::getInactiveOperators - deprecated na versão 1.5. Substituída por getInactiveInstances Ação::getInactiveInstances

Interface::SalesStations Ação::getInstance Ação::getInstanceWithSettings Ação::getInstances Ação::getInstancesWithSettings Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::getInstancesToDelete

Interface::ProductStocks Ação::getCurrentStockInstances

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 5 / 144

Page 6: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getStockInstanceByDate Ação::getCurrentStockInStores

Interface::Suppliers Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::getInstancesToDelete

Interface::Characteristics Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::getInstancesToDelete

Interface::Couverts Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::getInstancesToDelete

Interface::Technicalcards Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::getInstancesToDelete

Interface::ReasonBreaks Ação::getInstance Ação::getInstances Ação::saveInstances Ação::deleteInstances Ação::getInstancesToSync Ação::setFullSync Ação::getInstancesToDelete

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 6 / 144

Page 7: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Alterações Este histórico de alterações tem como referência a versão Draft1 da Documentação Manual de Integração da ZSAPI.

Data Interface Descrição

2013-08-02 - - - v1.0

2013-08-28 Todas - Implementadas várias novas ações em praticamente todas as Interfaces da API; - Implementadas novas Interfaces da API; - Alterado nome de algumas das ações previamente existentes, implementando a convenção interna para padronizar o nome das ações das interfaces. - Alterações nas estruturas de entidades. - Adicionada à documentação a tabela de Convenções para alguns tipos de dados utilizados nos Requests.

2013-08-18 Todas v1.3 - Estruturas das Entidades foram atualizadas para a versão 1.3; - Nova Interface SalesStations; - Nas Interfaces foi adicionada nova ação getInstancesToDelete: para obter as instancias das respetivas Entidades Modelo, assinaladas para serem removidas: deve confirmar as Interfaces abrangidas; - Nova propriedade _errors nas instancias com erros: ver secção Respostas status: ZSAPI_UNPROCESSABLE_ENTITY;

2014-05-12 Productstocks Corrigida a estrutura de pedidos na ação getStockInstanceByDate

2014-07-03 Suppliers - Nova Interface Suppliers

2014-07-28 Characteristics - Nova Interface Characteristics

2014-10-01 Documents Adicionada funcionalidade para permitir a integração de

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 7 / 144

Page 8: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

documentos originados em outras softwares certicados pela AT.

2014-12-11 Endereço do serviço Novo endereço: api.zonesoft.org Endereço anterior: api.zsrestweb.com será mantido até novembro de 2015

2015-04-01 - Couverts, Technicalcards, Tablemovements. - Clients, Documents, Families, Operators, Taxes.

v1.5 - Nova Interface Technicalcards - Nova Interface Couverts. - Nova Interface Tablemovements. Ações marcadas como deprecated nas Interfaces: - Clients - Documents - Families - Operators - Taxes devem ser substiuídas pelas novas ações.

2016-11-01 -SalesDay -Stores

v1.6 - SalesDay , passa a poder receber argumentos. - Stores , getinstances BUGFIX

2017-01-01 - ReasonBreak (motivos de quebra) - Tablemovements

v1.7 - Nova Interface ReasonBreak - Nova Ação Tablemovements/ getTableDetails

2017-06-01 - Categories - ReasonBreak (motivos de quebra)

v1.8 - Nova Interface Categories - Nova Interface ReasonBreak

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 8 / 144

Page 9: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Introdução O presente documento visa descrever os procedimentos e requisitos necessários à utilização da API da ZoneSoft - ZSAPI. Este documento destina-se aos nosso clientes que pretendam desenvolver soluções que possibilitem integrar outros serviços com os nossos serviços utilizando as diversas operações disponibilizadas pela nossa API.

Nota Legal

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 9 / 144

Page 10: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Termos usados neste documento Request - O pedido http propriamente dito. Usado neste documento como uma entidade (objecto). Pedido - Ver Request. URL - O endereço URL usado no Request - e que faz parte do Request. Response - A resposta ao pedido http devolvida pela API. Usado neste documento como uma entidade (objecto). Resposta - Ver Response. StatusCode - Elemento de Response, usado para facultar ao cliente o número com o código do estado do Request. StatusMessage - Elemento de Response, usado para facultar ao cliente uma mensagem de texto com a mensagem sobre o código do estado do Request.

Content - Elemento de Response, usado para facultar ao cliente a informação solicitada no Request. POST - Um pedido http usando o método POST do protocolo http. GET - Um pedido http usando o método GET do protocolo http.Elemento Raíz (ER) - Um elemento presente no Request que não depende de nenhum outro hierarquicamente. Supondo o Request JSON:

{ "auth_hash":"be444cb8deef1db416f8dfc5350f5c12ae92761", "document":{"id":0} }

Os elementos auth_hash e document são exemplos de Elemento Raíz do Request; id não é Elemento Raiz.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 10 / 144

Page 11: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Nomenclaturas delete - Se for um método que dá uma ordem para apagar algo, deve sempre conter no inicio do nome delete. Ex: deleteInstances. save - Se for um método que escreve informação na base dados WEB, deve sempre conter no inicio save. Ex. saveInstances. get - Se for um método para enviar informação para a base dados local, deve sempre conter no inicio get. Ex. getInstances.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 11 / 144

Page 12: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Pedidos | Requests Endereço do serviço (desde dezembro 2014):

https://api.zonesoft.org

Nota: O endereço de serviço https://api.zsrestweb.com (usado anteriormente) será suportado até novembro 2015. A ZSAPI utiliza a seguinte estrutura de URL, em cada Request independentemente do tipo de Cliente que acede:

https://api.zonesoft.org/vNúmero_da_versão/nome_da_interface/nome_da_Ação

como por exemplo:

https://api.zonesoft.org/v1.1/documents/getInstances

em que:

1. https://api.zonesoft.org/ - endereço do servidor 2. v1.1/ - a versão da ZSAPI que se pretende usar 3. documents/ - Entidade ou, Interface que vai processar o Request 4. getInstances - o nome da Ação dentro da Interface que vai processar o Request.

Apenas são suportados Requests POST e GET. Qualquer outro tipo de Request originam Response StatusCode::ZSAPI_BAD_REQUEST 400. São suportados os seguintes headers CONTENT_TYPE do protocolo HTTP:

● application/x-www-form-urlencoded ● multipart/form-data ● application/json

É obrigatório indicar a versão da API para cada pedido através do URL do Request e este deverá ser o primeiro parâmetro, logo a seguir ao endereço https do serviço. Exemplo:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 12 / 144

Page 13: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

curl -k https://api.zonesoft.org/v1.1/auth/authenticate

ou:

curl -k https://api.zonesoft.org/v1/auth/authenticate

Nota: a definição da versão da API deve ser o primeiro item logo a seguir ao endereço http do serviço como no exemplo acima: https://api.zonesoft.org/v1/ - não obedecer a esta regra pode originar uma resposta (Response) diferente da esperada. Atenção: Caso a versão não seja definida no pedido (Request), a resposta (Response) pode ser diferente da que era esperada.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 13 / 144

Page 14: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas Por defeito o tipo resposta é no formato JSON. Formatos suportados:

● JSON Nota: Suporte a XML e TEXT está previsto em versões futuras. Numa abordagem ideal o Cliente deverá converter a Response para um objecto em que as suas propriedades serão StatusCode, StatusMessage e o objecto Content. O cliente deve analisar o Response.SatusCode antes de processar o Response.Content. Exemplo 5 (pseudo-código):

if(Response.StatusCode === 300){ (ocorreu um erro ao processar o pedido)

}else{ (tudo ok, Pode processar o Response.Content - mas é aconselhável verificar o valor

Response.Status antes de processar o Response.Content ) }

Consultar Anexo I - Tabela de códigos para Response.StatusCode

Respostas - Listagens Todos os Requests que originem listagens como Respostas estão limitados por defeito ao máximo de 250 instancias da entidade pedida/retornada. Este limite pode ser alterado no próprio Request para qualquer valor compreendido entre [1, 250]. Sempre que é feito um Request para obter uma lista de instâncias, a lista de instâncias será

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 14 / 144

Page 15: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

fornecida no objecto Response.Content que terá uma propriedade com o nome singular em minúsculas da Interface pedida, essa propriedade será um Array que conterá as instâncias pedidas - Existem no entanto algumas excepções devidamente identificadas. Todos os argumentos apresentados na tabela abaixo podem ser definidos a cada Request para uma Interface. Para tal, têm de ser encapsulados numa entidade com o nome em minúsculas e no singular da Interface da ZSAPI que irá processar o pedido. Argumentos disponíveis por Request de listagem:

Argumento Obrigatório Tipo Defeito Descricão

entidade_modelo [limit] NÂO integer ilimitado Número de registos a obter.

entidade_modelo [offset] NÂO integer 0 Número de registos a partir dos quais se quer obter a listagem.

entidade_modelo [order] NÂO string ‘’’ Ordenação da listagem: Deve obedecer ao seguinte padrão; nome_da_propriedade[,nome_da_propriedade1,nome_da_propriedade2] ; sentido O sentido poder ser uma das seguintes opções: ASC, DESC.

entidade_modelo [group] NÂO string ‘’ Propriedades a agrupar.

entidade_modelo [condition] NÂO string ‘’ Critérios extra de pesquisa.

Exemplo de Request Curl à Interface documents - Entidade a usar document :

curl -k https://api.zonesoft.org/v1/documents/getDocuments/ -H 'Content-type: application/json' -X POST -d '{

"auth_hash"="ae31086e04893bf262ebff7d4fd80326a7a01ecd", ”document”:{"limit":100,”offset”:150}

}'

Nota: A combinação dos argumentos limit e offset permite fazer navegação entre pedidos de listagens a uma mesma interface, à semelhança das queries SQL. Respostas status: ZSAPI_UNPROCESSABLE_ENTITY (422) Sempre que é feito um Request que retorne uma resposta com o status ZSAPI_UNPROCESSABLE_ENTITY: 422, é acrescentada uma nova propriedade _errors

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 15 / 144

Page 16: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

a cada instancia com erro, indicando os erros de validação encontrados na instancia. A propriedade _errors, quando definida, retorna uma lista (Array) em que cada elemento tem a seguinte estrutura:

{ “property”: nome_da_propriedade_com_erro (string), “error”: descricao_erro_encontrado (string) }

Exemplo de Response ZSAPI_UNPROCESSABLE_ENTITY:

{“store”:{ (...) , _errors:[{

“property”: “codigo”, “error”: “Codigo must be an integer” } ]

(...) }

}

Convenções para tipos de dados:

Tipo de dados Formato convencionado Exemplo Descrição

date YYYY-MM-DD 2001-01-01 Data ISO 8601

datetime YYYY-MM-DD hh:mm:ss 2001-01-01 08:30:25 Data/hora ISO 8601

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 16 / 144

Page 17: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Acesso A ZSAPI está disponível apenas para os Clientes da ZoneSoft que estejam devidamente licenciados para esse efeito. Para aceder aos serviços da ZSAPI todos os utilizadores são submetidos a um processo de autenticação. Todos os Requests de autenticação deverão ser executados à interface Auth no seguinte URL

https://api.zonesoft.org/v1/auth/authenticate

Após a autenticação inicial (com sucesso) é retornada uma auth_hash que deverá ser adicionada a todos os requests. Essa auth_hash servirá para validar e autenticar os pedidos subsequentes. Exemplo 1.: - Exemplo para realizar um pedido JSON

{ "auth_hash"="ae31086e04893bf262ebff7d4fd80326a7a01ecd",

"document":{"codigo":"10014","loja":"111"} }

A auth_hash é valida por utilizador/loja. Em cada Request, se a auth_hash fornecida é válida para o utilizador/loja, o período limite de duração da sessão é extendido e o Request é processado normalmente. A mensagem retornada será específica para o Request.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 17 / 144

Page 18: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 18 / 144

Page 19: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Interfaces ZSAPI

Interface::Auth Interface responsável por processar todos os Requests relativos ao processo de autenticação dos utilizadores e a respetiva autorização de acesso aos serviços ZSAPI.

Ação::authenticate Permite autenticar e autorizar um utilizador para usar os serviços ZSAPI.

Argumentos:

Argumento Obrigatório Tipo Descricão

user [nif] SIM string NIF de associado ao utilizador.

user [nome] SIM string Username do utilizador.

user [password] SIM string Password do utilizador.

user [loja] SIM integer Código de identificação da loja.

Exemplo de um Request JSON:

{ "user":{

"nif":"999999999","nome":"tablet1","password":"userpass",”loja”:1 }

}

Respostas:

Código Resposta Descrição

StatusCode:ZSAPI_AUTHORIZED (200) As credenciais são válidas e uma auth_hash é retornada.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 19 / 144

Page 20: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_UNAUTHORIZED (401) As credenciais fornecidas não são válidas.

StatusCode::ZSAPI_HD_FAIL (900) Já existe uma sessão iniciada com as credencias fornecidas.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

{ "Response":{

"StatusCode":200,"StatusMessage":"Authorized","Content":{“auth_hash”:”AA299SJ37HBLOFF”} }

}

Ação::logout Permite terminar a sessão ativa do utilizador nos serviços ZSAPI.

Argumentos:

Argumento Obrigatório Tipo Descricão

auth_hash SIM string A auth_hash válida retornada no processo de autenticação..

Exemplo de um Request JSON:

{"auth_hash":"AA299SJ37HBLOFF"}

Respostas:

Código Resposta Descrição

StatusCode:ZSAPI_OK (200) A sesão foi terminada com sucesso.

StatusCode::ZSAPI_UNAUTHORIZED (401) A auth_hash fornecida não é válida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

{"Response":{"Code":200,"Message":"OK"}}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 20 / 144

Page 21: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Interface::SalesSessions Interface responsável por processar todos os Requests relativos às sessões de venda - caixa. Entidades modelo : SaleSession

Ação::getSaleSession Criar uma sessão de vendas. Para abrir uma sessão é necessário que o dia esteja previamente aberto. Se já existir uma sessão de vendas aberta, essa sessão é retornada.

Argumentos:

Argumento Obrigatório Tipo Descricão

salesession[caixa] SIM integer Número/código da caixa.

salesession[opencx] SIM string Nome do operador.

salesession[empid] SIM integer Código do operador.

Exemplo de request em JSON:

(...) "salesession":[

{"caixa":1,”opencx”:”Operador 1”,”empid”:125} ]

(...)

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “salesession” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 21 / 144

Page 22: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

O dia não foi inciado/aberto para vendas.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "salesession":{"idcx":12,”caixa”:1,"data":"2013-01-01",(...)} (...)

Ação::closeSaleSession Fechar a sessão de vendas em uso. Argumentos:

Argumento Obrigatório Tipo Descricão

salesession[caixa] SIM integer Número/código da caixa.

salesession[opencx] SIM string Nome do operador.

salesession[idcx] SIM integer Código da sessão em uso.

salesession[empid] SIM integer Código do operador.

salesession[data] SIM date Data de abertura da sessão retornada na resposta da ação: getSaleSession.

Exemplo de request em JSON:

(...) "salesession":{”caixa”:2,”opencx”:”Operador 1”,"idcx":1,”empid”:1,”data”:”2013-01-01”} (...)

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A sessão foi fechada com sucesso - é retornada uma instância no atributo “salesession” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 22 / 144

Page 23: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorre um erro ao fechar a Sessão. Deve consultar a mensagem retornada.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getSalesDay Obter uma a instancia do último dia de vendas presente na base de dados. Entidade modelo : SalesDay Argumentos: Sem argumentos até a versão 1.5 , depois da 1.6 passa a receber argumentos. Exemplo de request em JSON:

(...) "salesday":{"caixa":1, "data":"2012-11-09"} (...)

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) É retornada uma instância no atributo “salesday” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NOT_FOUND (404) Não foi encontrada nenhuma instancia.

Ação::saveSalesDaysInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Entidade modelo : SalesDay

Argumentos:

Argumento Obrigatório Tipo Descricão

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 23 / 144

Page 24: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

salesday SIM array | json object Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) Todas as instâncias foram gravadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram gravadas. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Nota cada instância a ser processada deverá obedecer à estrutura completa da Entidade Modelo.

Ação::getOpenSaleSession Retorna a instancia da Entidade Modelo pedida. Entidade modelo : SaleSession

Argumentos:

Argumento Obrigatório Tipo Descricão

salesession[caixa] SIM integer Número/código da caixa.

salesession[data] SIM date Data de abertura da sessão a pesquisar.

Exemplo de request em JSON:

(...) "salesession":{”caixa”:2,”data”:”2013-01-01”} (...)

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A sessão foi fechada com sucesso - é retornada uma instância no atributo “salesession” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 24 / 144

Page 25: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a sessão.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::saveSaleSession Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos na base de dados. Entidade modelo : SaleSession

Argumentos:

Argumento Obrigatório Tipo Descricão

salesday SIM array | json object Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) Todas as instâncias foram gravadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram gravadas. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Nota cada instância a ser processada deverá obedecer à estrutura completa da Entidade Modelo.

Interface::Documents Interface responsável por processar todos os Requests relativos aos documentos - documents.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 25 / 144

Page 26: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Entidade modelo : Document Entidades relacionadas : Sale, Store, PaymentDoc, Counterbalance

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

document[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

document[serie] SIM string(20) A identificação da série do documento.

document[numero] SIM integer O número do documento na série fornecida.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "document":{

"numero":"1","doc":"AD","serie":"1L111025" }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “document” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 26 / 144

Page 27: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Retorna uma lista (Array) de instâncias completas (com as respetivas entidades dependentes) da Entidade Modelo. Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “document” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "document":[

{"numero":"1","doc":"RC","serie":"1L111025"}, {"numero":"122","doc":"FA","serie":"1L111025"}

] (...)

Nota: ver informação sobre listagens.

Ação::getDocumentsHeaders Retorna uma lista (Array) de instâncias Entidade Modelo apenas com os cabeçalhos de documentos. Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Os documentos são retornados na Resposta no atributo “document” do tipo Array <Entidade Modelo>. - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrado o documento pedido.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 27 / 144

Page 28: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "document":[

{"numero":"1","doc":"RC","serie":"1L111025"}, {"numero":"122","doc":"FA","serie":"1L111025"}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Nota:

Para instâncias da Entidade Modelo provenientes de outros softwares certificados, a propriedade ATDocCodeSource terá o seu valor alterado para ‘I’ (i maiúsculo) e a propriedade hashcontrol2 deverá estar preenchida com o número da certificação do software de origem e o número da versão da hash acordo com a legislação. A propriedade hash deverá conter a a hash gerada no software original. Tanto a propriedade hash como a propriedade hashcontrol2 são obrigatórias quando o documento a ser integrado é comunicado no SAFT, documentos do tipo: 'TK', 'VD', 'FA', 'FS', 'FT', 'GT', 'GR', 'TA', 'GD', 'CM', 'RC'.

Argumentos:

Argumento Obrigatório Tipo Descricão

document SIM array | json object Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) Todas as instâncias foram gravadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY Ocorreu um erro ao tentar gravar pelo menos uma das

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 28 / 144

Page 29: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

(422)

instâncias ou uma das suas Entidades Relacionadas (Sales, PaymentDocs, CounterBalances). A(s) instância(s) com erro - incluindo as suas Entidades Relacionadas - não foram gravadas. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Nota cada instância a ser processada deverá obedecer à estrutura completa da Entidade Modelo.

Ação::setDocumentNull - deprecated na versão 1.5. Substituída por setInstanceAsNulled

Ação::setInstanceAsNulled Permite anular uma instância da Entidade Modelo.

Argumentos:

Argumento Obrigatório Tipo Descricão

document[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

document[serie] SIM string(20) A identificação da série do documento.

document[numero] SIM integer O número do documento na série fornecida.

document [empanulado] SIM integer Código do operador que anulou o documento.

document [descanulado]

SIM string Descrição do motivo de anulação do documento.

document[data_alteracao]

SIM datetime Data de anulação do documento.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "document":{

"numero":"1","doc":"AD","serie":"1L111025",”empanulado”:12,”descanulado”:”Devolução do Cliente” }

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 29 / 144

Page 30: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) É retornado a instância do Documento Anulado na Resposta sob o atributo “document” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao anular o Documento. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getSale - deprecated na versão 1.5. Substituída por getSaleInstance

Ação::getSaleInstance Retorna a instância da Entidade Sale pedida. Entidade modelo : Sale Argumentos:

Argumento Obrigatório Tipo Descricão

sale[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

sale[serie] SIM string(20) A identificação da série do documento.

sale[numero] SIM integer O número do documento na série fornecida.

sale[id] SIM integer Código de identificação do produto.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "sale":{

"numero":1,"doc":"FA","serie":"1L111025",”id”:1,(...)

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 30 / 144

Page 31: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A linha de venda é retornada na Resposta no atributo “sale” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a venda pedido.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "sale":{"numero":1,”doc”:”FA”,”serie”:”1L111025”,”codigo”:1,(...)} }

(...)

Ação::getSalesFromDocument - deprecated na versão 1.5. Substituída por getSaleInstancesFromDocument

Ação::getSaleInstancesFromDocument Retorna uma lista (Array) contendo todas as instâncias da entidade Sale referentes a um documento. Consultar estrutura da Entidade - Sale. Entidade modelo : Document Argumentos:

Argumento Obrigatório Tipo Descricão

document[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

document[serie] SIM string(20) A identificação da série do documento.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 31 / 144

Page 32: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

document[numero] SIM integer O número do documento na série fornecida.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As vendas são retornadas na Resposta no atributo “sale” do tipo Array <Sale> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas vendas para o documento indicado ou o documento indicado não existe.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "sale":[

{"numero":"1","doc":"AD","serie":"1L111025",”total”:22.00;”qtd”:221.1111,”codigo”:1,”descricao”:”Produto 1”,(...)}, {"numero":"2","doc":"AD","serie":"1L111025",”total”:212.00;”qtd”:1.1111,”codigo”:21,”descricao”:”Produto 21”,(...)},

]

(...)

Ação::getPaymentDocsFromDocument - deprecated na versão 1.5. Substituída por getPaymentDocInstancesFromDocument

Ação::getPaymentDocInstancesFromDocument Retorna uma lista (Array) contendo todas as instâncias da entidade PaymentDoc referentes a um documento cujo o tipo de pagamento seja 9 - pagamentos múltiplos. Consultar estrutura da Entidade - PaymentDoc.

Argumentos:

Argumento Obrigatório Tipo Descricão

document[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 32 / 144

Page 33: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

document[serie] SIM string(20) A identificação da série do documento.

document[numero] SIM integer O número do documento na série fornecida.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "document":{

"numero":"1","doc":"AD","serie":"1L111025" }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornados na Resposta no atributo “paymentdoc” do tipo Array <PaymentDoc> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontrados Registos de Pagamentos para o documento indicado.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "paymentdoc":[

{"numero":1,”doc”:”FA”,”serie”:”L1SAWT62”,”tipo”:1,(...)}, {"numero":1,”doc”:”FA”,”serie”:”L1SAWT62”,”tipo”:2,(...)} ]

} (...)

Ação::getCounterBalancesFromDocument - deprecated na versão 1.5. Substituída por getCounterBalancesInstancesFromDocument

Ação::getCounterBalancesInstancesFromDocument

Retorna uma lista (Array) contendo todas as instâncias da entidade CounterBalance referentes a um Documento.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 33 / 144

Page 34: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Consultar estrutura Entidade: CounterBalance. Argumentos:

Argumento Obrigatório Tipo Descricão

document[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

document[serie] SIM string(20) A identificação da série do documento.

document[numero] SIM integer O número do documento na série fornecida.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "document":{

"numero":"1","doc":"RC","serie":"1L111025" }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornados na Resposta no atributo “counterbalance” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas Produtos.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "counterbalance":[

{"rc":1,”rcSerie”:”L1SAWT62”,(...)}, {"rc":1,”rcSerie”:”L1SAWT62”,(...)} ]

} (...)

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 34 / 144

Page 35: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::saveATCode Permite guardar o código retornado pela AT para uma instância da Entidade Modelo.

Argumentos:

Argumento Obrigatório Tipo Descricão

document[doc] SIM string(2) O código de caracteres para identificação do tipo de documento.

document[serie] SIM string(20) A identificação da série do documento.

document[numero] SIM integer O número do documento na série fornecida.

document[ATDocCodeID] SIM string Código fornecido pela AT.

document[ ATDocCodeSource]

SIM string(2) Um dos seguintes valores M - se foi introduzido manualmente; P - se foi registado de forma automática.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "document":{

"numero":"1","doc":"AD","serie":"1L111025",”ATDocCodeID”:”EA12131DS”,”ATDocCodeSourceID”:”P” }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) É retornada a instância do Documento Anulado na Resposta no atributo “document” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao anular o Documento. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 35 / 144

Page 36: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getNumberDS - deprecated na versão 1.5. Substituída por getNumberDSInstances

Ação::getNumberDSInstances Usa como Entidade Modelo: Numdocserie Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo. Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “numdocserie” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "numdocserie":[

{“loja”:1,"numero":1,"doc":"RC","serie":"1L111025"}, {“loja”:1,"numero":122,"doc":"FA","serie":"1L111022"}

] (...)

Nota: ver informação sobre listagens.

Ação::saveNumberDS - deprecated na versão 1.5. Substituída por saveNumberDSInstances

Ação::saveNumberDSInstances Processa uma instância da Entidade Modelo para ser inserido na base de dados. Usa como Entidade Modelo: Numdocserie

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 36 / 144

Page 37: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

numdocserie SIM JSON object Um JSON Object do tipo <Entidade Modelo>.

Exemplo de pedido em JSON:

(...) "numdocserie":[

{"numero":1,"doc":"RC","serie":"1L111025"}, {"numero":122,"doc":"FA","serie":"1L111022"}

] (...)

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) A instância foi processada com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar a instância. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: A instância a ser processada deverá obedecer à estrutura completa da Entidade Modelo.

Ação::saveATInstance - deprecated na versão 1.5. Substituída por saveATTransportInstance

Ação::saveATTransportInstance Permite usar a ZSAPI para comunicar um documento de transporte à AT. Caso o documento seja comunicado com sucesso será processado para ser guardado na base de dados.

Argumentos:

Argumento Obrigatório Tipo Descricão

document SIM JSON object Uma instancia JSON Object do tipo <Entidade Modelo>.

Respostas:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 37 / 144

Page 38: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Código Resposta Descrição

StatusCode::ZSAPI_OK (201) A instância foi processada com sucesso. Deverá consultar os códigos de resposta para agir em conformidade. Será retornada uma instancia de ATResponse - deverá consultar a Estrutura de Entidade ATResponse.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

A instancia recebida não é válida. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura completa da Entidade Modelo.

Interface::Products Interface responsável por processar todos os Requests relativos aos produtos - products. Entidade Modelo : Product Entidades Relacionadas : Unit, Family, SubFamily, Store, ExemptionReason

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

product [codigo] SIM integer Número/código do Produto.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f",

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 38 / 144

Page 39: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

"product":{ "codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “product” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) de instâncias da Entidade Modelo. Argumentos: Opcional usar os argumentos para as listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “product” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "product":[

{"codigo":1,"descricao":"Manteiga”,(...)}, {"codigo":2,"descricao":"Porta da Ravel”,(...)} ]

(...)

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 39 / 144

Page 40: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

product SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Nas situações de atualização de produtos com vendas associadas apenas serão guardadas as modificações permitidas por lei.

Nota: Cada instância da Entidade Modelo a ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 40 / 144

Page 41: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

product SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Product dentro do Array deve obedecer à seguinte estrutura:

product [codigo] SIM integer Número/código do produto.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "product":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “product” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 41 / 144

Page 42: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

product[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “product”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “product” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: ver informação sobre listagens.

Ação::setFullSync Marcar todas as instâncias da Entidade Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância do tipo <Entidade Modelo> no atributo “product”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 42 / 144

Page 43: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

- Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

product[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “product”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “product” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::ExemptionReasons

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 43 / 144

Page 44: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Interface responsável por processar todos os Requests relativos aos motivos de isenção - exemptionReason. Entidades modelo : ExemptionReason

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

exemptionReason [codigo]

SIM integer Número/código do Motivo de Insenção.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "exemptionreason":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “exemptionreason” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo. Argumentos: Opcional usar os argumentos para as listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 44 / 144

Page 45: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “exemptionreason” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "exemptionreason":[

{"codigo":1,"descricao":"Loja Amadora”}, {"codigo":2,"descricao":"Loja Braga”}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

exemptionreason SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s).

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 45 / 144

Page 46: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância da Entidade Modelo a ser processada deverá obedecer à estrutura: Estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

exemptionreason SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância ExemptionReason dentro do Array deve obedecer à seguinte estrutura:

exemptionreason [codigo]

SIM integer Número/código do motivo de insenção.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "exemptionreason":[

{"codigo":’M01’}, {"codigo":’M02’} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “exemptionreason” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 46 / 144

Page 47: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

exemptionreason [lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “exemptionreason”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “exemptionreason” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: ver informação sobre listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 47 / 144

Page 48: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::setFullSync Marcar todas as instâncias da Entidade Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “exemptionreason”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

exemptionreason[lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “exemptionreason”:{”lastupdate”: “2012-01-01 00:00:00”}

}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 48 / 144

Page 49: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “exemptionreason” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Stores Interface responsável por processar todos os Requests relativos às lojas - store. Entidade Modelo : Store Entidades relacionadas: StoreSettings

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

store [codigo] SIM integer Número/código da Store. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "store":{

"codigo":2 }

}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 49 / 144

Page 50: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “store” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “store” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "store":[

{"codigo":1,"descricao":"Loja Amadora”}, {"codigo":2,"descricao":"Loja Braga”} ]

(...)

Nota: ver informação sobre listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 50 / 144

Page 51: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem atualizados na base de dados. Nota: Apenas os campos relativos ao endereço e à descrição podem ser alterados. Argumentos:

Argumento Obrigatório Tipo Descricão

store SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura Entidade Modelo.

Ação::getInstanceWithSettings Retorna a instância da Entidade Modelo pedida com a propriedade StoreSettings preenchida com um Array de instancias StoreSettings deve consultar a Estrutura da Entidade StoreSettings. Argumentos:

Argumento Obrigatório Tipo Descricão

store [codigo] SIM integer Número/código da Store. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f",

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 51 / 144

Page 52: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

"store":{ "codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “store” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Units Interface responsável por processar todos os Requests relativos às unidades - units. Entidade Modelo : Unit

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

unit [codigo] SIM integer Número/código da Unit. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "unit":{

"codigo":2 }

}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 52 / 144

Page 53: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “unit” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “unit” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "unit":[

{"codigo":1,"descricao":"Unidade”}, {"codigo":2,"descricao":"Pack 6”}

] (...)

Nota: ver informação sobre listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 53 / 144

Page 54: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

unity SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "unit": [ {"codigo":132,"descricao":"NovaUnidade2"}, {"codigo":131,"descricao":"NovaUnidade1"} ] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 54 / 144

Page 55: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumento Obrigatório Tipo Descricão

unit SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Unit dentro do Array deve obedecer à seguinte estrutura:

unit [codigo] SIM integer Número/código da unidade.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "unit":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “unit” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 55 / 144

Page 56: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

unit [lastupdate] SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “unit”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “unit” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::setFullSync Marcar todas as instâncias da Entidade Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “unit”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 56 / 144

Page 57: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

unit[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “unit”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Content está vazio.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Families Interface responsável por processar todos os Requests relativos às instâncias das famílias dos produtos - families. Entidades modelo: Family Entidades relacionadas: SubFamily

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 57 / 144

Page 58: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

family [codigo] SIM integer Número/código da Familia.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "family":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “family” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 58 / 144

Page 59: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

“family” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "family":[

{"codigo":1,"descricao":"Entradas”,”frontoffice”:1,”posicaofront”:100,”posicaoprint”:1,”fundo”:1,”letra”:1,”subfamilias”:[{subfam1}, {subfam2}]}, {"codigo":2"descricao":"Acompanhamentos”,”frontoffice”:1,”posicaofront”:102,”posicaoprint”:12,”fundo”:1,”letra”:1,}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

family SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 59 / 144

Page 60: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância da Entidade Modelo a ser processada deverá obedecer à estrutura Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos na base de dados - inclusive as suas subfamílias. Argumentos:

Argumento Obrigatório Tipo Descricão

family SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Family dentro do Array deve obedecer à seguinte estrutura:

family [codigo] SIM integer Número/código da familia.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "family":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “family” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 60 / 144

Page 61: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações e que não tenham subfamílias associadas a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

family [lastupdate] SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “family”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “family” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "family":[

{"codigo":1,"descricao":"Entradas”,”frontoffice”:1,”posicaofront”:100,”posicaoprint”:1,”fundo”:1,”letra”:1,}, {"codigo":2"descricao":"Acompanhamentos”,”frontoffice”:1,”posicaofront”:102,”posicaoprint”:12,”fundo”:1,”letra”:1,}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 61 / 144

Page 62: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

] (...)

Nota: ver informação sobre listagens.

Ação::setFullSync Marcar todas as Entidades Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância (vazia) do tipo <Entidade Modelo> no atributo “family”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getSubFamily - deprecated na versão 1.5. Substituída por getSubFamilyInstance

Ação::getSubFamilyInstance Usa como Entidade Modelo : SubFamily Retorna uma instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

subfamily [codigo] SIM integer Número/código da SubFamilia.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 62 / 144

Page 63: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "subfamily":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância (vazia) do tipo <Entidade Modelo> no atributo “subfamily” - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrado o tipo de pagamento pedido.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getSubFamiliesFromFamily - deprecated na versão 1.5. Substituída por getSubFamiliesInstancesFromFamily

Ação::getSubFamiliesInstancesFromFamily Usa como Entidade Modelo : Family

Retorna uma lista (Array) contendo todas as instâncias da Entidade SubFamily duma Familia. Argumentos:

Argumento Obrigatório Tipo Descricão

family [codigo] SIM integer Número/código da familia.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “subfamily” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas Sub Famílias.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 63 / 144

Page 64: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) “subfamily":[

{"codigo":1,"descricao":"Com Gás”,”familia”:1,”fundo”:100,”letra”:1,”posicao”:1}, {"codigo":2,"descricao":"Sem Gás”,”familia”:1,”fundo”:100,”letra”:1,”posicao”:2}

] } (...)

Ação::saveSubFamilies - deprecated na versão 1.5. Substituída por saveSubFamiliesInstances

Ação::saveSubFamiliesInstances Usa como Entidade Modelo : SubFamily

Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

subfamily SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância da Entidade Modelo a ser processada deverá obedecer à estrutura da Entidade

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 64 / 144

Page 65: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

SubFamily.

Ação::deleteSubFamilies - deprecated na versão 1.5. Substituída por deleteSubFamiliesInstances

Ação::deleteSubFamiliesInstances Usa como Entidade Modelo : SubFamily Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

subfamily SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância SubFamily dentro do Array deve obedecer à seguinte estrutura:

subfamily [codigo] SIM integer Número/código da subfamilia.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "subfamily":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “subfamily” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 65 / 144

Page 66: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade SubFamily que não estejam associados a transações.

Ação::getSubFamiliesToSync - deprecated na versão 1.5. Substituída por getSubFamiliesInstancesToSync

Ação::getSubFamiliesInstancesToSync Usa como Entidade Modelo : SubFamily Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

subfamily [lastupdate] SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “subfamily”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “subfamily” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 66 / 144

Page 67: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Nota: ver informação sobre listagens.

Ação::setSubFamiliesFullSync Marcar todas as instâncias da Entidade Subfamily para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “subfamily”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias desta Entidade Modelo. (Subfamily). Certifique-se de que existem subfamilias na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

family[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f",

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 67 / 144

Page 68: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

“family”:{”lastupdate”: “2012-01-01 00:00:00”} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “family” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getSubFamiliesToDelete - deprecated na versão 1.5. Substituída por getSubFamiliesInstancesToDelete

Ação::getSubFamiliesInstancesToDelete Usa como Entidade Modelo : SubFamily Retorna uma lista (Array) contendo todas as instâncias da Entidade Subfamily que tenham sido marcadas para remoção da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

subfamily[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “subfamily”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 68 / 144

Page 69: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

“subfamily” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::PaymentTypes Interface responsável por processar todos os Requests referentes aos tipos de pagamentos disponíveis - paymentTypes. Entidades modelo : PaymentType

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

paymenttype [codigo] SIM integer Número/código do tipo de pagamento.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "paymenttype":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 69 / 144

Page 70: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

“paymenttype” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “paymentType” do tipo Array <Entidade Modelo>- consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "paymenttype":[

{"codigo":1,"descricao":"Cartão Débito”}, {"codigo":1,"descricao":"Cartão Crédito”}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 70 / 144

Page 71: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

paymenttype SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

paymenttype SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância PaymentType dentro do Array deve obedecer à seguinte estrutura:

paymenttype [codigo] SIM integer Número/código do tipo de pagamento.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "paymenttype":[

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 71 / 144

Page 72: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “paymentType” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

paymenttype [lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “paymenttype”:{”lastupdate”: “2012-01-01 00:00:00”}

}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 72 / 144

Page 73: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “paymentType” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: ver informação sobre listagens.

Ação::setFullSync Marcar todas as instâncias da Entidade Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “paymentType”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 73 / 144

Page 74: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

paymenttype [lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “paymenttype”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “paymentType” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Taxes Interface responsável por processar todos os Requests relativos aos impostos disponíveis - tax. Entidades modelo : Tax

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 74 / 144

Page 75: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumento Obrigatório Tipo Descricão

tax [codigo] SIM integer Número/código do Iva. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "tax":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “tax” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “tax” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 75 / 144

Page 76: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

(...) "tax":[

{"codigo":1,"descricao":"IVA 23%",”factor”:23,”activa”:1}, {"codigo":2,"descricao":"IVA 16%",”factor”:16,”activa”:0}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

tax SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 76 / 144

Page 77: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

tax SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Tax dentro do Array deve obedecer à seguinte estrutura:

tax [codigo] SIM integer Número/código do tax.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "tax":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “tax” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações..

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 77 / 144

Page 78: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

tax[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “tax”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “tax” do tipo Array <Entidade Modelo>- consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: ver informação sobre listagens.

Ação::setFullSync Marcar todas as Entidades Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “tax”.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 78 / 144

Page 79: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::deactivateTaxes - deprecated na versão 1.5. Substituída por setInstancesAsInactive

Ação::setInstancesAsInactive Processa uma lista (Array) de instâncias da Entidade Modelo para serem marcados como inactivos.

Argumentos:

Argumento Obrigatório Tipo Descricão

tax SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Tax dentro do Array deve obedecer à seguinte estrutura:

tax [codigo] SIM integer Número/código do iva.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "tax":[

{"codigo":11}, {"codigo":12}

] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias do pedido são retornadas na Resposta no atributo “tax” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY Ocorreu um erro ao tentar processar pelo menos uma

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 79 / 144

Page 80: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

(422) das instâncias. A(s) instância(s) com erro não foi(foram) processada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getActiveTaxes - deprecated na versão 1.5. Substituída por getActiveInstances

Ação::getActiveInstances Retorna uma lista (Array) de todos os Ivas ativos.

Argumentos: Opcional usar os argumentos para as listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “tax” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "tax":[

{"codigo":1,"descricao":"IVA 23%",”factor”:23,”activa”:1}, {"codigo":3,"descricao":"IVA 5%",”factor”:5,”activa”:1}

] (...)

Nota: ver informação sobre listagens.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 80 / 144

Page 81: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

tax[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “tax”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “tax” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Clients Interface responsável por processar todos os Requests relativos aos clientes - clients. Entidades modelo : Client

Ação::getInstance Retorna a instância da Entidade Modelo pedida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 81 / 144

Page 82: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

client [codigo] SIM integer Número/código do cliente. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "client":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “client” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “client” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 82 / 144

Page 83: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "client":[

{"codigo":12,"nome":"André Schneider",”morada”:””,(...)}, {"codigo":12,"nome":"André Schneider",”morada”:””,(...)}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

client SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 83 / 144

Page 84: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

client SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array deve obedecer à seguinte estrutura:

client [codigo] SIM integer Número/código do cliente.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "client":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “client” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 84 / 144

Page 85: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

client[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “client”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Nota: ver informação sobre listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “client” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::setFullSync Marcar todas as instâncias da Entidade Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “client”.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 85 / 144

Page 86: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::deactivateClients - deprecated na versão 1.5. Substituída por setInstancesAsInactive

Ação::setInstancesAsInactive Processa uma lista (Array) de instâncias da Entidade Modelo para serem marcados como inativos na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

client SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array deve obedecer à seguinte estrutura:

client [codigo] SIM integer Número/código do cliente.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "client":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias foram processadas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “client” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 86 / 144

Page 87: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar processar pelo menos uma das instâncias. A(s) instância(s) com erro nsão retornadas na Resposta no atributo “client” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade. Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

client[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “client”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “client” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 87 / 144

Page 88: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Interface::Operators Interface responsável por processar todos os Requests relativos aos operadores (empregados) - operators. Entidades modelo : Operator

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

operator [codigo] SIM integer Número/código do operador.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "operator":{"codigo":2} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “operator” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 88 / 144

Page 89: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “operator” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "operator":[

{"codigo":11,"foto":"",”bloqueado”:0,(...)}, {"codigo":12,"foto":"",”bloqueado”:1,(...)} ]

(...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

operator SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 89 / 144

Page 90: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram gravada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados.

Argumentos:

Argumento Obrigatório Tipo Descricão

operator SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array deve obedecer à seguinte estrutura:

operator [codigo] SIM integer Número/código do operador.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "operator":[

{"codigo":11}, {"codigo":12}

] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “operator” do tipo Array <Entidade Modelo> - consultar documento sobre

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 90 / 144

Page 91: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

operator[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “operator”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “operator” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: ver informação sobre listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 91 / 144

Page 92: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::setFullSync Marcar todas as Entidades Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância (vazia) do tipo <Entidade Modelo> no atributo “operator”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getActiveOperators - deprecated na versão 1.5. Substituída por getActiveInstances

Ação::getActiveInstances Retorna uma lista (Array) contendo todas instâncias da Entidade Modelo que estejam assinaladas como ‘ativos’. Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “operator” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 92 / 144

Page 93: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "operator":[

{"codigo":11,"foto":"",”bloqueado”:0,(...)}, {"codigo":12,"foto":"",”bloqueado”:0,(...)} ]

(...)

Nota: ver informação sobre listagens.

Ação::getInactiveOperators - deprecated na versão 1.5. Substituída por getInactiveInstances

Ação::getInactiveInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que estejam assinaladas como ‘inativos’.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “operator” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "operator":[

{"codigo":25,"foto":"",”bloqueado”:1,(...)}, {"codigo":18,"foto":"",”bloqueado”:1,(...)}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 93 / 144

Page 94: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

] (...)

Nota: ver informação sobre listagens.

Interface::SalesStations Interface responsável por processar todos os Requests relativos aos postos de venda - salestation. Entidades modelo : SaleStation

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

salestation [codigo] SIM integer Número/código do posto. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "salestation":{"codigo":2} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “salestation” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 94 / 144

Page 95: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getInstanceWithSettings Idêntica à Ação::getInstance - Retorna a instância da Entidade Modelo pedida, com a propriedade SaleStationSettings preenchida com um Array de instâncias SaleStationSettings - deve consultar a Estrutura da Entidade SaleStationSettings.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “salestation” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "salestation":[

{"codigo":11,"descricao":"Posto 11"}, {"codigo":12,"descricao":"Posto 11"} ]

(...)

Nota: ver informação sobre listagens.

Ação::getInstancesWithSettings Idêntica à Ação::getInstances - Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo e cada instancia tem a propriedade SaleStationSettings

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 95 / 144

Page 96: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

preenchida com um Array de instâncias SaleStationSettings - deve consultar a Estrutura da Entidade SaleStationSettings..

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

salestation SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram gravada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados.

Argumentos:

Argumento Obrigatório Tipo Descricão

salestation SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 96 / 144

Page 97: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Cada instância dentro do Array deve obedecer à seguinte estrutura:

salestation [codigo] SIM integer Número/código do posto.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "salestation":[

{"codigo":11}, {"codigo":12}

] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “salestation” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

salestation[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 97 / 144

Page 98: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “salestation”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “salestation” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: ver informação sobre listagens.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

salestation[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “salestation”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “salestation” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 98 / 144

Page 99: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::ProductStocks Interface responsável por processar todos os Requests relativos a obter stocks de produtos - productstock. Entidades modelo : ProductStock

Ação::getCurrentStockInstances Retorna uma lista (Array) contendo as instâncias da Entidade Modelo pedidas no request - os valores retornados são referentes à data em que é feito o pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

productstock SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array do Request deve obedecer à seguinte estrutura:

Argumento Obrigatório Tipo Descricão

productstock [loja] SIM integer Número/código do loja.

productstock [produto] SIM integer Número/código do produto.

productstock [armazem] Não integer Número/código do armazem.

productstock [uid_caracteristica]

Não integer Número/código da combinação de caracteristicas

Exemplo de um Request JSON:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 99 / 144

Page 100: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "productstock":[

{"produto":11,”loja”:1}, {"produto":12,”loja”:1,”armazem”:1}, {"produto":12,”loja”:1,”armazem”:1,”uid_caracteristica”:1}

] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “productstock” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "productstock":[

{"produto":11,"loja":1,”stock”:232.22,”stkmin”:0,”stkmax”:1000.45,”data”:”2013-01-01”}, {"produto":12,"loja":1,”armazem”:1,”stock”:212.22,”stkmin”:0,”stkmax”:0,”data”:”2013-01-01”}, ]

(...)

Nota: Não se aplicam as opões das listagens.

Ação::getStockInstanceByDate Retorna uma instância da Entidade Modelo na data pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

productstock [loja] SIM integer Número/código do loja.

productstock [produto] SIM integer Número/código do produto.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 100 / 144

Page 101: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

productstock [data] SIM date Data na qual se quer obter a instancia

productstock [armazem] Não integer Número/código do armazem.

productstock [uid_caracteristica]

Não integer Número/código da combinação de caracteristicas

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "productstock":{"produto":11,”loja”:1,”data”:”2013-01-01”} }

Exemplo de um Request JSON para um armazém:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "productstock":{"produto":12,”loja”:1,”armazem”:1,”data”:”2013-01-01”} }

Exemplo de um Request JSON para um armazém e combinação de caracteristicas:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "productstock":{"produto":12,”loja”:1,”armazem”:1,”uid_caracteristica”:1} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “productstock” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade..

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "productstock":[

{"produto":11,"loja":1,”stock”:232.22,”stkmin”:0,”stkmax”:1000.45,”data”:”2013-01-01”},

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 101 / 144

Page 102: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{"produto":12,"loja":1,”armazem”:1,”stock”:212.22,”stkmin”:0,”stkmax”:0,”data”:”2013-01-01”}, {"produto":12,"loja":1,”armazem”:1,”stock”:212.22,”stkmin”:0,”stkmax”:0,”data”:”2013-01-01”}, ]

(...)

Nota: Não se aplicam as opões das listagens.

Ação::getCurrentStockInStores Retorna uma lista (Array) de instâncias da Entidade Modelo - uma instancia por loja - o valor de stock retornado é referente à data em que é feito o pedido. Se a caracteristica_id é fornecida nos pedidos, o valor da propriedade stock em cada instancia da resposta refere-se à quantidade existente, em cada loja, da combinação produto + combinações de caracteristicas em que caracteristica_id está presente. Se a caracteristica_id não é fornecida, o valor da propriedade stock em cada instancia da resposta retorna a quantidade existente do produto em cada loja - é retornada uma instancia por cada produto + combinação caracteristicas . A resposta apenas inclui instancias cujo o valor da propriedade ‘stock’ seja maior > 0. Na Resposta é retornada uma nova propriedade Store representando uma instancia da Entidade Modelo Store contendo informação de contacto da loja - ver exemplo de Resposta. Na Resposta é retornada uma nova propriedade descricao do tipo string representando o nome das combinação de caracteristicas associadas ao produto - ver exemplo de Resposta. Argumentos:

Argumento Obrigatório Tipo Descricão

productstock SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array do Request deve obedecer à seguinte estrutura:

Argumento Obrigatório Tipo Descricão

productstock [produto] SIM integer Número/código do produto.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 102 / 144

Page 103: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

productstock [caracteristica_id]

NÂO integer Número/código da caracteristica

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "productstock": {"produto":6,”caracteristica_id”:9} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “productstock” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "productstock":[

{"loja":6,"produto":6,"uid_caracteristica":229,"stock":20,"data":"2014-03-27","descricao":"T SHIRT - Cor: Laranja, Tamanho: L","caracteristica_id":9,"Store":{"codigo":6,"descricao":"Teste Sonia","designacao":"Loja Teste Entroncamento","morada":"Rua ao pé da rotunda 23","numero_porta":"111","cod_postal":"1000-100","localidade":"Entroncamento"}}, {"loja":6,"produto":6,"uid_caracteristica":230,"stock":27,"data":"2014-03-27","descricao":"T SHIRT - Tamanho: XS, Cor: Azul","caracteristica_id":9,"Store":{"codigo":6,"descricao":"Teste Sonia","designacao":"Loja Teste Entroncamento","morada":"Rua ao pé da rotunda 23","numero_porta":"111","cod_postal":"1000-100","localidade":"Entroncamento"}}

] (...)

Nota: Não se aplicam as opões das listagens.

Interface::Suppliers

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 103 / 144

Page 104: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Interface responsável por processar todos os Requests relativos aos fornecedores - suppliers. Entidades modelo : Supplier

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

supplier[codigo] SIM integer Número/código do fornecedor.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "supplier":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “supplier” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 104 / 144

Page 105: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “supplier” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "supplier":[

{"codigo":12,"nome":"André Schneider",”morada”:””,(...)}, {"codigo":11,"nome":"Zone Soft",”morada”:””,(...)}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

supplier SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 105 / 144

Page 106: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Nota: Cada instância ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

supplier SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array deve obedecer à seguinte estrutura:

supplier [codigo] SIM integer Número/código do fornecedor.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "supplier":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “supplier” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 106 / 144

Page 107: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

supplier[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “supplier”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Nota: ver informação sobre listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “supplier” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 107 / 144

Page 108: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

supplier[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “supplier”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “supplier” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Characteristics Interface responsável por processar todos os Requests relativos às caracteristicas - characteristics. Entidades modelo : Characteristics

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 108 / 144

Page 109: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumento Obrigatório Tipo Descricão

characteristic[id] SIM integer Número/código da caracteristica.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "characteristic":{

"id":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “characteristic” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “characteristic” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 109 / 144

Page 110: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

(...) "characteristic":[

{"id":1,"valor":"Cor",”ativo”:0}, {"id":2,"nome":"Tamanhos",”ativo”:1}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

characteristic SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 110 / 144

Page 111: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

characteristic SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array deve obedecer à seguinte estrutura:

characteristic[id] SIM integer Número/código da caracteristica.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "characteristic":[

{"id":1}, {"id":2} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “characteristic” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 111 / 144

Page 112: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

characteristic[lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “characteristic”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Nota: ver informação sobre listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “characteristic” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

characteristic[lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 112 / 144

Page 113: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “characteristic”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “characteristic” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Couverts Interface responsável por processar todos os Requests relativos às couverts. Entidades modelo : Couvert Entidades relacionadas : Couvertzone

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

couvert[codigo] SIM integer Número/código da couvert.

Exemplo de um Request JSON:

{

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 113 / 144

Page 114: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

"auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "couvert":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “couvert” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “couvert” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "couvert":[

{"codigo":1,"descricao":"Entrada Azeitonas e Queijo",(...)}, {"codigo":2,"descricao":"Azeitonas",(...)}

] (...)

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 114 / 144

Page 115: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

couvert SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

couvert SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 115 / 144

Page 116: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Cada instância dentro do Array deve obedecer à seguinte estrutura:

couvert[codigo] SIM integer Número/código da couvert.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "couvert":[

{"codigo":1}, {"codigo":2} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “couvert” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

couvert[lastupdate] SIM datetime Timestamp de verificação.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 116 / 144

Page 117: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “couvert”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Nota: ver informação sobre listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “couvert” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

couvert[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “couvert”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 117 / 144

Page 118: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “couvert” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Technicalcards Interface responsável por processar todos os Requests relativos às fichas técnicas - technicalcard. Entidades modelo : Technicalcard Entidades relacionadas : Technicalcardingredient, Technicalcardpreparation

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

technicalcard[codigo] SIM integer Número/código da ficha técnica.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "technicalcard":{

"codigo":2 }

}

Respostas:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 118 / 144

Page 119: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “technicalcard” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “technicalcard” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "technicalcard":[

{"codigo":1,"empcriacao":1,(...)}, {"codigo":2,"empcriacao":1,(...)}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 119 / 144

Page 120: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

technicalcard SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância ser processada deverá obedecer à estrutura da Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

technicalcard SIM Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância dentro do Array deve obedecer à seguinte estrutura:

technicalcard[codigo] SIM integer Número/código da ficha técnica.

Exemplo de um Request JSON:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 120 / 144

Page 121: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "technicalcard":[

{"codigo":1}, {"codigo":2} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias do pedido são retornadas na Resposta no atributo “technicalcard” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

technicalcard[lastupdate]

SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “technicalcard”:{”lastupdate”: “2012-01-01 00:00:00”}

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 121 / 144

Page 122: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

}

Nota: ver informação sobre listagens.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “technicalcard” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 122 / 144

Page 123: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumentos:

Argumento Obrigatório Tipo Descricão

technicalcard[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “technicalcard”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “technicalcard” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Interface::Tablemovements Interface responsável por processar todos os Requests relativos aos movimentos de mesas - tablemovement. Entidades modelo : Tablemovement

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 123 / 144

Page 124: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “tablemovement” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "tablemovement":[

{"data":”2015-04-01”, "pessoas": 1,(...)}, {"data":”2015-04-01”,"pessoas": 21,(...)}

] (...)

Nota: ver informação sobre listagens.

Ação::getTableDetails Retorna uma lista (Array) contendo parte das instâncias da Entidade Modelo.

Argumentos:

Argumento Obrigatório Tipo Descricão

tablemovement [inicio] SIM String Data inicial

tablemovement[fim] SIM String Data final

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "tablemovement": {

"inicio":"2014-01-01", "fim":"2014-01-31"

} }

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 124 / 144

Page 125: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “tablemovement” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "tablemovement": [ { "mesa": "72", "lugar": "0", "pessoas": "1", "country": "PT" } ] (...)

Interface::ReasonBreaks Interface responsável por processar todos os Requests relativos motivos de quebra - reasonbreaks. Entidade Modelo : ReasonBreak

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 125 / 144

Page 126: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumento Obrigatório Tipo Descricão

reasonbreak [codigo] SIM integer Número/código da Unit. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "reasonbreak":{"codigo":2} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “reasonbreak” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “reasonbreak” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "reasonbreak":[

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 126 / 144

Page 127: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{"codigo":1,“descricao”:"Lixo",(...)}, {"codigo":2,“descricao”:"Fora de Prazo",(...)}

] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

reasonbreak SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "reasonbreak": [ {"codigo":1,"descricao":"Lixo",”reposicao”:1}, {"codigo":2,"descricao":"Fora de Prazo",”reposicao”:1} ] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância a ser processada deverá obedecer à estrutura da Entidade Modelo.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 127 / 144

Page 128: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos da base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

reasonbreak SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Reasonbreak dentro do Array deve obedecer à seguinte estrutura:

reasonbreak[codigo] SIM integer(11) Código do motivo de quebra

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "reasonbreak":[

{"codigo":1}, {"codigo":2} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “reasonbreak” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 128 / 144

Page 129: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

transações.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido. Argumentos:

Argumento Obrigatório Tipo Descricão

reasonbreak[lastupdate] SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “reasonbreak”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “reasonbreak” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::setFullSync Marcar todas as instâncias da Entidade Modelo para serem sincronizadas. Exemplo de um Request JSON:

{"auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f"}

Respostas:

Código Resposta Descrição

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 129 / 144

Page 130: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância - vazia do tipo <Entidade Modelo> no atributo “reasonbreak”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

reasonbreak[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “reasonbreak”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Content está vazio.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 130 / 144

Page 131: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Interface::Categories Interface responsável por processar todos os Requests relativos às instâncias das categorias dos produtos - categories. Entidades modelo: Category Entidades relacionadas: SubCategory

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

category [codigo] SIM integer Número/código da Categoria.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "category":{

"codigo":2 }

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “category” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 131 / 144

Page 132: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “category” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "category": [ { "codigo": 1, "descricao": "Cafés", "loja": 1, "subcategories": [ { "codigo": 5, "descricao": "cafe", "categoria": 1, "sync": 0, "lastupdate": "2016-04-11 10:53:55" }, { "codigo": 4, "descricao": "filipes", "categoria": 1, "sync": 1, "lastupdate": "2016-04-11 10:53:55" }, { "codigo": 6, "descricao": "testes", "categoria": 1, "sync": 1, "lastupdate": "2016-04-11 10:53:55" } ],

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 132 / 144

Page 133: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

"lastupdate": "2016-09-28 17:03:23" } ] (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

Argumento Obrigatório Tipo Descricão

category SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância da Entidade Modelo a ser processada deverá obedecer à estrutura Entidade Modelo.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 133 / 144

Page 134: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos na base de dados - inclusive as suas subfamílias. Argumentos:

Argumento Obrigatório Tipo Descricão

category SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Cada instância Family dentro do Array deve obedecer à seguinte estrutura:

category [codigo] SIM integer Número/código da categoria.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "category":[

{"codigo":11}, {"codigo":12} ]

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “category” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Só podem ser removidos instâncias da Entidade Modelo que não estejam associados a transações e que não tenham subfamílias associadas a transações.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 134 / 144

Page 135: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

category [lastupdate] SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “category”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “category” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "category": [ { "codigo": 914, "descricao": "Sem Categoria", "loja": 1, "subcategories": "", "lastupdate": "2016-10-07 09:41:16" } (...)

Nota: ver informação sobre listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 135 / 144

Page 136: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::setFullSync Marcar todas as Entidades Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância (vazia) do tipo <Entidade Modelo> no atributo “category”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

Argumento Obrigatório Tipo Descricão

category[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “category”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 136 / 144

Page 137: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “category” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

@TODO

Interface::Cards Interface responsável por processar todos os Requests relativos às instâncias dos cartões Entidades modelo: Cards

Ação::getInstance Retorna a instância da Entidade Modelo pedida. Argumentos:

Argumento Obrigatório Tipo Descricão

card [codigo] SIM integer Número/código da Cartão.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 137 / 144

Page 138: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "card":{ "codigo":2} }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) A instância é retornada na Resposta no atributo “card” do tipo <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foi encontrada a instância pedida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstances Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo.

Argumentos: Opcional usar os argumentos para as listagens. Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “card” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "card": [ { "loja": 1, "numero": 4, "cliente": 6, "saldo": -9.01,

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 138 / 144

Page 139: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

"estado": 0, "motivo": "aaaa ddddd ccccc", "data": "2016-04-11", "prepago": 1, "minimo": 0, "mingrupo": 0, "maximo": 0, "maxgrupo": 0, "zona": 0, "serie": 0, "perfil": 0, "creditos": 0, "gravacao": "", "maxcredito": 12, "lastupdate": "2016-04-11 10:05:11" }, { "loja": 1, "numero": 5, "cliente": 7, "saldo": 0, "estado": 0, "motivo": "", "data": "1899-12-30", "prepago": 3, "minimo": 0, "mingrupo": 0, "maximo": 0, "maxgrupo": 0, "zona": 0, "serie": 0, "perfil": 0, "creditos": 0, "gravacao": "", "maxcredito": 0, "lastupdate": "2016-03-03 09:35:34" }, (...)

Nota: ver informação sobre listagens.

Ação::saveInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem inseridos/atualizados na base de dados. Argumentos:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 139 / 144

Page 140: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumento Obrigatório Tipo Descricão

card SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_CREATED (201) As instâncias foram processadas com sucesso.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar gravar pelo menos uma das instâncias. A(s) instância(s) com erro não foram guardada(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Nota: Cada instância da Entidade Modelo a ser processada deverá obedecer à estrutura Entidade Modelo.

Ação::deleteInstances Processa uma lista (Array) de instâncias da Entidade Modelo para serem removidos na base de dados - inclusive as suas subfamílias. Argumentos:

Argumento Obrigatório Tipo Descricão

card SIM json Array Um Array de JSON Object do tipo <Entidade Modelo>.

Exemplo de um Request JSON:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 140 / 144

Page 141: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", "card":[

{"numero":11}, {"numero":12}

] }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Todas as instâncias foram removidas com sucesso. Todas as instâncias são retornadas na Resposta no atributo “card” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_UNPROCESSABLE_ENTITY (422)

Ocorreu um erro ao tentar remover pelo menos uma das instâncias. A(s) instância(s) com erro não foram removida(s). Deve consultar a mensagem recebida.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToSync Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sofrido alterações numa data/hora superior ou igual ao valor fornecido no pedido.

Argumentos:

Argumento Obrigatório Tipo Descricão

card [lastupdate] SIM datetime Timestamp de verificação.

Exemplo de um Request JSON:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 141 / 144

Page 142: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “card”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “card” do tipo Array <Entidade Modelo> - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias desta Entidade Modelo para sincronizar.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Exemplo de resposta em JSON StatusCode::ZSAPI_OK (200):

(...) "card": [ { "loja": 1, "numero": 1019, "cliente": 0, "saldo": 0, "estado": 0, "motivo": "stuff", "data": "1899-12-30", "prepago": 1, "minimo": 0, "mingrupo": 0, "maximo": 0, "maxgrupo": 0, "zona": 0, "serie": 0, "perfil": 0, "creditos": 0, "gravacao": "", "maxcredito": 0, "lastupdate": "2017-01-30 14:56:22" } (...)

Nota: ver informação sobre listagens.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 142 / 144

Page 143: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Ação::setFullSync Marcar todas as Entidades Modelo para serem sincronizadas. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f" }

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) Na Resposta é retornada uma instância (vazia) do tipo <Entidade Modelo> no atributo “card”.

StatusCode::ZSAPI_NOT_MODIFIED (304) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

Ação::getInstancesToDelete Retorna uma lista (Array) contendo todas as instâncias da Entidade Modelo que tenham sido marcadas para remoção da base de dados desde a data fornecida. Argumentos:

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 143 / 144

Page 144: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017

Argumento Obrigatório Tipo Descricão

card[lastupdate] SIM datetime Timestamp de verificação. Exemplo de um Request JSON:

{ "auth_hash":"289c35ba199c582b04f8c8db415cd54876fd0d0f", “card”:{”lastupdate”: “2012-01-01 00:00:00”}

}

Respostas:

Código Resposta Descrição

StatusCode::ZSAPI_OK (200) As instâncias são retornadas na Resposta no atributo “card” do tipo Array - consultar documento sobre estrutura da entidade.

StatusCode::ZSAPI_NO_CONTENT (204) Não foram encontradas instâncias da Entidade Modelo - Certifique-se de que existem registos na base de dados.

StatusCode::ZSAPI_BAD_REQUEST (400) Request mal formado.

ZoneSoft - 2016 www.zonesoft.pt

ZSAPI 144 / 144

Page 145: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017
Page 146: Manual de Integração ZSAPI Versão: 1.8 Draft 2 Março, 2017