Documentação da API do VMpay Release 1.0.0

Verti Tecnologia

Sep 22, 2021

Apresentação

1 Introdução 1

2 Visão geral 3

3 Resources disponíveis 5

i ii CHAPTER 1

Introdução

1.1 Objetivo

Estabelecer a forma e conteúdo que serão disponibilizados para integração com outros sistemas denominados ERPs.

1.2 Áreas envolvidas

• Departamento tecnologia • Departamento comercial / comercial / representantes • Suporte

1.3 Metodologia

As informações disponibilizadas no sistema VMpay, consulta, cadastro, edição e exclusão serão disponibilizadas por meio de um web service de forma que possam ser capturadas e integradas em outro sistema. O sistema de ERP será o agente “ativo”, ou seja, cabe a ele proceder a busca e/ou envio das informações requeridas, o sistema de Telemetria será o agente “passivo”, disponibiliza as informações, não realiza buscas ou envia. As informações poderão ainda ser capturas por meio de planilhas eletrônicas, limitando-se as planilhas disponibi- lizadas no sistema de Telemetria VMPay.

1.4 Elaboração

As informações serão disponibilizadas pelo web service padrão REST, dados trocado no formato JSON. I. Comercial

1 Documentação da API do VMpay, Release 1.0.0

a. Sempre que houver uma previsão de integração o departamento Comercial deverá informar o cliente sobre o processo e forma de integração. b. O comercial deve enviar para a área de TI o nome do software ERP, os dados de contato Técnico para que a área de TI possa realizar as tratativas Técnicas; II. T.I. a. Com base nas tratativas com a empresa “desenvolvedora” do produto a área de T.I determinará o prazo para disponibilização das informações; b. Se for necessário, a área de T.I desenvolverá um plano de trabalho antes da integração. c. Toda tratativa será documentada de forma a minimizar os erros de comunicação. d. Ilustração do processo

1.5 Conferência

Após definição do processo de integração, o responsável pela área de T.I deverá fazer uma conferência minuciosa de todos os dados.

1.6 Aprovação

A aprovação é realizada pela Área de T.I e pela fornecedora/desenvolvedora do sistema ERP.

1.7 Envio

Toda documentação será enviada por meio eletrônico.

2 Chapter 1. Introdução CHAPTER 2

Visão geral

2.1 Endpoints

Os endpoints são mapeados como segue: http://vmpay.vertitecnologia.com.br/api/v1/caminho/para/resource

2.2 Autenticação

Cada operador receberá a sua api key, que deverá ser passada na URL em TODAS as requisições feitas à API. Exemplo: http://vmpay.vertitecnologia.com.br/api/v1/caminho/para/api?access_

˓→token=837e068fbb4c1e1f

2.3 Paginação

Serviços que retornam muitos registros podem usar paginação para evitar sobrecarga do servidor e demora no cliente. Quando habilitada os seguintes parâmetros estarão disponíveis: • page: a página a ser buscada pela consulta. – Caso não seja passado, é considerado 1. • per_page: o número de registros por página. – Caso não seja passado, é considerado 100. – Pode ser até 1000 no máximo. – Caso seja passado mais que 1000, é retornado erro com o código HTTP 400 (bad request).

3 Documentação da API do VMpay, Release 1.0.0

2.4 Exemplo de requisição válida

Essa requisição lista toda as categorias de um determinado operador:

GET http://vmpay.vertitecnologia.com.br/api/v1/categories?access_token=213qweasdzxc

2.5 Códigos de retorno e seus significados

• 200: Requisição processada com sucesso / entidade salva com sucesso • 201: Entidade criada com sucesso • 204: Entidade excluída com sucesso • 400: Algum parâmetro obrigatório faltando ou com formato errado • 401: Tentativa de acesso a entidade não permitida • 422: Entidade não salva por conta de erros de validação

2.6 Código de exemplo

Um exemplo de código em linguagem Python para acessar a API do VMPay está disponível no repositório da Verti no github.

4 Chapter 2. Visão geral CHAPTER 3

Resources disponíveis

3.1 Categorias

3.1.1 Listar

GET/api/v1/categories

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 199, "name":"Bebidas" }, { "id": 200, "name":"Doces" }, { "id": 201, "name":"Salgados" }, { "id": 208, "name":"Combo Promocional" (continues on next page)

5 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "id": 235, "name":"Barras de Cereal" }, { "id": 236, "name":"Achocolatados" }, { "id": 237, "name":"Sucos" }, { "id": 238, "name":"Água Mineral" }, { "id": 239, "name":"Higiene e Limpeza" }, { "id": 252, "name":"Livros" }, { "id": 363, "name":"Picolés" }, { "id": 470, "name":"Insumos solúveis" }, { "id": 471, "name":"Cafés solúveis" } ]

3.1.2 Ver

GET/api/v1/categories/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da categoria sim

6 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

{ "id": 236, "name":"Achocolatados" }

Erros

status descrição response body 404 categoria não encontrada { “status”: “404”, “error”: “Not Found” }

3.2 Clientes

3.2.1 Listar

GET/api/v1/clients

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 21, "name":"Verti Tecnologia", "corporate_name":"VERTI TECNOLOGIA COMERCIO E LOCACAO DE EQUIPAMENTOS LTDA - ME", "cpf": null, "cnpj":"09.019.291/0001-34", "nif": null, "contact_name":"Luiz Alberto Schwab Jr.", "contact_phone":"41-9876-5432", "contact_email":"[email protected]", "notes": null, "legal_type":"corporation", "main_location_id": 28 }, { "id": 24, "name":"Pão de Açúcar", (continues on next page)

3.2. Clientes 7 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "corporate_name":"Cia. Brasileira de Distribuição", "cpf": null, "cnpj":"047508411000156", "nif": null, "contact_name":"João Silva", "contact_phone":"11-98765-4321", "contact_email":"[email protected]", "notes": null, "legal_type":"corporation", "main_location_id": 34 } ]

3.2.2 Ver

GET/api/v1/clients/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do cliente sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 21, "name":"Verti Tecnologia", "corporate_name":"VERTI TECNOLOGIA COMERCIO E LOCACAO DE EQUIPAMENTOS LTDA - ME", "cpf": null, "cnpj":"09.019.291/0001-34", "nif": null, "contact_name":"Luiz Alberto Schwab Jr.", "contact_phone":"41-9876-5432", "contact_email":"[email protected]", "notes": null, "legal_type":"corporation", "main_location_id": 28 }

Erros

status descrição response body 404 cliente não encontrado { “status”: “404”, “error”: “Not Found” }

8 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.2.3 Criar

POST/api/v1/clients

Request:

{ "client":{ "name":"Cliente fictício", "legal_type":"corporation", "corporate_name":"Razão social Ltda.", "cnpj":"63271298000194", "contact_name":"João Silva", "contact_phone":"41-9999-8888", "contact_email":"[email protected]", "notes":"observação" } }

Campos

Obrigatórios

• client – name: nome do cliente. – legal_type: indica o tipo de pessoa.

* Valores permitidos: person (pessoa física) ou corporation (pessoa jurídica). – cpf : CPF (obrigatório apenas quando for pessoa física). – cnpj: CNPJ (obrigatório apenas quando for pessoa jurídica).

Opcionais

• client – corporate_name: razão social. – contact_name: Nome para contato. – contact_phone: Telefone para contato. – contact_email: email para contato. – notes: Observação. – main_location_id: id do endereço principal do cliente. – nif : Número de Identificação Fiscal (Portugal).

Retorno

status descrição 201 Criado com sucesso

3.2. Clientes 9 Documentação da API do VMpay, Release 1.0.0

Exemplo:

{ "id": 1187, "name":"Novo Cliente", "corporate_name": null, "cpf": null, "cnpj":"54173174000185", "nif": null, "contact_name": null, "contact_phone": null, "contact_email": null, "notes": null, "legal_type":"corporation", "main_location_id": null }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "cnpj":[ "não pode ficar em branco" ] }

3.2.4 Atualizar

PATCH/api/v1/clients/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do cliente sim

Request:

{ "client":{ "name":"Novo nome" } }

10 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Campos

Ao menos um campo interno a client deve ser passado.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 1186, "name":"Novo nome", "corporate_name": null, "cpf": null, "cnpj":"54173174000185", "nif": null, "contact_name": null, "contact_phone": null, "contact_email": null, "notes": null, "legal_type":"corporation", "main_location_id": null }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 cliente não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "name":[ "é muito longo (máximo: 255 caracteres)" ] }

3.2.5 Excluir

DELETE/api/v1/clients/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do cliente sim

3.2. Clientes 11 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 cliente não encontrado { “status”: “404”, “error”: “Not Found” }

3.3 Códigos de países e estados/regiões

3.3.1 Códigos dos países

Código País AF Afeganistão ZA África do Sul AL Albânia DE Alemanha AD Andorra AO Angola AI Anguilla AQ Antárctida AG Antígua e Barbuda SA Arábia Saudita DZ Argélia AR Argentina AM Arménia AW Aruba AU Austrália AT Áustria AZ Azerbaijão BS Bahamas BD Bangladesh BB Barbados BH Barein BE Bélgica BZ Belize BJ Benim BM Bermuda BY Bielorússia BO Bolívia, Estado Plurinacional da BQ Bonaire, Santo Eustáquio e Saba BA Bósnia-Herzegóvina BW Botsuana BR Brasil Continued on next page

12 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 1 – continued from previous page Código País BN Brunei BG Bulgária BF Burkina Faso BI Burundi BT Butão CV Cabo Verde CM Camarões KH Cambodja CA Canadá KZ Cazaquistão TD Chade CL Chile CN China CY Chipre CO Colômbia KM Comoros CG Congo CD Congo, República Democrática do KP Coreia, República Popular Democrática de KR Coreia, República da CR Costa Rica CI Costa do Marfim HR Croácia CU Cuba CW Curação DK Dinamarca DJ Djibouti DM Dominica EG Egipto SV El Salvador AE Emirados Árabes Unidos EC Equador ER Eritreia SK Eslováquia SI Eslovénia ES Espanha US Estados Unidos EE Estónia ET Etiópia RU Federação Russa FJ Fiji PH Filipinas FI Finlândia FR França GA Gabão GM Gâmbia GH Gana GE Geórgia GS Geórgia do Sul e Ilhas Sandwich do Sul Continued on next page

3.3. Códigos de países e estados/regiões 13 Documentação da API do VMpay, Release 1.0.0

Table 1 – continued from previous page Código País GI Gibraltar GD Granada GR Grécia GL Gronelândia GP Guadalupe GU Guam GT Guatemala GG Guernsey GY Guiana GF Guiana Francesa GN Guiné GQ Guiné Equatorial GW Guiné-Bissáu HT Haiti HN Honduras HK Hong Kong HU Hungria BV Ilha Bouvet HM Ilha Heard e Ilhas McDonald CX Ilha Natal NF Ilha Norfolk RE Ilha Reunião IM Ilha de Man AX Ilhas Åland KY Ilhas Caimão CC Ilhas Cocos CK Ilhas Cook FK Ilhas Falkland (Malvinas) FO Ilhas Feroé MP Ilhas Marianas do Norte MH Ilhas Marshall UM Ilhas Menores Exteriores dos Estados Unidos SB Ilhas Salomão TC Ilhas Turks e Caicos VG Ilhas Virgens, Britânicas VI Ilhas Virgens, Estados Unidos IN Índia ID Indonésia IR Irão, República Islâmica do IQ Iraque IE Irlanda IS Islândia IL Israel IT Itália JM Jamaica JP Japão JE Jersey JO Jordânia KI Kiribati Continued on next page

14 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 1 – continued from previous page Código País KW Kuwait LS Lesoto LV Letónia LB Líbano LR Libéria LY Líbia LI Liechtenstein LT Lituânia LU Luxemburgo MO Macau MK Macedónia, República MG Madagáscar MY Malásia MW Malawi MV Maldivas ML Mali MT Malta MA Marrocos MQ Martinica MU Maurícias MR Mauritânia YT Mayotte MX México FM Micronesia, Estados Federados da MZ Moçambique MD Moldávia, República da MC Mónaco MN Mongólia ME Montenegro MS Montserrat MM Myanmar NA Namíbia NR Nauru NP Nepal NI Nicarágua NE Níger NG Nigéria NU Niue NO Noruega NC Nova Caledónia NZ Nova Zelândia OM Oman NL Países Baixos PW Palau PS Palestina, Autoridade da PA Panamá PG Papua Nova Guiné PK Paquistão PY Paraguai Continued on next page

3.3. Códigos de países e estados/regiões 15 Documentação da API do VMpay, Release 1.0.0

Table 1 – continued from previous page Código País PE Peru PN Pitcairn PF Polinésia Francesa PL Polónia PR Porto Rico PT Portugal QA Quatar KE Quénia KG Quirgistão GB Reino Unido SY República Árabe Síria CF República Centro-Africana CZ República Checa LA República Democrática Popular do Laos DO República Dominicana SS República do Sudão RO Roménia RW Ruanda EH Sahara Ocidental BL Saint Barthélemy KN Saint Kitts e Nevis PM Saint Pierre e Miquelon WS Samoa AS Samoa Americana SM San Marino SH Santa Helema, Ascenção e Tristão da Cunha LC Santa Lúcia VA Santa Sé (Estado Cidade do Vaticano) MF São Martin (Território Francês) SX São Martinho (Países Baixos) ST São Tomé e Príncipe VC São Vicente e Grenadinas SN Senegal SL Serra Leoa RS Sérvia SC Seychelles SG Singapura SO Somália LK Sri Lanka SZ Suazilândia SD Sudão SE Suécia CH Suíça SR Suriname SJ Svalbard e Jan Mayen TJ Tadjaquistão TH Tailândia TW Taiwan TZ Tanzânia, República Unida da Continued on next page

16 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 1 – continued from previous page Código País IO Território Britânico do Oceano Índico TF Territórios Franceses do Sul TL Timor-Leste TG Togo TK Tokelau TO Tonga TT Trinidade e Tobago TN Tunísia TM Turcomenistão TR Turquia TV Tuvalu UA Ucrânia UG UY Uruguai UZ Uzbequistão VU Vanuatu VE Venezuela, República Bolivariana da VN Vietname WF Wallis e Futuna YE Yémen ZM Zâmbia ZW Zimbabwe

3.3.2 Códigos dos estados/regiões

Afeganistão (AF)

Código Estado/Região BDS Badakhshan BDG Badghis BGL Baghlan BAL Balkh BAM Bamiyan KAB Cabul KAP Capisa DAY Daikondi FRA Farah FYB Faryab GHA Ghazni GHO Ghowr HEL Helmand HER Herat JOW Jowzjan KAN Kandahar KHO Khost KDZ Konduz KNR Kunar LAG Laghman Continued on next page

3.3. Códigos de países e estados/regiões 17 Documentação da API do VMpay, Release 1.0.0

Table 2 – continued from previous page Código Estado/Região LOG Logar LOW Lowgar WAR Maydan-Wardak NAN Nangarhar NIM Nimruz NUR Nuristão URU Oruzgan ORU Oruzgan [Uruzgan] PIA Paktia PKA Paktika PAN Panjshir PAR Parwan SAM Samangan SAR Sar-e Pol TAK Takhar ZAB Zabol

África do Sul (ZA)

Código Estado/Região WC Cabo Ocidental EC Cabo Oriental NC Cabo Setentrional FS Estado Livre GT Gauteng NL KwaZulu-Natal LP Limpopo MP Mpumalanga NW Noroeste

Albânia (AL)

Código Estado/Região BR Berat 01 Berat BU Bulqizë DL Delvinë DV Devoll 09 Dibër DI Dibër 02 Durrës DR Durrës EL Elbasan 03 Elbasan FR Fier 04 Fier GJ Gjirokastër Continued on next page

18 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 3 – continued from previous page Código Estado/Região 05 Gjirokastër GR Gramsh HA Has KA Kavajë ER Kolonjë KO Korçë 06 Korçë KR Krujë KC Kuçovë 07 Kukës KU Kukës KB Kurbin 08 Lezhë LE Lezhë LB Librazhd LU Lushnjë MM Malësi e Madhe MK Mallakastër MT Mat MR Mirditë PQ Peqin PR Përmet PG Pogradec PU Pukë SR Sarandë SH Shkodër 10 Shkodër SK Skrapar TE Tepelenë 11 Tirana TR Tirana TP Tropojë VL Vlorë 12 Vlorë

3.3. Códigos de países e estados/regiões 19 Documentação da API do VMpay, Release 1.0.0

Alemanha (DE)

Código Estado/Região BW Baden-Württemberg NI Baixa Saxônia BY Baviera BE Berlim BB Brandemburgo HB Bremen HH Hamburgo HE Hesse MV Mecklemburgo-Pomerânia Ocidental NW Renânia do Norte-Vestfália RP Renânia-Palatinado SL Sarre SN Saxónia ST Saxônia-Anhalt SH Schleswig-Holstein TH Turíngia

Andorra (AD)

Código Estado/Região 07 Andorra la Vella 02 Canillo 03 Encamp 08 Escaldes-Engordany 04 La Massana 05 Ordino 06 Sant Julià de Lòria

20 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Angola (AO)

Código Estado/Região BGO Bengo BGU Benguela BIE Bié CAB Cabinda CCU Cuando-Cubango CNN Cunene HUA Huambo HUI Huíla CNO Kwanza-Norte CUS Kwanza-Sul LUA Luanda LNO Lunda-Norte LSU Lunda-Sul MAL Malanje MOX Moxico NAM Namibe UIG Uíge ZAI Zaire

Anguilla (AI)

País não possui estados ou regiões.

Antárctida (AQ)

País não possui estados ou regiões.

Antígua e Barbuda (AG)

Código Estado/Região 10 Barbuda 11 Redonda X2~ Redonda 03 Saint George 04 Saint John 05 Saint Mary 06 Saint Paul 07 Saint Peter 08 Saint Philip

3.3. Códigos de países e estados/regiões 21 Documentação da API do VMpay, Release 1.0.0

Arábia Saudita (SA)

Código Estado/Região 11 Al Bahah (distrito) 08 Al Hudud ash Shamaliyah 12 Al Jawf (Arábia Saudita) 03 Al Madinah 05 Al Qasim 01 Ar Riyad 04 Ash Sharqiyah 06 Ha’il 09 Jizan 02 Meca 10 Najran 07 Tabuk (província) 14 ‘Asir

Argélia (DZ)

Código Estado/Região 01 Adrar 44 Aïn Defla 46 Aïn Témouchent 23 Annaba 16 Argel 05 Batna 08 Béchar 07 Biskra 09 Blida 34 Bordj Bou Arreridj 10 Bouira 35 Boumerdès 06 Bugia 02 Chlef 25 Constantina 17 Djelfa 32 El Bayadh 39 El Oued 36 El Tarf 47 Ghardaia 24 Guelma 33 Illizi 18 Jijel 40 Khenchela 03 Laghouat 29 Mascara 26 Médéa 43 Mila 27 Mostaganem Continued on next page

22 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 4 – continued from previous page Código Estado/Região 28 M’Sila 45 Naâma 31 Orã 30 Ouargla 04 Oum el Bouaghi 48 Relizane 20 Saïda 19 Sétif 22 Sidi Bel Abbès 21 Skikda 41 Souk Ahras 11 Tamanghasset 12 Tébessa 14 Tiaret 37 Tindouf 42 Tipasa 38 Tissemsilt 15 Tizi Ouzou 13 Tlemcen

Argentina (AR)

Código Estado/Região B Buenos Aires C Buenos Aires2 K Catamarca H Chaco U Chubut X Córdova (província da Argentina) W Corrientes E Entre Ríos P Formosa Y Jujuy L La Pampa M Mendoza (província) N Misiones Q Neuquén R Río Negro F Rioja A Salta J San Juan D San Luis Z Santa Cruz S Santa Fé G Santiago del Estero V Terra do Fogo, Antártica e Ilhas do Atlântico Sul T Tucumán

3.3. Códigos de países e estados/regiões 23 Documentação da API do VMpay, Release 1.0.0

Arménia (AM)

Código Estado/Região AG Aragatsotn AR Ararate AV Armavir ER Erevan GR Gegharkunik KT Kotayk LO Lorri SH Shirak SU Syunik TV Tavush VD Vayots Dzor

Aruba (AW)

País não possui estados ou regiões.

Austrália (AU)

Código Estado/Região SA Austrália Meridional WA Austrália Ocidental NSW Nova Gales do Sul QLD Queensland TAS Tasmânia ACT Território da Capital Australiana NT Território do Norte VIC Vitória

Áustria (AT)

Código Estado/Região 4 Alta Áustria 3 Baixa Áustria 1 Burgenland 2 Caríntia 6 Estíria 5 Salzburgo 7 Tirol 9 Viena 8 Vorarlberg

Azerbaijão (AZ)

24 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Código Estado/Região ABS Absheron AGM Agdam AGS Agdash AGC Aghjabadi AGA Agstafa AGU Agsu AB Äli Bayramli AST Astara BAB Babek BA Baku BAL Balakan BAR Barda BEY Beylagan BIL Bilasuvar DAS Dashkasan DAV Däväçi FUZ Fizuli GAD Gadabay GA Ganja QOB Gobustão GOR Goranboy GOY Goychay GYG Goygol HAC Hajigabul IMI Imishli ISM Ismailli CAB Jabrayil CAL Jalilabad CUL Julfa KAL Kalbajar KAN Kangarli XAC Khachmaz XIZ Khizi XCI Khojali XVD Khojavend KUR Kurdamir LAC Lachin LA Lankaran LAN Lankaran2 LER Lerik MAS Masally MI Mingachevir NA Naftalan NX Nakichevan NV Naquichevão NEF Neftchala OGU Oguz˘ ORD Ordubad QAB Qabala QAX Qakh Continued on next page

3.3. Códigos de países e estados/regiões 25 Documentação da API do VMpay, Release 1.0.0

Table 5 – continued from previous page Código Estado/Região QAZ Qazakh QBA Quba QBI Qubadli QUS Qusar SAT Saatly SAB Sabirabad SAD Sadarak SAL Salyan SMX Samukh SBN Shabran SAH Shakhbuz SA Shaki SAK Shaki2 SMI Shamakhi SKR Shamkir SAR Sharur SR Shirvan SUS Shusha SIY Siazan XA Stepanakert SM Sumqayit SS Susa City TAR Tartar TOV Tovuz UCA Ujar XAN Xanlar YAR Yardymli YE Yevlakh YEV Yevlakh ZAN Zangilan ZAQ Zaqatala ZAR Zardab

Bahamas (BS)

Código Estado/Região AK Acklins AC Acklins and Crooked Islands BY Berry Islands BI Bimini BP Black Point CO Central Abaco CS Central Andros CE Central Eleuthera CK Crooked Island EG East Grand Bahama EX Exuma FP Freeport Continued on next page

26 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 6 – continued from previous page Código Estado/Região FC Fresh Creek GH Governor’s Harbour GC Grand Cay GT Green Turtle Cay HI Harbour Island HR High Rock HT Hope Town CI Ilha Cat IN Inagua KB Kemps Bay LI Long Island MC Mangrove Cay MH Marsh Harbour MG Mayaguana MI Moore’s Island NP New Providence NB Nicholls Town and Berry Islands NO North Abaco NS North Andros NE North Eleuthera RI Ragged Island RS Rock Sound RC Rum Cay SS San Salvador SR San Salvador and Rum Cay SP Sandy Point SO South Abaco SA South Andros SE South Eleuthera SW Spanish Wells WG West Grand Bahama

Bangladesh (BD)

Código Estado/Região 05 Bagerhat 01 Bandarban (distrito) 02 Barguna (distrito) 06 Barisal A Barisal2 07 Bhola (distrito) 03 Bogra 04 Brahmanbaria (distrito) 09 Chandpur B Chittagong 10 Chittagong (distrito) 12 Chuadanga 08 Comilla Continued on next page

3.3. Códigos de países e estados/regiões 27 Documentação da API do VMpay, Release 1.0.0

Table 7 – continued from previous page Código Estado/Região 11 Cox’s Bazar 13 Dhaka C Dhaka2 14 Dinajpur 55 Distrito de Rangpur 15 Faridpur 16 Feni 19 Gaibandha 18 Gazipur 17 Gopalganj 20 Habiganj 21 Jamalpur 22 Jessore 25 Jhalkathi 23 Jhenaidah 24 Joypurhat 29 Khagrachari 27 Khulna D Khulna2 26 Kishoreganj 28 Kurigram 30 Kushtia 31 Lakshmipur 32 Lalmonirhat 36 Madaripur 37 Magura 33 Manikganj 38 Maulvi Bazar 39 Meherpur 35 Munshiganj 34 Mymensingh H Mymensingh Division 48 Naogaon 43 Narail 40 Narayanganj 42 Narsingdi 44 Natore 45 Nawabganj 41 Netrokona 46 Nilphamari 47 Noakhali 49 Pabna 52 Panchagarh 51 Patuakhali 50 Pirojpur 53 Rajbari 54 Rajshahi E Rajshahi2 56 Rangamati Continued on next page

28 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 7 – continued from previous page Código Estado/Região F Rangpur Division 58 Satkhira 62 Shariatpur 57 Sherpur 59 Sirajganj 61 Sunamganj 60 Sylhet G Sylhet2 63 Tangail 64 Thakurgaon

Barbados (BB)

Código Estado/Região 01 Christ Church 02 Saint Andrew 03 Saint George 04 Saint James 05 Saint John 06 Saint Joseph 07 Saint Lucy 08 Saint Michael 09 Saint Peter 10 Saint Philip 11 Saint Thomas

Barein (BH)

Código Estado/Região 16 Central 13 Província da Capital 15 Província de Muharraq 17 Província do Norte 14 Província do Sul

3.3. Códigos de países e estados/regiões 29 Documentação da API do VMpay, Release 1.0.0

Bélgica (BE)

Código Estado/Região VAN Antuérpia VBR Brabante Flamengo WBR Brabante Valão VLG Flanders VWV Flandres Ocidental VOV Flandres Oriental WHT Hainaut WLG Liège VLI Limburgo WLX Luxemburgo WNA Namur BRU Região de Bruxelas-Capital WAL Valônia

Belize (BZ)

Código Estado/Região BZ Belize CY Cayo CZL Corozal OW Orange Walk SC Stann Creek TOL Toledo

Benim (BJ)

Código Estado/Região AL Alibori AK Atakora AQ Atlantique BO Borgou CO Collines DO Donga KO Kouffo LI Littoral (departamento) MO Mono OU Oueme PL Plateau ZO Zou

Bermuda (BM)

País não possui estados ou regiões.

30 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Bielorússia (BY)

Código Estado/Região BR Brest X1~ Horad Minsk HR Hrodna HM Minsk HO Voblast de Homiel MA Voblast de Mahilou MI Voblast de Minsk VI Voblast de Viciebsk

Bolívia, Estado Plurinacional da (BO)

Código Estado/Região B Beni H Chuquisaca C Cochabamba L La Paz O Oruro N Pando P Potosí S Santa Cruz T Tarija

Bonaire, Santo Eustáquio e Saba (BQ)

Código Estado/Região BO Bonaire SA Saba SE Santo Eustáquio

3.3. Códigos de países e estados/regiões 31 Documentação da API do VMpay, Release 1.0.0

Bósnia-Herzegóvina (BA)

Código Estado/Região 05 Bosnian Podrinje 06 Central Bosnia BRC Distrito de Brckoˇ BIH Federação da Bósnia e Herzegovina 07 Herzegovina-Neretva 10 Livanjski 02 Posavina SRP República Sérvia 09 Sarajevo 03 Tuzlanski 01 Una-Sana 08 West Herzegovina 04 Zenica-Doboj

Botsuana (BW)

Código Estado/Região CE Central CH Chobe SO Distrito do Sul FR Francistown GA Gaborone GH Ghanzi JW Jwaneng KG Kgalagadi KL Kgatleng KW Kweneng LO Lobatse NE Nordeste NW Noroeste SP Selebi-Phikwe ST Sowa, Botswana SE Sudeste

32 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Brasil (BR)

Código Estado/Região AC Acre AL Alagoas AP Amapá AM Amazonas BA Bahia CE Ceará DF Distrito Federal ES Espírito Santo GO Goiás MA Maranhão MT Mato Grosso MS Mato Grosso do Sul MG Minas Gerais PA Pará PB Paraíba PR Paraná PE Pernambuco PI Piauí RN Rio Grande do Norte RS Rio Grande do Sul RJ Rio de Janeiro RO Rondônia RR Roraima SC Santa Catarina SP São Paulo SE Sergipe TO Tocantins

Brunei (BN)

Código Estado/Região BE Belait BM Brunei e Muara TE Temburong TU Tutong

3.3. Códigos de países e estados/regiões 33 Documentação da API do VMpay, Release 1.0.0

Bulgária (BG)

Código Estado/Região 01 Blagoevgrad (província) 02 Burgas 08 Dobrich (província) 07 Gabrovo (província) 26 Haskovo 09 Kardzhali (província) 10 Kyustendil (província) 11 Lovech 12 Montana (província) 13 Pazardzhik 14 Pernik (província) 15 Pleven (província) 16 Plovdiv 17 Razgrad (província) 18 Ruse (província) 27 Shumen 19 Silistra (província) 20 Sliven 21 Smolyan (província) 22 Sofia 23 Sófia 24 Stara Zagora (província) 25 Targovishte (província) 03 Varna 04 Veliko Tarnovo (província) 05 Vidin (província) 06 Vratsa (província) 28 Yambol

Burkina Faso (BF)

Código Estado/Região BAL Balé (Burkina Faso) BAM Bam BAN Banwa BAZ Bazéga 01 Boucle du Mouhoun BGR Bougouriba BLG Boulgou BLK Boulkiemdé COM Comoé GAN Ganzourgou GNA Gnagna GOU Gourma HOU Houet IOB Ioba Continued on next page

34 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 8 – continued from previous page Código Estado/Região KAD Kadiogo KEN Kénédougou KMD Komondjari KMP Kompienga KOS Kossi KOP Koulpélogo KOT Kouritenga KOW Kourwéogo LER Léraba LOR Loroum MOU Mouhoun NAO Nahouri NAM Namentenga NAY Nayala NOU Noumbiel OUB Oubritenga OUD Oudalan PAS Passoré PON Poni 02 Região Cascades 03 Região Centro 04 Região Centro-Este 05 Região Centro-Norte 06 Região Centro-Oeste 07 Região Centro-Sul 08 Região Este 09 Região Hauts-Bassins 10 Região Norte 11 Região Plateau-Central 12 Região Sahel 13 Região Sul-Oeste SNG Sanguié SMT Sanmatenga SEN Séno SIS Sissili SOM Soum SOR Sourou TAP Tapoa TUI Tuy YAG Yagha YAT Yatenga ZIR Ziro (província) ZON Zondoma ZOU Zoundwéogo

3.3. Códigos de países e estados/regiões 35 Documentação da API do VMpay, Release 1.0.0

Burundi (BI)

Código Estado/Região BB Bubanza BJ Bujumbura BM Bujumbura Mairie BL Bujumbura Rural BR Bururi CA Cankuzo CI Cibitoke GI Gitega KR Karuzi KY Kayanza KI Kirundo MA Makamba MU Muramvya MY Muyinga MW Mwaro NG Ngozi RM Rumonge RT Rutana RY Ruyigi

Butão (BT)

Código Estado/Região 33 Bumthang 12 Chukha 22 Dagana GA Gasa 13 Haa 44 Lhuntse 42 Mongar 11 Paro 43 Pemagatshel 23 Punakha 45 Samdrup Jongkhar 14 Samtse 31 Sarpang 15 Thimphu 41 Trashigang TY Trashiyangste 32 Trongsa 21 Tsirang 24 Wangdue Phodrang 34 Zhemgang

36 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Cabo Verde (CV)

Código Estado/Região BV Boa Vista BR Brava CS Calheta de São Miguel B Ilhas de Barlavento S Ilhas de Sotavento MA Maio MO Mosteiros PA Paul PN Porto Novo PR Praia RB Ribeira Brava RG Ribeira Grande RS Ribeira Grande de Santiago SL Sal CA Santa Catarina CF Santa Catarina do Fogo CR Santa Cruz SD São Domingos SF São Filipe (concelho de Cabo Verde) SO São Lourenço dos Órgãos SM São Miguel SN São Nicolau SS São Salvador do Mundo SV São Vicente TA Tarrafal TS Tarrafal de São Nicolau

Camarões (CM)

Código Estado/Região AD Adamawa (região dos Camarões) CE Centro EN Extremo Norte LT Litoral NW Noroeste OU Oeste ES Região Leste NO Região Norte SU Região Sul SW Sudoeste

3.3. Códigos de países e estados/regiões 37 Documentação da API do VMpay, Release 1.0.0

Cambodja (KH)

Código Estado/Região 1 Banteay Meanchey 2 Battambang (província) 3 Kampong Cham 4 Kampong Chhnang 5 Kampong Speu 6 Kampong Thom 7 Kampot 8 Kandal 23 Keb 9 Koh Kong 10 Kratié 11 Mondul Kiri 22 Oddar Mean Cheay 24 Pailin 12 Phnom Penh 13 Preah Vihear 14 Prey Veng 15 Pursat 16 Ratanakiri 17 Siem Reap 18 Sihanoukville 19 Stung Treng 20 Svay Rieng 21 Takéo 25 Tbong Khmum

Canadá (CA)

Código Estado/Região AB Alberta BC Colúmbia Britânica PE Ilha do Príncipe Eduardo MB Manitoba NB Nova Brunswick NS Nova Escócia NU Nunavut ON Ontário QC Quebec SK Saskatchewan NL Terra Nova e Labrador NT Territórios do Noroeste YT Yukon

38 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Cazaquistão (KZ)

Código Estado/Região ALA Almaty ALM Almaty2 AKM Aqmola AKT Aqtöbe AST Astana ATY Atyrau BAY Baikonur ZAP Cazaquistão Ocidental VOS Cazaquistão Oriental SEV Cazaquistão do Norte YUZ Cazaquistão do Sul ZHA Jambyl MAN Mangghystau PAV Pavlodar KAR Qaraghandy KUS Qostanay KZY Qyzylorda

Chade (TD)

Código Estado/Região BG Barh El Gazel BA Batha BET Borkou-Ennedi-Tibesti EE Ennedi-Est EO Ennedi-Ouest HL Hadjer-Lamis KA Kanem MA Mandoul ME Mayo-Kebbi Est MO Mayo-Kebbi Ouest MC Moyen-Chari ND N’Djamena OD Ouaddaï BO Região Borkou LC Região Lac LO Região Ocidental de Logone SI Região Sila CB Região de Chari-Baguirmi GR Região de Guera LR Região de Logone Oriental SA Região de Salamat TI Região de Tibesti TA Tandjilé WF Wadi Fira

3.3. Códigos de países e estados/regiões 39 Documentação da API do VMpay, Release 1.0.0

Chile (CL)

Código Estado/Região AI Aisén (região) MA Magalhães e Antártica Chilena RM Região Metropolitana de Santiago AR Região da Araucanía AN Região de Antofagasta AP Região de Arica e Parinacota AT Região de Atacama BI Região de Bío-Bío CO Região de Coquimbo LL Região de Los Lagos LR Região de Los Rios ML Região de Maule LI Região de O’Higgins TA Região de Tarapacá VS Região de Valparaíso

China (CN)

Código Estado/Região 34 Anhui 50 Chongqing 35 Fujian 62 Gansu 44 Guangdong 45 Guangxi 52 Guizhou 46 Hainan 13 Hebei 23 Heilongjiang 41 Henan 91 Hong Kong SAR China 42 Hubei 43 Hunan 32 Jiangsu 36 Jiangxi 22 Jilin 21 Liaoning 92 Macau SAR China 15 Mongólia Interior 64 Ningxia 11 Pequim 63 Qinghai 54 Região Autônoma do Tibete 61 Shaanxi 37 Shandong 14 Shanxi Continued on next page

40 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 9 – continued from previous page Código Estado/Região 51 Sichuan 71 Taiwan 12 Tianjin 31 Xangai 65 Xinjiang 53 Yunnan 33 Zhejiang

Chipre (CY)

Código Estado/Região 04 Famagusta 06 Kyrenia 03 Larnaca 02 Limassol 01 Nicósia 05 Pafos

Colômbia (CO)

Código Estado/Região AMA Amazonas ANT Antioquia ARA Arauca ATL Atlántico DC Bogotá, DC BOL Bolívar BOY Boyacá CAL Caldas CAQ Caquetá CAS Casanare CAU Cauca CES Cesar CHO Chocó COR Córdoba (departamento) CUN Cundinamarca GUA Guainía LAG Guajira GUV Guaviare HUI Huila MAG Magdalena MET Meta NAR Nariño NSA Norte de Santander PUT Putumayo QUI Quindío RIS Risaralda Continued on next page

3.3. Códigos de países e estados/regiões 41 Documentação da API do VMpay, Release 1.0.0

Table 10 – continued from previous page Código Estado/Região SAN Santander SAP Santo André, Providência e Santa Catarina SUC Sucre TOL Tolima VAC Valle del Cauca VAU Vaupés VID Vichada

Comoros (KM)

Código Estado/Região A Anjouan G Grande Comore M Mohéli

Congo (CG)

Código Estado/Região 11 Bouenza BZV Brazzaville 8 Cuvette 15 Cuvette-Ouest 5 Kouilou 2 Lékoumou 7 Likouala 9 Niari 14 Plateaux 16 Pointe-Noire 12 Pool 13 Sangha

Congo, República Democrática do (CD)

Código Estado/Região BN Bandundu BU Bas-Uele BC Congo Central EQ Équateur HK Haut-Katanga HL Haut-Lomami HU Haut-Uele IT Ituri KS Kasaï KE Kasaï Oriental KW Kasaï-Occidental Continued on next page

42 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 11 – continued from previous page Código Estado/Região KA Katanga KN Kinshasa KG Kwango KL Kwilu LO Lomami LU Lualaba (província) KC Lulua MN Mai-Ndombe MA Maniema MO Mongala NK Nord-Kivu NU Nord-Ubangi OR Orientale SA Sankuru SK Sud-Kivu SU Sud-Ubangi TA Tanganyika TO Tshopo TU Tshuapa

Coreia, República Popular Democrática de (KP)

Código Estado/Região 04 Chagang CHA Chagang-do 09 Hamgyong Norte 08 Hamgyong Sul HAB Hamgyongbuk-do HAN Hamgyongnam-do 06 Hwanghae Norte 05 Hwanghae Sul HWB Hwanghaebuk-do HWN Hwanghaenam-do KAE Kaesong-si 07 Kangwon KAN Kangwon-do NAJ Najin Sonbong-si NAM Nampo-si 03 Pyongan Norte 02 Pyongan Sul PYB Pyonganbuk-do PYN Pyongannam-do 01 Pyongyang PYO Pyongyang-si 13 Rason X1~ Rason 10 Ryanggang YAN Yanggang-do

3.3. Códigos de países e estados/regiões 43 Documentação da API do VMpay, Release 1.0.0

Coreia, República da (KR)

Código Estado/Região 26 Busan 43 Chungcheong do Norte 44 Chungcheong do Sul 50 Cidade de Sejong 27 Daegu 30 Daejeon 42 Gangwon 29 Gwangju 41 Gyeonggi 47 Gyeongsang do Norte 48 Gyeongsang do Sul 28 Incheon 49 Jeju 45 Jeolla do Norte 46 Jeolla do Sul 11 Seul 31 Ulsan

Costa Rica (CR)

Código Estado/Região A Alajuela C Cartago G Guanacaste H Heredia L Limón P Puntarenas SJ San José

Costa do Marfim (CI)

Código Estado/Região AB Abidjan 16 Agnéby 17 Bafing 09 Bas-Sassandra BS Bas-Sassandra CM Comoé DN Denguélé 10 Denguélé SV Distrito de Savanes 06 Dix-Huit Montagnes 18 Fromager GD Gôh-Djiboua Continued on next page

44 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 12 – continued from previous page Código Estado/Região 02 Haut-Sassandra 07 Lacs LC Lacs2 01 Lagunes LG Lagunes2 12 Marahoué MG Montagnes 19 Moyen-Cavally 05 Moyen-Comoé 11 N’zi-Comoé SM Sassandra-Marahoué 03 Savanes2 15 Sud-Bandama 13 Sud-Comoé VB Vale do Bandama 04 Vallée du Bandama WR Woroba 14 Worodougou YM Yamoussoukro 08 Zanzan ZZ Zanzan2

Croácia (HR)

Código Estado/Região 08 Condado Litoral-Serrano 07 Condado de Bjelovar-Bilogora 12 Condado de Brod-Posavina 18 Condado de Ístria 04 Condado de Karlovac 06 Condado de Koprivnica-Križevci 02 Condado de Krapina-Zagorje 09 Condado de Lika-Senj 20 Condado de Medimurje¯ 14 Condado de Osijek-Barânia 11 Condado de Požega-Eslavônia 15 Condado de Šibenik-Knin 03 Condado de Sisak-Moslavina 17 Condado de Split-Dalmácia 05 Condado de Varaždin 10 Condado de Virovitica-Podravina 16 Condado de Vukovar-Sírmia 13 Condado de Zadar 01 Condado de Zagreb 19 Dubrovnik-Neretva 21 Zagreb

3.3. Códigos de países e estados/regiões 45 Documentação da API do VMpay, Release 1.0.0

Cuba (CU)

Código Estado/Região 02 Antigua provincia de La Habana 15 Artemisa 09 Camagüey 08 Ciego de Ávila 06 Cienfuegos 03 Ciudad de La Habana (província) 12 Granma 14 Guantánamo 11 Holguín 99 Ilha da Juventude 10 Las Tunas 04 Matanzas 16 Mayabeque 01 Pinar del Río 07 Sancti Spíritus 13 Santiago de Cuba 05 Villa Clara

Curação (CW)

País não possui estados ou regiões.

Dinamarca (DK)

Código Estado/Região 070 Århus 040 Bornholm 83 Dinamarca do Sul 147 Frederiksberg City 020 Frederiksborg 042 Fyn 82 Jutlândia Central 81 Jutlândia do Norte 015 København 101 København City 080 Nordjylland 84 Região da Capital 055 Ribe 065 Ringkøbing 025 Roskilde 035 Storstrøm 050 Sønderjylland 060 Vejle 030 Vestsjælland 076 Viborg 85 Zelândia

46 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Djibouti (DJ)

Código Estado/Região DJ Djibouti AS Região de Ali Sabieh AR Região de Arta DI Região de Dikhil OB Região de Obock TA Região de Tadjourah

Dominica (DM)

Código Estado/Região 02 Saint Andrew 03 Saint David 04 Saint George 05 Saint John 06 Saint Joseph 07 Saint Luke 08 Saint Mark 09 Saint Patrick 10 Saint Paul 11 Saint Peter

3.3. Códigos de países e estados/regiões 47 Documentação da API do VMpay, Release 1.0.0

Egipto (EG)

Código Estado/Região BH Al-Buhaira ALX Alexandria (província egípcia) AST Assiut ASN Assuão BNS Beni Suef C Cairo DK Dakahlia DT Damieta FYM Faium GH Garbia PTS Governamento de Porto Said GZ Guizé IS Ismaília KFS Kafr el-Sheikh LX Luxor BA Mar Vermelho MT Matruh MN Minya MNF Monufia KB Qaliubia KN Qina SIN Sinai do Norte JS Sinai do Sul SHG Sohag SUZ Suez WAD Vale Novo SHR Xarqia

El Salvador (SV)

Código Estado/Região AH Ahuachapán CA Cabañas CH Chalatenango CU Cuscatlán LI La Libertad PA La Paz UN La Unión MO Morazán SM San Miguel SS San Salvador SV San Vicente SA Santa Ana SO Sonsonate US Usulután

48 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Emirados Árabes Unidos (AE)

Código Estado/Região AJ Ajman FU Al Fujayrah DU Dubai AZ Emirados Abu Dhabi RK Ras al-Khaimah SH Sharjah UQ Umm al Qaywayn

Equador (EC)

Código Estado/Região A Azuay B Bolívar F Cañar C Carchi H Chimborazo X Cotopaxi O El Oro E Esmeraldas W Galápagos G Guayas I Imbabura L Loja R Los Ríos M Manabí S Morona-Santiago N Napo D Orellana Y Pastaza P Pichincha X1~ Santa Elena SE Santa Elena (província) X2~ Santo Domingo de los Tsachilas SD Santo Domingo de los Tsáchilas U Sucumbíos T Tungurahua Z Zamora-Chinchipe

3.3. Códigos de países e estados/regiões 49 Documentação da API do VMpay, Release 1.0.0

Eritreia (ER)

Código Estado/Região AN Anseba DU Debub DK Debub-Keih-Bahri GB Gash-Barka MA Maekel SK Semien-Keih-Bahri

Eslováquia (SK)

Código Estado/Região BC Banská Bystrica BL Bratislava KI Košice NI Nitra PV Prešov TC Trencínˇ TA Trnava ZI Žilina

Eslovénia (SI)

Código Estado/Região 001 Ajdovšcinaˇ 213 Ankaran 195 Apaceˇ 148 Benedikt 150 Bloke 004 Bohinj 006 Bovec 007 Brda 008 Brezovica 012 Cerklje na Gorenjskem 011 Cidade Municipal de Celje 052 Cidade Municipal de Kranj 070 Cidade Municipal de Maribor 080 Cidade Municipal de Murska Sobota 085 Cidade Municipal do Novo 112 Cidade Slovenj Gradec 196 Cirkulane 015 Crenšovciˇ 016 Crnaˇ na Koroškem 017 Cronmelj 018 Destrnik 019 Divaca Continued on next page

50 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 13 – continued from previous page Código Estado/Região 154 Dobje 020 Dobrepolje 155 Dobrna 021 Dobrova-Polhov Gradec 156 Dobrovnik 022 Dol pri Ljubljani 157 Dolenjske Toplice 023 Domžale 024 Dornava 025 Dravograd 026 Duplek 027 Gorenja vas-Poljane 028 Gorišnica 207 Gorje 029 Gornja Radgona 030 Gornji Grad 158 Grad 159 Hajdina 160 Hoce-Slivnicaˇ 162 Horjul 035 Hrpelje-Kozina 036 Idrija 037 Ig 038 Ilirska Bistrica 039 Ivancnaˇ Gorica 040 Izola 041 Jesenice 163 Jezersko (Eslovênia) 042 Juršinci 044 Kanal ob Sociˇ 045 Kidricevoˇ 046 Kobarid 047 Kobilje 048 Kocevjeˇ 049 Komen 164 Komenda 050 Koper 197 Kostanjevica na Krki 165 Kostel 051 Kozje 053 Kranjska Gora 166 Križevci 055 Kungota 056 Kuzma 057 Laško 058 Lenart 059 Lendava 060 Litija 061 Ljubljana Continued on next page

3.3. Códigos de países e estados/regiões 51 Documentação da API do VMpay, Release 1.0.0

Table 13 – continued from previous page Código Estado/Região 062 Ljubno 063 Ljutomer 208 Log-Dragomer 064 Logatec 065 Loška Dolina 066 Loški Potok 167 Lovrenc na Pohorju 067 Luceˇ 068 Lukovica 069 Majšperk 198 Makole 168 Markovci 071 Medvode 072 Mengeš 073 Metlika 074 Mežica 169 Miklavž na Dravskem polju 075 Miren-Kostanjevica 212 Mirna 170 Mirna Pecˇ 076 Mislinja 199 Mokronog-Trebelno 077 Moravceˇ 079 Mozirje 002 Município de Beltinci 149 Município de Bistrica de Sotli 003 Município de Bled 005 Município de Borovnica 151 Município de Braslovce 009 Município de Brezice 152 Município de Cankova 013 Município de Cerknica 014 Município de Cerkno 153 Município de Cerkvenjak 031 Município de Gornji Petrovci 032 Município de Grosuplje 161 Município de Hodos 034 Município de Hrastnik 043 Município de Kamnik 054 Município de Krsko 078 Município de Moravske Toplice 082 Município de Naklo 094 Município de Postojna 176 Município de Razkrizje 108 Município de Ruse 110 Município de Sevnica 111 Município de Sezana 136 Município de Vipava 140 Município de Vrhnika Continued on next page

52 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 13 – continued from previous page Código Estado/Região 081 Muta 083 Nazarje 084 Nova Gorica 086 Odranci 171 Oplotnica 087 Ormoz 088 Osilnica 089 Pesnica 090 Piran 091 Pivka 092 Podcetrtekˇ 172 Podlehnik 093 Podvelka 200 Poljcaneˇ 173 Polzela 174 Prebold 095 Preddvor 175 Prevalje 096 Ptuj 097 Puconci 098 Race-Framˇ 099 Radeceˇ 100 Radenci 101 Radlje ob Dravi 102 Radovljica 103 Ravne na Koroškem 209 Recicaˇ ob Savinji 201 Rence-Vogrskoˇ 104 Ribnica 177 Ribnica na Pohorju 106 Rogaska Slatina 105 Rogašovci 107 Rogatec 033 Šalovci 178 Selnica ob Dravi 109 Semicˇ 183 Šempeter-Vrtojba 117 Šencurˇ 118 Šentilj 119 Šentjernej 120 Sentjur 211 Šentrupert 121 Škocjan 122 Skofja Loka 123 Škofljica 113 Slovenska Bistrica 114 Slovenske Konjice 124 Šmarje pri Jelšah 206 Šmarješke Toplice Continued on next page

3.3. Códigos de países e estados/regiões 53 Documentação da API do VMpay, Release 1.0.0

Table 13 – continued from previous page Código Estado/Região 125 Šmartno ob Paki 194 Šmartno pri Litiji 179 Sodražica 180 Solcavaˇ 126 Šoštanj 202 Središceˇ ob Dravi 115 Starše 127 Štore 203 Straža 181 Sveta Ana 204 Sveta Trojica v Slovenskih goricah 182 Sveti Andraž v Slovenskih goricah 116 Sveti Jurij ob Šcavniciˇ 210 Sveti Jurij v Slovenskih goricah 205 Sveti Tomaž 184 Tabor 010 Tišina 128 Tolmin 129 Trbovlje 130 Trebnje kommune 185 Trnovska vas 131 Tržicˇ 186 Trzin 132 Turnišceˇ 133 Velenje 187 Velika Polana 134 Velike Lasce Kommune 188 Veržej 135 Videm 137 Vitanje 138 Vodice (Eslovênia) 139 Vojnik kommune 189 Vransko 141 Vuzenica 142 Zagorje ob Savi 190 Žalec 143 Zavrcˇ 146 Železniki 191 Žetale 147 Žiri 192 Žirovnica 144 Zreceˇ 193 Žužemberk

Espanha (ES)

54 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Código Estado/Região VI Álava AB Albacete A Alicante AL Almeria AN Andaluzia AR Aragão AS Astúrias O Asturias Province AV Ávila BA Badajoz (província) IB Baleares PM Balears Province B Barcelona BI Biscaia BU Burgos CC Cáceres (província) CA Cádis CN Canary Islands CB Cantábria S Cantabria Province CL Castela e Leão CM Castela-Mancha CS Castellón CT Catalunha CE Ceuta CR Cidade Real VC Comunidade Valenciana PV Comunidade autónoma do País Basco MD Comunidade de Madrid CO Córdova (província da Espanha) C Corunha CU Cuenca EX Estremadura (Espanha) GA Galiza GI Girona GR Granada GU Guadalajara SS Guipúscoa HU Huesca J Jaén LO La Rioja RI La Rioja2 GC Las Palmas LE Leão LU Lugo M Madrid Province MA Málaga ML Melilla MU Murcia NA Navarra Continued on next page

3.3. Códigos de países e estados/regiões 55 Documentação da API do VMpay, Release 1.0.0

Table 14 – continued from previous page Código Estado/Região NC Navarra OR Ourense P Palência PO Pontevedra H Província de Huelva L Província de Lérida SE Província de Sevilha MC Região de Múrcia SA Salamanca TF Santa Cruz de Tenerife Z Saragoça SG Segóvia SO Sória T Tarragona TE Teruel (província) TO Toledo V Valência (província) VA Valhadolide ZA Zamora

Estados Unidos (US)

Código Estado/Região AL Alabama AK Alasca AS American Samoa AZ Arizona AR Arkansas AA Armed Forces Americas AE Armed Forces Europe AP Armed Forces Pacific CA Califórnia NC Carolina do Norte SC Carolina do Sul CO Colorado CT Connecticut ND Dakota do Norte SD Dakota do Sul DE Delaware FL Flórida GA Geórgia GU Guam HI Havaí ID Idaho IL Illinois IN Indiana IA Iowa KS Kansas Continued on next page

56 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 15 – continued from previous page Código Estado/Região KY Kentucky LA Luisiana ME Maine MD Maryland MA Massachusetts MI Michigan MN Minnesota MS Mississippi MO Missouri MT Montana NE Nebraska NV Nevada MP Northern Mariana Islands NH Nova Hampshire NY Nova Iorque NJ Nova Jérsia NM Novo México OH Ohio OK Oklahoma OR Oregon PA Pensilvânia PR Puerto Rico RI Rhode Island TN Tennessee TX Texas UM U.S. Outlying Islands VI U.S. Virgin Islands UT Utah VT Vermont VA Virgínia WV Virgínia Ocidental DC Washington WA Washington2 WI Wisconsin WY Wyoming

3.3. Códigos de países e estados/regiões 57 Documentação da API do VMpay, Release 1.0.0

Estónia (EE)

Código Estado/Região 37 Harjumaa 39 Hiiumaa 44 Ida-Virumaa 51 Järvamaa 49 Jõgevamaa 59 Lääne-Virumaa 57 Läänemaa 67 Pärnumaa 65 Põlvamaa 70 Raplamaa 74 Saare 78 Tartumaa 82 Valgamaa 84 Viljandimaa 86 Võrumaa

Etiópia (ET)

Código Estado/Região AA Adis Abeba AF Afar AM Amhara BE Benishangul-Gumaz DD Dire Dawa GA Gambela HA Harari OR Oromia SO Região Somali TI Região Tigré SN Região das Nações, Nacionalidades e Povos do Sul

Federação Russa (RU)

Código Estado/Região AD Adiguésia AL Altai (república) BA Bascortostão BU Buriácia KB Cabárdia-Balcária KK Cacássia KL Calmúquia KC Carachai-Circássia CE Chechênia CHU Chukotka Continued on next page

58 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 16 – continued from previous page Código Estado/Região CU Chuváchia DA Daguestão SA Iacútia YAN Iamália IN Inguchétia KHM Khantia-Mansia ALT Krai de Altai KAM Krai de Kamtchatka KHA Krai de Khabarovsk KDA Krai de Krasnodar KYA Krai de Krasnoiarsk PER Krai de Perm STA Krai de Stavropol ZAB Krai de Zabaykalsky PRI Krai do Litoral ME Mari El MO Mordóvia MOW Moscovo NEN Nenetsia YEV Oblast Autônomo Judaico AMU Oblast de Amur ARK Oblast de Arkhangelsk AST Oblast de Astracã BEL Oblast de Belgorod BRY Oblast de Briansk CHE Oblast de Cheliabinsk YAR Oblast de Iaroslavl IRK Oblast de Irkutsk IVA Oblast de Ivanovo KGD Oblast de Kaliningrado KLU Oblast de Kaluga KEM Oblast de Kemerovo KIR Oblast de Kirov KOS Oblast de Kostroma KGN Oblast de Kurgan KRS Oblast de Kursk LEN Oblast de Leningrado LIP Oblast de Lipetsk MAG Oblast de Magadan MOS Oblast de Moscou MUR Oblast de Murmansk NIZ Oblast de Níjni Novgorod NGR Oblast de Novgorod NVS Oblast de Novosibirsk OMS Oblast de Omsk ORE Oblast de Oremburgo ORL Oblast de Oriol PNZ Oblast de Penza PSK Oblast de Pskov Continued on next page

3.3. Códigos de países e estados/regiões 59 Documentação da API do VMpay, Release 1.0.0

Table 16 – continued from previous page Código Estado/Região RYA Oblast de Riazan ROS Oblast de Rostov SAK Oblast de Sacalina SAM Oblast de Samara SAR Oblast de Saratov SMO Oblast de Smolensk SVE Oblast de Sverdlovsk TAM Oblast de Tambov TYU Oblast de Tiumen TOM Oblast de Tomsk TUL Oblast de Tula TVE Oblast de Tver ULY Oblast de Ulianovsk VLA Oblast de Vladimir VGG Oblast de Volgogrado VLG Oblast de Vologda VOR Oblast de Voronej SE Ossétia do Norte-Alânia KR República da Carélia KO República de Komi SPE São Petersburgo TA Tartaristão TY Tuva UD Udmúrtia

Fiji (FJ)

Código Estado/Região 01 Ba (Fiji) 02 Bua 03 Cakaudrove C Divisão Central (Fiji) E Divisão do Leste N Divisão do Norte W Divisão do Oeste 04 Kadavu 05 Lau 06 Lomaiviti 07 Macuata 08 Nadroga-Navosa 09 Naitasiri 10 Namosi 11 Ra 12 Rewa R Rotuma 13 Serua 14 Tailevu

60 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Filipinas (PH)

Código Estado/Região ABR Abra (província) AGN Agusão do Norte AKL Aklan ALB Albay ANT Antigo APA Apayao AGS Augusan do Sur AUR Aurora BAN Bataan BTN Batanes BTG Batangas 05 Bicol BIL Biliran BOH Bohol BUK Bukidnon BUL Bulacão CAG Cagayan 02 Cagayan Valley 40 Calabarzon CAN Camarines Norte CAS Camarines Sur CAM Camiguin CAP Capiz 13 Caraga CAT Catanduanes CEB Cebu 03 Central Luzon NCO Cotabato SCO Cotabato do Sul 11 Davao DVO Davao Occidental DAO Davao Oriental DAV Davao del Norte DAS Davao do Sul X1~ Dinagat DIN Dinagat Islands 08 Eastern Visayas 00 Grande Manila GUI Guimaras IFU Ifugão 01 Ilocos ILN Ilocos Norte ILS Ilocos Sur ILI Iloilo ISA Isabela LUN La Unión LAG Laguna Continued on next page

3.3. Códigos de países e estados/regiões 61 Documentação da API do VMpay, Release 1.0.0

Table 17 – continued from previous page Código Estado/Região LAS Lanão de Sur LAN Lanão do Norte LEY Leyte MAG Maguindanao MAD Marinduque MAS Masbate 41 Mimaropa MDC Mindoro Ocidental MSC Misamis Occidental MSR Misamis Oriental NEC Negros Ocidental NER Negros Oriental 10 Northern Mindanao NSA Northern Samar NUV Nova Vizcaya NUE Nueva Ecija MDR Oriental Mindoro PLW Palawan PAM Pampanga PAN Pangasinán 09 Península de Zamboanga MOU Província Mountain BAS Província de Basilan BEN Província de Benguet CAV Província de Cavite KAL Província de Kalinga QUE Quezon QUI Quirino 15 Região Administrativa de Cordillera 14 Região Autónoma do Mindanau Muçulmano RIZ Rizal ROM Romblon WSA Samar EAS Samar Oriental SAR Sarangani X2~ Shariff Kabunsuan SIG Siquijor 12 Soccsksargen SOR Sorsogon SLE Southern Leyte SUK Sultão Kudarat SLU Sulu SUN Surigão do Norte SUR Surigão do Sur TAR Tarlac TAW Tawi-Tawi COM Vale de Compostela 07 Visayas Centrais 06 Western Visayas Continued on next page

62 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 17 – continued from previous page Código Estado/Região ZMB Zambales ZSI Zamboanga Sibugay ZAN Zamboanga del Norte ZAS Zamboanga del Sur

Finlândia (FI)

Código Estado/Região AL Ahvenanmaan lääni 01 Åland Islands 13 Carélia do Norte 02 Carélia do Sul ES Etelä-Suomen lääni 08 Finlândia Central 19 Finlândia Própria IS Itä-Suomen lääni 05 Kainuu 09 Kymenlaakso LS Länsi-Suomen lääni LL Lapin lääni 10 Lapônia 12 Ostrobótnia 07 Ostrobótnia Central 14 Ostrobótnia do Norte 03 Ostrobótnia do Sul OL Oulun lääni 16 Päijänne Tavastia 11 Pirkanmaa 17 Satakunta 15 Savônia do Norte 04 Savônia do Sul 06 Tavastia Própria 18 Uusimaa

França (FR)

Código Estado/Região 01 Ain 02 Aisne 03 Allier 06 Alpes Marítimos 04 Alpes da Alta Provença A Alsace GES Alsácia-Champanha-Ardenas-Lorena 2B Alta Córsega 31 Alta Garona 74 Alta Saboia Continued on next page

3.3. Códigos de países e estados/regiões 63 Documentação da API do VMpay, Release 1.0.0

Table 18 – continued from previous page Código Estado/Região 68 Alto Reno 05 Altos Alpes 65 Altos Pirenéus 92 Altos do Sena B Aquitaine 07 Ardèche 08 Ardenas 09 Ariège 10 Aube 11 Aude C Auvergne ARA Auvérnia-Ródano-Alpes 12 Aveyron 67 Baixo Reno 13 Bocas do Ródano BFC Borgonha-Franco-Condado BRE Bretanha E Brittany D Burgundy 14 Calvados 15 Cantal F Centre-Loire Valley CVL Centro-Vale do Loire G Champagne-Ardenne 16 Charente 17 Charente-Maritime 18 Cher CP Clipperton Island 19 Corrèze COR Córsega 2A Córsega do Sul H Corsica 21 Côte-d’Or 22 Côtes-d’Armor 23 Creuse 79 Deux-Sèvres 24 Dordonha 25 Doubs 26 Drôme 91 Essonne 27 Eure 28 Eure-et-Loir 29 Finistère I Franche-Comté GF French Guiana PF French Polynesia TF French Southern Territories 30 Gard 32 Gers Continued on next page

64 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 18 – continued from previous page Código Estado/Região 33 Gironda GUA Guadeloupe GP Guadeloupe2 43 Haute-Loire 52 Haute-Marne 70 Haute-Saône 87 Haute-Vienne 34 Hérault J Île-de-France IDF Ilha de França 35 Ille-et-Vilaine 36 Indre 37 Indre-et-Loire 38 Isère 39 Jura LRE La Réunion 40 Landes K Languedoc-Roussillon L Limousin 41 Loir-et-Cher 42 Loire 44 Loire-Atlantique 45 Loiret M Lorraine 46 Lot 47 Lot e Garona P Lower Normandy 48 Lozère 49 Maine-et-Loire 50 Mancha 51 Marne MQ Martinique 53 Mayenne MAY Mayotte YT Mayotte2 54 Meurthe-et-Moselle 55 Meuse N Midi-Pyrénées 56 Morbihan 57 Mosela NC New Caledonia 58 Nièvre O Nord-Pas-de-Calais NOR Normandia 59 Norte (departamento) HDF Norte-Passo de Calais-Picardia NAQ Nova-Aquitânia OCC Occitânia 60 Oise Continued on next page

3.3. Códigos de países e estados/regiões 65 Documentação da API do VMpay, Release 1.0.0

Table 18 – continued from previous page Código Estado/Região 61 Orne PDL País do Loire 75 Paris 62 Pas-de-Calais R Pays de la Loire S Picardy 64 Pirineus Atlânticos 66 Pirineus Orientais T Poitou-Charentes PAC Provença-Alpes-Costa Azul U Provence-Alpes-Côte d’Azur 63 Puy-de-Dôme RE Réunion V Rhône-Alpes 69 Ródano 73 Saboia 71 Saône-et-Loire 72 Sarthe 93 Seine-Saint-Denis 76 Sena Marítimo 77 Sena e Marne 80 Somme BL St. Barthélemy MF St. Martin PM St. Pierre & Miquelon 81 Tarn 82 Tarn-et-Garonne 90 Território de Belfort Q Upper Normandy 94 Val-de-Marne 95 Val-d’Oise 83 Var 84 Vaucluse 85 Vendeia 86 Vienne 88 Vosges WF Wallis & Futuna 89 Yonne 78 Yvelines

66 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Gabão (GA)

Código Estado/Região 1 Estuaire 2 Haut-Ogooué 3 Moyen-Ogooué 4 Ngounié 5 Nyanga 6 Ogooué-Ivindo 7 Ogooué-Lolo 8 Ogooué-Maritime 9 Woleu-Ntem

Gâmbia (GM)

Código Estado/Região B Banjul M Central River L Lower River N North Bank U Upper River W Western

Gana (GH)

Código Estado/Região UW Alto Ocidental UE Alto Oriental AH Ashanti BA Brong-Ahafo CP Central AA Grande Acra WP Ocidental NP Região Norte EP Região Oriental TV Região do Volta

3.3. Códigos de países e estados/regiões 67 Documentação da API do VMpay, Release 1.0.0

Geórgia (GE)

Código Estado/Região AB Abecásia AJ Adjara GU Guria IM Imereti KA Kakheti KK Kvemo Kartli MM Mtskheta-Mtianeti RL Racha-Lechkhumi e Kvemo Svaneti SZ Samegrelo-Zemo Svaneti SJ Samtskhe-Javakheti SK Shida Kartli TB Tbilisi

Geórgia do Sul e Ilhas Sandwich do Sul (GS)

País não possui estados ou regiões.

Gibraltar (GI)

País não possui estados ou regiões.

Granada (GD)

Código Estado/Região 10 Carriacou e Petite Martinique 01 Saint Andrew 02 Saint David 03 Saint George 04 Saint John 05 Saint Mark 06 Saint Patrick

Grécia (GR)

Código Estado/Região 13 Achaea 01 Aetolia-Acarnania 12 Arcadia 11 Argolis 31 Arta A1 Attica Department 03 Boeotia 64 Chalkidiki Continued on next page

68 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 19 – continued from previous page Código Estado/Região 94 Chania 85 Chios 22 Corfu 15 Corinthia M Crete 82 Cyclades 81 Dodecanese 52 Drama L Egeu Meridional K Egeu Setentrional D Epiro 04 Euboea 05 Evritania 71 Evros 63 Florina H Grécia Central G Grécia Ocidental 51 Grevena 91 Heraklion region F Ilhas Jónicas 14 Ilia 53 Imathia 33 Ioannina 41 Karditsa 56 Kastoria 55 Kavala 23 Kefalonia 57 Kilkis 58 Kozani 16 Laconia 42 Larissa 92 Lasithi 24 Lefkada 83 Lesbos B Macedônia Central C Macedônia Ocidental A Macedônia Oriental e Trácia 43 Magnesia 17 Messenia 69 Monte Atos 59 Pella 07 Phocis 06 Phthiotis 61 Pieria 34 Preveza I Região Attica J Região de Peloponnes 93 Rethymno 73 Rhodope Continued on next page

3.3. Códigos de países e estados/regiões 69 Documentação da API do VMpay, Release 1.0.0

Table 19 – continued from previous page Código Estado/Região 84 Samos 62 Serres E Tessália 32 Thesprotia 54 Thessaloniki 44 Trikala 72 Xanthi 21 Zakynthos

Gronelândia (GL)

Código Estado/Região KU Kujalleq QA Qaasuitsup QE Qeqqata SM Sermersooq

Guadalupe (GP)

País não possui estados ou regiões.

Guam (GU)

País não possui estados ou regiões.

70 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Guatemala (GT)

Código Estado/Região AV Alta Verapaz BV Baja Verapaz CM Chimaltenango CQ Chiquimula PE El Petén PR El Progreso QC El Quiché ES Escuintla GU Guatemala HU Huehuetenango IZ Izabal JA Jalapa JU Jutiapa QZ Quetzaltenango RE Retalhuleu SA Sacatepéquez SM San Marcos SR Santa Rosa SO Sololá SU Suchitepéquez TO Totonicapán ZA Zacapa

Guernsey (GG)

País não possui estados ou regiões.

Guiana (GY)

Código Estado/Região UD Alto Demerara-Berbice UT Alto Takutu-Alto Essequibo BA Barima-Waini EB Berbice Oriental-Corentyne CU Cuyuni-Mazaruni DE Demerara-Mahaica ES Ilhas Essequibo-Demerara Ocidental MA Mahaica-Berbice PM Pomeroon-Supenaam PT Potaro-Siparuni

Guiana Francesa (GF)

País não possui estados ou regiões.

3.3. Códigos de países e estados/regiões 71 Documentação da API do VMpay, Release 1.0.0

Guiné (GN)

Código Estado/Região BE Beyla B Boké BK Boké C Conacri CO Coyah DL Dalaba FA Faranah F Faranah FO Forécariah FR Fria GA Gaoual K Kankan KA Kankan KE Kérouané D Kindia KD Kindia KS Kissidougou KB Koubia KN Koundara KO Kouroussa L Labé LA Labé2 LO Lola MC Macenta M Mamou MM Mamou N Nzérékoré NZ Nzérékoré PI Pita DB Preeitura de Dabola BF Prefeitura de Boffa DI Prefeitura de Dinguiraye DU Prefeitura de Dubreka GU Prefeitura de Guéckédou LE Prefeitura de Lélouma ML Prefeitura de Mali MD Prefeitura de Mandiana TO Prefeitura de Tougué YO Prefeitura de Yomou SI Siguiri TE Télimélé

72 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Guiné Equatorial (GQ)

Código Estado/Região BN Bioko Norte BS Bioko Sur CS Centro Sur KN Kié-Ntem LI Litoral AN Província de Annobón I Região Insular C Rio Muni WN Wele-Nzas

Guiné-Bissáu (GW)

Código Estado/Região BA Bafatá (região) BM Biombo BS Bissau BL Bolama CA Cacheu GA Gabu L Leste N Norte OI Oio QU Quinara S Sul TO Tombali

Haiti (HT)

Código Estado/Região AR Artibonite CE Centro ND Departamento do Norte OU Departamento do Oeste (Haiti) SD Departamento do Sul GA Grande Enseada NI Nippes NE Nordeste NO Noroeste SE Sudeste

3.3. Códigos de países e estados/regiões 73 Documentação da API do VMpay, Release 1.0.0

Honduras (HN)

Código Estado/Região AT Atlántida CH Choluteca CL Colón CM Comayagua CP Copán CR Cortés EP El Paraíso FM Francisco Morazán GD Gracias a Dios IB Ilhas da Baía IN Intibucá LP La Paz LE Lempira OC Ocotepeque OL Olancho SB Santa Bárbara VA Valle YO Yoro

Hong Kong (HK)

País não possui estados ou regiões.

Hungria (HU)

Código Estado/Região BK Bács-Kiskun BA Baranya BE Békés BC Békéscsaba BZ Borsod-Abaúj-Zemplén BU Budapeste CS Csongrád DE Debrecen DU Dunaújváros EG Eger ER Érd FE Fejér GY Gyor˝ GS Gyor-Moson-Sopron˝ HB Hajdú-Bihar HE Heves HV Hódmezovásárhely˝ JN Jász-Nagykun-Szolnok KV Kaposvár Continued on next page

74 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 21 – continued from previous page Código Estado/Região KM Kecskemét KE Komárom-Esztergom MI Miskolc NK Nagykanizsa NO Nógrád NY Nyíregyháza PS Pécs PE Pest ST Salgótarján SO Somogy SN Sopron SZ Szabolcs-Szatmár-Bereg SD Szeged SF Székesfehérvár SS Szekszárd SK Szolnok SH Szombathely TB Tatabánya TO Tolna VA Vas VE Veszprém VM Veszprém2 ZA Zala ZE Zalaegerszeg

Ilha Bouvet (BV)

País não possui estados ou regiões.

Ilha Heard e Ilhas McDonald (HM)

País não possui estados ou regiões.

Ilha Natal (CX)

País não possui estados ou regiões.

Ilha Norfolk (NF)

País não possui estados ou regiões.

Ilha Reunião (RE)

País não possui estados ou regiões.

Ilha de Man (IM)

País não possui estados ou regiões.

3.3. Códigos de países e estados/regiões 75 Documentação da API do VMpay, Release 1.0.0

Ilhas Åland (AX)

País não possui estados ou regiões.

Ilhas Caimão (KY)

Código Estado/Região 01~ Bodden Town 02~ Cayman Brac 03~ East End 04~ George Town 06~ North Side 07~ West Bay

Ilhas Cocos (CC)

País não possui estados ou regiões.

Ilhas Cook (CK)

País não possui estados ou regiões.

Ilhas Falkland (Malvinas) (FK)

País não possui estados ou regiões.

Ilhas Feroé (FO)

País não possui estados ou regiões.

Ilhas Marianas do Norte (MP)

País não possui estados ou regiões.

76 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Ilhas Marshall (MH)

Código Estado/Região ALL Ailinglaplap ALK Ailuk ARN Arno LAE Atol Lae MAL Atol Maloelap NMU Atol Namu RON Atol Rongelap UTI Atol Utirik WTJ Atol Wotje AUR Aur L Cadeia Ralik T Cadeia Ratak EBO Ebon Atoll ENI Enewetak JAB Jabat Island JAL Jaluit Atoll KIL Kili Island KWA Kwajalein LIB Lib Island LIK Likiep Atoll MAJ Majuro MEJ Mejit Island MIL Mili Atoll NMK Namorik UJA Ujae Atoll UJL Ujelang WTH Wotho Atoll

Ilhas Menores Exteriores dos Estados Unidos (UM)

Código Estado/Região 67 Atol Johnston 71 Atol Midway 95 Atol Palmyra 81 Ilha Baker 84 Ilha Howland 86 Ilha Jarvis 79 Ilha Wake 76 Ilha de Navassa 89 Recife Kingman

3.3. Códigos de países e estados/regiões 77 Documentação da API do VMpay, Release 1.0.0

Ilhas Salomão (SB)

Código Estado/Região CT Honiara CE Província Central WE Província Ocidental (Ilhas Salomão) CH Província de Choiseul GU Província de Guadalcanal IS Província de Isabel MK Província de Makira-Ulawa ML Província de Malaita RB Província de Rennell e Bellona TE Província de Temotu

Ilhas Turks e Caicos (TC)

País não possui estados ou regiões.

Ilhas Virgens, Britânicas (VG)

País não possui estados ou regiões.

Ilhas Virgens, Estados Unidos (VI)

País não possui estados ou regiões.

Índia (IN)

Código Estado/Região AN Andamão e Nicobar AP Andhra Pradesh AR Arunachal Pradesh AS Assam WB Bengala Ocidental BR Bihar CH Chandigarh CT Chhattisgarh DN Dadrá e Nagar-Aveli DD Damão e Diu DL Deli GA Goa GJ Gujarate HR Haryana HP Himachal Pradesh JK Jammu e Caxemira JH Jharkhand KA Karnataka Continued on next page

78 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 22 – continued from previous page Código Estado/Região KL Kerala LD Laquedivas MP Madhya Pradesh MH Maharashtra MN Manipur ML Meghalaya MZ Mizoram NL Nagaland OR Orissa PY Puducherry PB Punjab RJ Rajastão SK Siquim TN Tamil Nadu TS Telangana TG Telangana TR Tripura UP Uttar Pradesh UT Uttarakhand UL Uttaranchal

Indonésia (ID)

Código Estado/Região AC Achém BA Bali BB Bangka-Belitung BT Banten BE Bengkulu SL Celebes ST Celebes Central SR Celebes Ocidental SA Celebes do Norte SG Celebes do Sudeste SN Celebes do Sul GO Gorontalo ML Ilhas Molucas KR Ilhas Riau JK Jacarta JA Jambi JW Java JT Java Central JB Java Ocidental JI Java Oriental KA Kalimantan KT Kalimantan Central KB Kalimantan Ocidental KI Kalimantan Oriental Continued on next page

3.3. Códigos de países e estados/regiões 79 Documentação da API do VMpay, Release 1.0.0

Table 23 – continued from previous page Código Estado/Região KU Kalimantan Setentrional KS Kalimantan do Sul LA Lampung MA Molucas (província) MU Molucas do Norte PP Nova Guiné Ocidental PA Papua X1~ Papua Barat PB Papua Ocidental NU Pequenas Ilhas da Sonda RI Riau NB Sonda Ocidental NT Sonda Oriental SM Sumatra SB Sumatra Ocidental SU Sumatra do Norte SS Sumatra do Sul YO Yogyakarta

Irão, República Islâmica do (IR)

Código Estado/Região 32 Alborz 02 Azerbaijão Ocidental 01 Azerbaijão Oriental 06 Bushehr 08 Chahar Mahaal e Bakhtiari 30 Coração Razavi 31 Coração do Norte 29 Coração do Sul 16 Curdistão 14 Fars (província) 19 Gilan 27 Golestan 24 Hamadã 23 Hormozgan 05 Ilam 04 Ispaão (província) 15 Kerman 17 Kermanshah 09 Khorasan 10 Khuzistão 18 Kohkiluyeh e Buyer Ahmad 20 Lorestão 22 Markazi 21 Mazandaran 03 Província de Ardabil 28 Qazvin (província) Continued on next page

80 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 24 – continued from previous page Código Estado/Região 26 Qom 12 Semnan 13 Sistan e Baluchistão 07 Teerão 25 Yazd 11 Zanjan (província)

Iraque (IQ)

Código Estado/Região AN Al-Anbar MU Al-Muthanna QA Al-Qadisiyyah NA An-Najaf AR Arbil SU As-Sulaymaniyah TS At Ta’mim BB Babil BA Baçorá BG Bagdad DA Dahuk DQ Dhi Qar DI Diyala KA Karbala KI Kirkuk MA Maysan NI Ninawa SD Salah-ad-Din WA Wasit

Irlanda (IE)

Código Estado/Região CW Condado de Carlow CN Condado de Cavan CE Condado de Clare CO Condado de Cork DL Condado de Donegal D Condado de Dublin G Condado de Galway KY Condado de Kerry KE Condado de Kildare KK Condado de Kilkenny LS Condado de Laois LM Condado de Leitrim LK Condado de Limerick LD Condado de Longford Continued on next page

3.3. Códigos de países e estados/regiões 81 Documentação da API do VMpay, Release 1.0.0

Table 25 – continued from previous page Código Estado/Região LH Condado de Louth MO Condado de Mayo MH Condado de Meath MN Condado de Monaghan OY Condado de Offaly RN Condado de Roscommon SO Condado de Sligo TA Condado de Tipperary WD Condado de Waterford WH Condado de Westmeath WX Condado de Wexford WW Condado de Wicklow C Connacht L Leinster M Munster U Ulster

Islândia (IS)

Código Estado/Região 7 Austurland 1 Höfuðborgarsvæði 6 Norðurland Eystra 5 Norðurland Vestra 0 Reykjavík 8 Suðurland 2 Suðurnes 4 Vestfirðir 3 Vesturland

Israel (IL)

Código Estado/Região M Distrito Central Z Distrito Norte D Distrito Sul HA Haifa JM Jerusalém TA Tel Aviv

Itália (IT)

Código Estado/Região 65 Abruzos AG Agrigento Continued on next page

82 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 26 – continued from previous page Código Estado/Região AL Alexandria (província) AN Ancona AO Aosta 75 Apúlia AQ Áquila AR Arezzo AP Ascoli Piceno AT Asti AV Avellino BA Bari BT Barletta-Andria-Trani 77 Basilicata BL Belluno BN Benevento BG Bérgamo BI Biella BO Bolonha BS Bréscia BR Brindisi CA Cagliari 78 Calábria CL Caltanissetta 72 Campânia CB Campobasso CI Carbonia-Iglesias CE Caserta CT Catânia CZ Catanzaro CH Chieti GE Cidade Metropolitana de Genoa CO Como CS Cosenza CR Cremona KR Crotone CN Cuneo 45 Emília-Romanha EN Enna FM Fermo FE Ferrara FI Florença FG Foggia FC Forlì-Cesena 36 Friul-Veneza Júlia FR Frosinone GO Gorizia GR Grosseto IM Impéria IS Isérnia 62 Lácio Continued on next page

3.3. Códigos de países e estados/regiões 83 Documentação da API do VMpay, Release 1.0.0

Table 26 – continued from previous page Código Estado/Região LT Latina LE Lecce LC Lecco 42 Ligúria LI Livorno LO Lodi 25 Lombardia LU Lucca MC Macerata MN Mântua (província) 57 Marcas MS Massa-Carrara MT Matera VS Medio Campidano ME Messina MI Milão MO Módena 67 Molise NA Nápoles NO Novara NU Nuoro OG Ogliastra OT Olbia-Tempio OR Oristano PD Pádua PA Palermo PR Parma PV Pavia PG Perúgia PU Pesaro e Urbino PE Pescara 21 Piemonte PI Pisa PT Pistoia PC Placência PN Pordenone PZ Potenza PO Prato BZ Província autónoma de Bolzano TN Província autónoma de Trento MB Província de Monza e Brianza RG Ragusa RA Ravena RC Reggio Calabria RE Reggio Emilia RI Rieti RN Rimini RM Roma RO Rovigo Continued on next page

84 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 26 – continued from previous page Código Estado/Região SA Salerno 88 Sardenha SS Sassari SV Savona 82 Sicília SI Siena SR Siracusa SO Sondrio SP Spezia TA Taranto TE Téramo TR Terni 52 Toscana TP Trapani 32 Trentino-Alto Ádige TV Treviso TS Trieste TO Turim UD Udine 55 Úmbria 23 Vale de Aosta VA Varese 34 Véneto VE Veneza VB Verbano Cusio Ossola VC Vercelli VR Verona VV Vibo Valentia VI Vicenza VT Viterbo

Jamaica (JM)

Código Estado/Região 13 Clarendon 09 Hanover 01 Kingston 12 Manchester (Middlesex) 04 Portland 02 Saint Andrew (Jamaica) 06 Saint Ann 14 Saint Catherine 11 Saint Elizabeth 08 Saint James 05 Saint Mary 03 Saint Thomas 07 Trelawny 10 Westmoreland

3.3. Códigos de países e estados/regiões 85 Documentação da API do VMpay, Release 1.0.0

Japão (JP)

Código Estado/Região 23 Aichi 05 Akita 02 Aomori 12 Chiba 38 Ehime 18 Fukui 40 Fukuoka 07 Fukushima 21 Gifu 10 Gunma 01 Hokkaido 28 Hyogo¯ 08 Ibaraki 17 Ishikawa 03 Iwate 37 Kagawa 46 Kagoshima 14 Kanagawa 39 Kochi 43 Kumamoto 24 Mie 04 Miyagi 45 Miyazaki 20 Nagano 42 Nagasaki 29 Nara 15 Niigata 44 Oita 33 Okayama 47 Okinawa 27 Osaka 34 Província de Hiroshima 26 Quioto 41 Saga 11 Saitama 25 Shiga 32 Shimane 22 Shizuoka 09 Tochigi 36 Tokushima 13 Tóquio 31 Tottori 16 Toyama 30 Wakayama 06 Yamagata 35 Yamaguchi 19 Yamanashi

86 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Jersey (JE)

País não possui estados ou regiões.

Jordânia (JO)

Código Estado/Região AM Amã (província) BA Balqa MN Governadoria Maan AT Governamento de Tafilah AQ Governorado de Aqaba JA Governorado de Gérasa IR Governorado de Irbid AZ Governorado de Zarqa AJ Governorato de Ajloun KA Karak MD Madaba MA Mafraq

Kiribati (KI)

Código Estado/Região L Espórades Equatoriais P Ilhas Fénix G Ilhas Gilbert

Kuwait (KW)

Código Estado/Região AH Al Ahmadi (província) KU Al Asimah FA Al Farwaniyah JA Al Jahra HA Hawalli MU Mubarak Al-Kabeer

3.3. Códigos de países e estados/regiões 87 Documentação da API do VMpay, Release 1.0.0

Lesoto (LS)

Código Estado/Região D Berea B Butha-Buthe C Leribe E Mafeteng A Maseru F Mohale’s Hoek J Mokhotlong H Qacha’s Nek G Quthing K Thaba-Tseka

Letónia (LV)

Código Estado/Região AI Aizkraukles Aprinkis AL Aluksnes Aprinkis 012 Babite 013 Baldone BL Balvu Aprinkis BU Bauskas Aprinkis CE Cesu Aprinkis 024 Dagda DGV Daugavpils DA Daugavpils Aprinkis DO Dobeles Aprinkis GU Gulbenes Aprinkis 035 Ikskile 036 Ilukste 037 Incukalnsˇ JKB Jekabpils¯ JK Jekabpils Aprinkis JEL Jelgava JL Jelgavas Aprinkis JUR Jurmala¯ 044 Karsava KR Kraslavas Aprinkis 050 Kuldiga KU Kuldigas Aprinkis 053 Lielvarde LPX Liepaja¯ LE Liepajas Aprinkis LM Limbažu Aprinkis 056 Livani 058 Ludza LU Ludzas Aprinkis MA Madonas Aprinkis Continued on next page

88 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 28 – continued from previous page Código Estado/Região 090 Município Seja 011 Município de Adazi 001 Município de Aglona 002 Município de Aizkraukle 003 Município de Aizpute 004 Município de Akniste 005 Município de Aloja 006 Município de Alsunga 007 Município de Aluksne 008 Município de Amata 009 Município de Ape 010 Município de Auce 014 Município de Baltinava 015 Município de Balvi 016 Município de Bauska 017 Município de Beverina 018 Município de Broceni 019 Município de Burtnieki 020 Município de Carnikava 022 Município de Cesis 021 Município de Cesvaine 023 Município de Cibla 025 Município de Daugavpils 026 Município de Dobele 027 Município de Dundaga 028 Município de Durbe 029 Município de Engure 030 Município de Ergli 031 Município de Garkalne 032 Município de Grobina 033 Município de Gulbene 034 Município de Iecava 038 Município de Jaunjelgava 039 Município de Jaunpiebalga 040 Município de Jaunpils 042 Município de Jekabpils 041 Município de Jelgava 043 Município de Kandava 051 Município de Kegums 052 Município de Kekava 045 Município de Koceni 046 Município de Koknese 047 Município de Kraslava 048 Município de Krimulda 049 Município de Krustpils 055 Município de Ligatne 054 Município de Limbazi 057 Município de Lubana 059 Município de Madona Continued on next page

3.3. Códigos de países e estados/regiões 89 Documentação da API do VMpay, Release 1.0.0

Table 28 – continued from previous page Código Estado/Região 061 Município de Malpis 062 Município de Marupe 060 Município de Mazsalaca 063 Município de Mersrags 064 Município de Naukseni 066 Município de Nica 067 Município de Ogre 068 Município de Olaine 069 Município de Ozolnieki 070 Município de Pargauja 071 Município de Pavilosta 072 Município de Plavinas 073 Município de Preili 075 Município de Priekuli 076 Município de Rauna 077 Município de Rezekne 078 Município de Riebini 079 Município de Roja 080 Município de Ropazi 084 Município de Rujiena 083 Município de Rundãle 085 Município de Sala, Latvia 086 Município de Salacgriva 087 Município de Salaspils 088 Município de Saldus 089 Município de Saulkrasti 091 Município de Sigulda 092 Município de Skriveri 093 Município de Skrunda 094 Município de Smiltene 095 Município de Stopini 096 Município de Strenci 097 Município de Talsi 098 Município de Tervete 100 Município de Vainode 101 Município de Valka 102 Município de Varaklani 103 Município de Varkava 104 Município de Vecpiebalga 105 Município de Vecumnieki 106 Município de Ventspils 107 Município de Viesite 108 Município de Vilaka 109 Município de Vilani 110 Município de Zilupes 065 Nereta OG Ogres Aprinkis PR Preilu Aprinkis 074 Priekule Continued on next page

90 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 28 – continued from previous page Código Estado/Região REZ Rezekne RE Rezeknes Aprinkis RIX Riga RI Rigas Aprinkis 081 Rucava 082 Rugaji SA Saldus Aprinkis TA Talsu Aprinkis TU Tukuma Aprinkis 099 Tukums VK Valkas Aprinkis VMR Valmiera VM Valmieras Aprinkis VEN Ventspils VE Ventspils Aprinkis

Líbano (LB)

Código Estado/Região AK Akkar BH Baalbek-Hermel BA Beirute BI Beqaa JA Líbano Meridional AS Líbano Setentrional JL Monte Líbano NA Nabatiye

Libéria (LR)

Código Estado/Região BM Bomi BG Bong X1~ Gbarpolu GP Gbarpolu GB Grand Bassa CM Grand Cape Mount GG Grand Gedeh GK Grand Kru LO Lofa MG Margibi MY Maryland MO Montserrado NI Nimba RI River Cess X2~ River Gee RG River Gee SI Sinoe

3.3. Códigos de países e estados/regiões 91 Documentação da API do VMpay, Release 1.0.0

Líbia (LY)

Código Estado/Região BU Al Butnan JA Al Jabal al Akhdar JI Al Jifarah JU Al Jufrah KF Al Kufrah MJ Al Marj MB Al Marqab WA Al Wahat NQ An Nuqat al Khams WS Ash Shatii ZA Az Zawiyah BA Bengasi DR Darnah GT Ghat JG Jabal al Gharbi MI Misurata MQ Murzuq NL Nalut SB Sabha SR Surt TB Tripoli WD Wadi Al Hayat

Liechtenstein (LI)

Código Estado/Região 01 Balzers 02 Eschen 03 Gamprin 04 Mauren 05 Planken 06 Ruggell 07 Schaan 08 Schellenberg 09 Triesen 10 Triesenberg 11 Vaduz

Lituânia (LT)

Código Estado/Região 01 Akmene˙ AL Alytus 03 Alytus Continued on next page

92 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 29 – continued from previous page Código Estado/Região 02 Alytus Municipality 04 Anykšciaiˇ 05 Birštonas 06 Biržai 07 Druskininkai 08 Elektrenai˙ 09 Ignalina 10 Jonava 11 Joniškis 12 Jurbarkas 13 Kaišiadorys 14 Kalvarija 16 Kaunas KU Kaunas (condado) 15 Kauno Municipality 17 Kazlu˛Ruda¯ 18 Kedainiai˙ 19 Kelme˙ KL Klaipeda˙ 21 Klaipeda˙ 20 Klaipedos˙ Municipality 22 Kretinga 23 Kupiškis 24 Lazdijai 25 Marijampole˙ MR Marijampole˙ (condado) 26 Mažeikiai 27 Moletai˙ 28 Neringa 29 Pagegiai˙ 30 Pakruojis 31 Palanga 32 Panevežio˙ Municipality 33 Panevežys˙ PN Panevežys˙ 34 Pasvalys 35 Plunge˙ 36 Prienai 37 Radviliškis 38 Raseiniai 39 Rietavas 40 Rokiškis 41 Šakiai 42 Šalcininkaiˇ 44 Šiauliai SA Šiauliai 43 Šiauliu˛Municipality 45 Šilale˙ 46 Šilute˙ Continued on next page

3.3. Códigos de países e estados/regiões 93 Documentação da API do VMpay, Release 1.0.0

Table 29 – continued from previous page Código Estado/Região 47 Širvintos 48 Skuodas 49 Švencionysˇ TA Taurage˙ 50 Taurage˙ TE Telšiai 51 Telšiai 52 Trakai 53 Ukmerge˙ 54 Utena UT Utena 55 Varena˙ 56 Vilkaviškis 57 Vilniaus Municipality 58 Vilnius VL Vilnius 59 Visaginas 60 Zarasai

Luxemburgo (LU)

Código Estado/Região CA Capellen CL Clervaux DI Diekirch D Diekirch2 EC Echternach ES Esch-sur-Alzette GR Grevenmacher G Grevenmacher2 L Luxembourg2 LU Luxemburgo ME Mersch RD Redange RM Remich VD Vianden WI Wiltz

Macau (MO)

País não possui estados ou regiões.

Macedónia, República (MK)

Código Estado/Região 01 Aerodrom Continued on next page

94 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 30 – continued from previous page Código Estado/Região AD Aerodrom * AR Aracinovo BR Berovo TL Bitola BG Bogdanci VJ Bogovinje BS Bosilovo BN Brvenica 09 Butel BU Butel * 79 Cairˇ CI Cair * CA Caška 77 Centar CE Centar * CZ Centar Župa 81 Cesinoco-Oblesevo CH Cešinovo-Obleševo CS Cucer Sandevo DB Debar DA Debarca DL Delcevo DM Demir Hisar 25 Demir Hisar 24 Demir Kapija DK Demir Kapija SD Dojran 26 Dojran DE Dolneni 28 Drugovo DR Drugovo 17 Gazi Baba GB Gazi Baba * 18 Gevgelija GV Gevgelija 29 Gjorceˇ Petrov GP Gjorce Petrov * GT Gostivar GR Gradsko IL Ilinden JG Jegunovce KB Karbinci 37 Karbinci 38 Karpoš KX Karpoš * AV Kavadarci KH Kicevo 39 Kisela Voda VD Kisela Voda * Continued on next page

3.3. Códigos de países e estados/regiões 95 Documentação da API do VMpay, Release 1.0.0

Table 30 – continued from previous page Código Estado/Região OC Kocani KN Konce 43 Kratovo KY Kratovo KZ Kriva Palanka KG Krivogaštani KS Kruševo UM Kumanovo LI Lipkovo 49 Lozovo LO Lozovo 51 Makedonska Kamencia kommune MK Makedonska Kamenica 52 Makedonski Brod MD Makedonski Brod MR Mavrovo-i-Rostuša 53 Mogila MG Mogila 78 Município Central de Zupa 82 Município Cucer-Sandevo 76 Município Tetovo 02 Município de Aracinovo 03 Município de Berovo 04 Município de Bitola 05 Município de Bogdanci 06 Município de Bogovinje 07 Município de Bosilovo 08 Município de Brvenica 80 Município de Caska 21 Município de Debar 22 Município de Debarca 23 Município de Delcevo 27 Município de Dolneni 20 Município de Glarus 19 Município de Gostivar 34 Município de Ilinden 35 Município de Jegunovce 36 Município de Kavadarci 40 Município de Kicevo 42 Município de Kocani 41 Município de Konce 44 Município de Kriva Palanka 45 Município de Krivogachtani 46 Município de Krusevo 47 Município de Kumanovo 48 Município de Lipkovo 50 Município de Mavroso e Rostusa 56 Município de Novo Selo 58 Município de Ohrid Continued on next page

96 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 30 – continued from previous page Código Estado/Região 60 Município de Pehcevo 61 Município de Plasnica 62 Município de Prilep 63 Município de Probistip 64 Município de Radovis 65 Município de Rankovce 66 Município de Resen 70 Município de Sopiste 83 Município de Stip 72 Município de Struga 73 Município de Strumica 74 Município de Studenicani 69 Município de Sveki Nikole 75 Município de Tearce 12 Município de Vevcaniˇ 14 Município de Vinica 32 Município de Zelenikovo 30 Município de Zelino 33 Município de Zrnovci 54 Negotino NG Negotino 55 Novaci NV Novaci NS Novo Selo OD Ohrid 57 Oslomej OS Oslomej PH Pehcevo PE Petrovec 59 Petrovec PN Plasnica PP Prilep PT Probištip RV Radoviš RN Rankovce RE Resen 67 Rosoman RM Rosoman 68 Saraj AJ Saraj * X1~ Skopje 85 Skopje SS Sopište NA Staro Nagoricane 71 Staro Nagoricaneˇ ST Štip UG Struga RU Strumica SU Studenicani Continued on next page

3.3. Códigos de países e estados/regiões 97 Documentação da API do VMpay, Release 1.0.0

Table 30 – continued from previous page Código Estado/Região 84 Šuto Orizari SO Šuto Orizari * SL Sveti Nikole TR Tearce ET Tetovo VA Valandovo 10 Valandovo VL Vasilevo 11 Vasilevo VE Veles 13 Veles VV Vevcani NI Vinica 15 Vraneštica VC Vraneštica VH Vrapcište 16 Vrapcišteˇ ZA Zajas 31 Zajas ZK Zelenikovo ZE Želino ZR Zrnovci

Madagáscar (MG)

Código Estado/Região T Antananarivo D Antsiranana F Fianarantsoa M Mahajanga A Toamasina U Toliara

98 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Malásia (MY)

Código Estado/Região 01 Johor 03 Kelantan 14 Kuala Lumpur 15 Labuan 04 Malaca 05 Negeri Sembilan 06 Pahang 07 Penang 08 Perak 09 Perlis 16 Putrajaya 02 Quedá 12 Sabá 13 Sarawak 10 Selangor 11 Terengganu

Malawi (MW)

Código Estado/Região BA Balaka BL Blantyre CK Chikwawa CR Chiradzulu CT Chitipa DE Dedza DO Dowa KR Karonga KS Kasungu LK Likoma LI Lilongwe MH Machinga MG Mangochi MC Mchinji MU Mulanje MW Mwanza MZ Mzimba NE Neno NB Nkhata Bay NK Nkhotakota NS Nsanje NU Ntcheu NI Ntchisi PH Phalombe C Região Central N Região Norte Continued on next page

3.3. Códigos de países e estados/regiões 99 Documentação da API do VMpay, Release 1.0.0

Table 31 – continued from previous page Código Estado/Região S Região Sul RU Rumphi SA Salima TH Thyolo ZO Zomba

Maldivas (MV)

Código Estado/Região 01 Addu 02 Alif Alif Atoll X1~ Alif Dhaal 00 Alif Dhaal Atoll 05 Atol Laamu 20 Baa Atoll CE Central Province 17 Dhaalu Atoll 14 Faafu Atoll 27 Gaafu Alif Atoll 28 Gaafu Dhaalu Atoll 29 Gnaviyani Atoll 07 Haa Alif Atoll 23 Haa Dhaalu Atoll 26 Kaafu Atoll 03 Lhaviyani Atoll MLE Malé 12 Meemu Atoll 25 Noonu Atoll NC North Central Province NO North Province 13 Raa Atoll 24 Shaviyani Atoll SC South Central Province SU South Province 08 Thaa UN Upper North Province US Upper South Province 04 Vaavu Atoll

100 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Mali (ML)

Código Estado/Região BKO Bamako 7 Gao 1 Kayes 8 Kidal 2 Koulikoro 5 Mopti 4 Ségou 3 Sikasso 6 Tombouctou

Malta (MT)

Código Estado/Região 01 Attard 02 Balzan 03 Birgu 04 Birkirkara 05 Birzebbu˙ ga˙ 06 Cospicua 07 Dingli 08 Fgura 09 Floriana 10 Fontana (Malta) 11 Gudja 12 Gzira˙ 13 Gajnsielem 14 Garb 15 Gargur 16 Gasri 17 Gaxaq 19 Iklin 21 Kalkara 22 Kercem˙ 23 Kirkop 24 Lija 25 Luqa 26 Marsa 27 Marsaskala 28 Marsaxlokk 29 Mdina 30 Melliea 31 Mgarr˙ 32 Mosta 33 Mqabba 34 Msida 35 Mtarfa Continued on next page

3.3. Códigos de países e estados/regiões 101 Documentação da API do VMpay, Release 1.0.0

Table 32 – continued from previous page Código Estado/Região 36 Munxar 37 Nadur 38 Naxxar 39 Paola 40 Pembroke 41 Pietà (Malta) 42 Qala 43 Qormi 44 Qrendi 46 Rabat (Malta) 47 Safi 50 Saint Lawrence 49 San Gwann˙ 52 Sannat 53 Santa Lucija˙ 54 Santa Venera 20 Senglea 55 Sig˙giewi˙ 56 Sliema 48 St. Julian’s 51 St. Paul’s Bay 57 Swieqi 59 Tarxien 58 Ta’ Xbiex 60 Valeta 45 Victoria 61 Xagra 62 Xewkija 63 Xgajra 64 Zabbar˙ 66 Zebbu˙ g˙ 65 Zebbu˙ g˙ (Gozo) 67 Zejtun˙ 68 Zurrieq˙ 18 amrun

Marrocos (MA)

Código Estado/Região AGD Agadir BAH Aït Baha MEL Aït Melloul HAO Al Haouz HOC Al Hoceïma AOU Aousserd ASZ Assa-Zag AZI Azilal (província) BES Ben Slimane Continued on next page

102 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 33 – continued from previous page Código Estado/Região BEM Beni Mellal (província) BER Berkane BOD Boujdour BOM Boulemane CAS Casablanca 09 Chaouia-Ouardigha CHE Chefchaouen CHI Chichaoua (província) CHT Chtouka-Aït Baha 10 Doukkala-Abda HAJ El Hajeb JDI El Jadida KES El Kelâat Es-Sraghna ERR Errachidia ESM Es Semara ESI Essaouira (província) FAH Fahs-Beni Makada FES Fez 05 Fez-Boulemane FIG Figuig 02 Gharb-Chrarda-Beni Hssen 08 Grande Casablanca 14 Guelmim-Es Semara IFR Ifrane INE Inezgane-Aït Melloul JRA Jerada KEN Kénitra KHE Khemisset KHN Khénifra KHO Khouribga LAA Laâyoune X1~ Laayoune-Boujdour-Sakia El Hamra 15 Laâyoune-Boujdour-Sakia El Hamra LAR Larache MAR Marrakech* MMD Marraquexe 11 Marraquexe-Tensift-Al Haouz MMN Marraquexe2 SYB Marraquexe3 MED Médiouna MEK Meknès 06 Meknès-Tafilalet MOH Mohammedia MOU Moulay Yacoub NAD Nador NOU Nouaceur OUA Ouarzazate 16 Oued Ed-Dahab-Lagouira OUD Oued ed-Dahab provins Continued on next page

3.3. Códigos de países e estados/regiões 103 Documentação da API do VMpay, Release 1.0.0

Table 33 – continued from previous page Código Estado/Região OUJ Oujda GUE Província de Guelmim RAB Rabat RBA Rabat-Salé* 07 Rabat-Salé-Zemmour-Zaer 04 Região Oriental SAF Safi SAL Salé SEF Sefrou SET Settat SIK Sidi Kacem 13 Souss-Massa-Drâa 12 Tadla-Azilal TNT Tan-Tan TNG Tânger 01 Tânger-Tetuão TAO Taounate TAI Taourirt TAR Tarudante TAT Tata TAZ Taza 03 Taza-Al Hoceima-Taounate SKH Temara TET Tétouan TIZ Tiznit ZAG Zagora

Martinica (MQ)

País não possui estados ou regiões.

104 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Maurícias (MU)

Código Estado/Região AG Agalega BR Beau-Bassin Rose-Hill BL Black River CC Cargados Carajos CU Curepipe FL Flacq GP Grand Port MO Moka PA Pamplemousses PW Plaines Wilhems PL Port Louis PU Port Louis2 QB Quatre Bornes RR Rivière du Rempart RO Rodrigues SA Savanne VP Vacoas-Phoenix

Mauritânia (MR)

Código Estado/Região 07 Adrar 03 Assaba 05 Brakna 08 Dakhlet Nouadhibou 04 Gorgol 10 Guidimaka 01 Hodh ech Chargui 02 Hodh el Gharbi 12 Inchiri NKC Nouakchott 14 Nouakchott Nord 13 Nouakchott Ouest 15 Nouakchott Sud 09 Tagant 11 Tiris Zemmour 06 Trarza

Mayotte (YT)

País não possui estados ou regiões.

México (MX)

3.3. Códigos de países e estados/regiões 105 Documentação da API do VMpay, Release 1.0.0

Código Estado/Região AGU Aguascalientes BCN Baja California BCS Baja California Sur CAM Campeche CHP Chiapas CHH Chihuahua CMX Cidade do México COA Coahuila de Zaragoza COL Colima DUR Durango GUA Guanajuato GRO Guerrero HID Hidalgo YUC Iucatã JAL Jalisco MEX México DIF Mexico City MIC Michoacán MOR Morelos NAY Nayarit NLE Nuevo León OAX Oaxaca PUE Puebla QUE Querétaro ROO Quintana Roo SLP San Luis Potosí SIN Sinaloa SON Sonora TAB Tabasco TAM Tamaulipas TLA Tlaxcala VER Veracruz ZAC Zacatecas

Micronesia, Estados Federados da (FM)

Código Estado/Região TRK Chuuk KSA Kosrae PNI Pohnpei YAP Yap

106 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Moçambique (MZ)

Código Estado/Região P Cabo Delgado G Gaza I Inhambane B Manica L Maputo MPM Maputo2 N Nampula A Niassa S Sofala T Tete Q Zambézia

Moldávia, República da (MD)

Código Estado/Região AN Anenii Noi (condado) BA Bal¸ti˘ BS Basarabeasca BD Bender BR Briceni CA Cahul (distrito)

CL Cal˘ aras˘ , i CT Cantemir CS Cau¸seni(condado)˘

CU Chis, inau˘ CH Chisinau City CM Cimi¸slia CR Criuleni (condado) SO Distrito de Soroca DO Dondu¸seni DR Drochia DU Dubasari˘ ED Edine¸t FA Fale¸sti˘ FL Flore¸sti GA Gagaúzia GL Glodeni HI Hînce¸sti IA Ialoveni (distrito) LA Lapusna LE Leova NI Nisporeni OC Ocni¸ta OR Orhei RE Rezina RI Rî¸scani Continued on next page

3.3. Códigos de países e estados/regiões 107 Documentação da API do VMpay, Release 1.0.0

Table 35 – continued from previous page Código Estado/Região SI Sîngerei SD ¸Soldane¸sti˘ SV ¸Stefan Voda˘ (condado) ST Stra¸seni˘ TA Taraclia TE Telene¸sti(condado) TI Tighina [Bender] SN Transnistria UN Ungheni

Mónaco (MC)

Código Estado/Região FO Fontvieille JE Jardin Exotique de Monaco CL La Colle CO La Condamine GA La Gare SR La Rousse/Saint-Roman SO La Source LA Larvotto MA Malbousquet MO Monaco-Ville MG Moneghetti MC Monte Carlo MU Moulins PH Port Hercules SD Sainte-Dévote Chapel SP Spélugues VR Vallon de la Rousse

108 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Mongólia (MN)

Código Estado/Região 073 Arkhangay 071 Bayan-Ölgiy 069 Bayankhongor 067 Bulgan 037 Darhan-Uul 061 Dornod 063 Dornogov˘ı 059 Dundgov˘ı 065 Govi-Altay 064 Gov˘ısümber 039 Khentiy 043 Khovd 041 Khövsgöl 053 Ömnögov˘ı 035 Orhon 055 Övörkhangay 049 Selenge 051 Sükhbaatar 047 Töv 1 Ulan Bator 046 Uvs 057 Zavkhan

3.3. Códigos de países e estados/regiões 109 Documentação da API do VMpay, Release 1.0.0

Montenegro (ME)

Código Estado/Região 01 Andrijevica 02 Bar (Montenegro) 03 Berane 04 Bijelo Polje (município) 05 Budva (município) 06 Cetinje 22 Gusinje 08 Herceg-Novi 09 Kolašin 10 Kotor 11 Mojkovac 07 Município de Danilovgrad 12 Município de Niksic 13 Município de Plav 15 Município de Pluzine 23 Petnjica 14 Pljevlja 16 Podgorica 17 Rožaje 18 Šavnik 19 Tivat 20 Ulcinj 21 Žabljak

Montserrat (MS)

País não possui estados ou regiões.

Myanmar (MM)

Código Estado/Região 16 Arracão 07 Ayeyarwady 02 Bago (divisão) 14 Chin 11 Kachin 12 Kayah 13 Kayin 03 Magway 04 Mandalay (divisão) 15 Mon 01 Sagaing 17 Shan 05 Tanintharyi 18 Território da União de Naypyidaw 06 Yangon

110 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Namíbia (NA)

Código Estado/Região CA Caprivi ER Erongo HA Hardap KA Karas KW Kavango Ocidental KE Kavango Oriental KH Khomas KU Kunene OW Ohangwena OH Omaheke OS Omusati ON Oshana OT Oshikoto OD Otjozondjupa

Nauru (NR)

Código Estado/Região 01 Aiwo 02 Anabar 03 Anetan 08 Anexo:Distritos de Nauru 04 Anibare 05 Baiti 06 Boe 07 Buada 09 Ewa 10 Ijuw 11 Meneng 12 Nibok 13 Uaboe 14 Yaren

3.3. Códigos de países e estados/regiões 111 Documentação da API do VMpay, Release 1.0.0

Nepal (NP)

Código Estado/Região BA Bagmati BH Bheri 1 Centro 2 Centro-Oeste DH Dhaulagiri (zona) 5 Extremo-Oeste GA Gandaki JA Janakpur KA Karnali KO Kosi LU Lumbini MA Mahakali ME Mechi NA Narayani (Nepal) 3 Oeste RA Rapti 4 Região Leste SA Sagarmatha SE Seti

Nicarágua (NI)

Código Estado/Região BO Boaco CA Carazo CI Chinandega CO Chontales ES Estelí GR Granada JI Jinotega LE León MD Madriz MN Manágua MS Masaya MT Matagalpa NS Nueva Segovia AN Región Autónoma del Atlántico Norte AS Región Autónoma del Atlántico Sur SJ Río San Juan RI Rivas

112 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Níger (NE)

Código Estado/Região 1 Agadez (região) 2 Diffa 3 Dosso 4 Maradi 8 Niamey 5 Tahoua 6 Tillabéri 7 Zinder

Nigéria (NG)

Código Estado/Região AB Abia (estado) AD Adamawa AK Akwa Ibom (estado) AN Anambra (estado) BA Bauchi BY Bayelsa BE Benue BO Borno CR Cross River DE Delta EB Ebonyi ED Edo EK Ekiti EN Enugu GO Gombe IM Imo JI Jigawa KD Kaduna KN Kano KT Katsina KE Kebbi KO Kogi KW Kwara LA Lagos NA Nasarawa NI Níger OG Ogun ON Ondo OS Osun OY Oyo PL Plateau RI Rivers SO Sokoto TA Taraba Continued on next page

3.3. Códigos de países e estados/regiões 113 Documentação da API do VMpay, Release 1.0.0

Table 36 – continued from previous page Código Estado/Região FC Território da Capital Federal da Nigéria YO Yobe ZA Zamfara (estado)

Niue (NU)

País não possui estados ou regiões.

Noruega (NO)

Código Estado/Região NO-02 Akershus 02 Akershus 09 Aust-Agder NO-09 Aust-Agder 06 Buskerud NO-06 Buskerud NO-20 Finnmark 20 Finnmark 04 Hedmark NO-04 Hedmark 12 Hordaland NO-12 Hordaland 22 Jan Mayen NO-22 Jan Mayen (Arctic Region) (See also country code SJ) NO-15 Møre og Romsdal 15 Møre og Romsdal 17 Nord-Trøndelag NO-17 Nord-Trøndelag NO-18 Nordland 18 Nordland NO-05 Oppland 05 Oppland NO-03 Oslo 03 Oslo NO-11 Rogaland 11 Rogaland NO-14 Sogn og Fjordane 14 Sogn og Fjordane 21 Svalbard NO-21 Svalbard (Arctic Region) (See also country code SJ) NO-16 Sør-Trøndelag 16 Sør-Trøndelag 08 Telemark NO-08 Telemark 19 Troms NO-19 Troms NO-10 Vest-Agder Continued on next page

114 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 37 – continued from previous page Código Estado/Região 10 Vest-Agder NO-07 Vestfold 07 Vestfold NO-01 Østfold 01 Østfold

Nova Caledónia (NC)

País não possui estados ou regiões.

Nova Zelândia (NZ)

Código Estado/Região AUK Auckland CAN Canterbury X1~ Chatham Islands WTC Costa Oeste GIS Gisborne HKB Hawke’s Bay CIT Ilhas Chatham MWT Manawatu-Wanganui NSN Nelson N North Island NTL Northland OTA Otago BOP Região da Baia de Plenty MBH Região de Marborough S South Island STL Southland TKI Taranaki TAS Tasman WKO Waikato WGN Wellington

3.3. Códigos de países e estados/regiões 115 Documentação da API do VMpay, Release 1.0.0

Oman (OM)

Código Estado/Região DA Ad Dakhiliyah ZA Ad Dhahirah BA Al Batinah BU Al Buraimi X1~ Al Buraymi WU Al Wusta SH Ash Sharqiyah SJ Ash Sharqiyah Sul JA Dhofar BJ Governamento de Al Batinah Sul SS Governamento de Ash Sharqiyah Norte MA Governamento de Muscat MU Península de Musandam BS Shamal al Batinah ZU Zufar

Países Baixos (NL)

Código Estado/Região AW Aruba BQ1 Bonaire NB Brabante do Norte CW Curaçao DR Drente FL Flevolândia FR Frísia GR Groninga GE Guéldria NH Holanda do Norte ZH Holanda do Sul LI Limburgo OV Overissel BQ2 Saba BQ3 Santo Eustáquio SX Sint Maarten UT Utrecht ZE Zelândia

116 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Palau (PW)

Código Estado/Região 002 Aimeliik 004 Airai 010 Angaur 050 Hatohobei 100 Kayangel 150 Koror 212 Melekeok 214 Ngaraard 218 Ngarchelong 222 Ngardmau 224 Ngatpang 226 Ngchesar 227 Ngeremlengui 228 Ngiwal 350 Peleliu 370 Sonsoral

Palestina, Autoridade da (PS)

Código Estado/Região DEB Deir al-Balah GZA Gaza NGZ Governamento Nord de Gaza BTH Governamento de Belém HBN Governamento de Hebron JRH Jericho JEM Jerusalem KYS Khan Yunis JEN Província de Jenin NBS Província de Nablus SLT Província de Salfit QQA Qalqilya RFH Rafah RBH Ramallah og al-Bireh TBS Tubas Governorate TKM Tulkarm

3.3. Códigos de países e estados/regiões 117 Documentação da API do VMpay, Release 1.0.0

Panamá (PA)

Código Estado/Região 1 Bocas del Toro 4 Chiriquí 2 Coclé 3 Colón 0 Comarca de San Blas 5 Darién EM Emberá 6 Herrera KY Kuna Yala 7 Los Santos NB Ngöbe-Buglé 8 Panamá 9 Veraguas 10 West Panamá

Papua Nova Guiné (PG)

Código Estado/Região NSB Bougainville CPM Central ESW East Sepik EHG Eastern Highlands EPW Enga GPK Gulf (província) HLA Hela JWK Jiwaka MPM Madang MRL Manus (província) MBA Milne Bay MPL Morobe NSA North Solomons WBK Nova Bretanha Ocidental EBR Nova Bretanha Oriental NIK Nova Irlanda NPP Oro NCD Port Moresby WPD Província Ocidental SAN Sandaun CPK Simbu SHM Southern Highlands WHM Western Highlands

118 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Paquistão (PK)

Código Estado/Região BA Baluchistão JK Caxemira Livre GB Gilgit-Baltistão KP Khyber Pakhtunkhwa NW North-West Frontier NA Northern Areas PB Punjab SD Sind TA Território Federal das Áreas Tribais IS Território da Capital Islamabad

Paraguai (PY)

Código Estado/Região 16 Alto Paraguay (departamento) 10 Alto Paraná (departamento) 13 Amambay (departamento) ASU Assunção 19 Boquerón 5 Caaguazú 6 Caazapá 14 Canindeyú 11 Central 1 Concepción 3 Cordillera 4 Guairá 7 Itapúa 8 Misiones 12 Ñeembucú 9 Paraguarí 15 Presidente Hayes 2 San Pedro

3.3. Códigos de países e estados/regiões 119 Documentação da API do VMpay, Release 1.0.0

Peru (PE)

Código Estado/Região AMA Amazonas ANC Ancash APU Apurímac ARE Arequipa AYA Ayacucho CAJ Cajamarca CAL Callao CUS Cusco HUV Huancavelica HUC Huánuco ICA Ica JUN Junín LAM Lambayeque LAL Liberdade LIM Lima X1~ Lima Metropolitana LMA Lima2 LOR Loreto MDD Madre de Deus (região) MOQ Moquegua PAS Pasco PIU Piura PUN Puno SAM San Martín TAC Tacna TUM Tumbes UCA Ucayali

Pitcairn (PN)

País não possui estados ou regiões.

Polinésia Francesa (PF)

País não possui estados ou regiões.

120 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Polónia (PL)

Código Estado/Região DS Voivodia da Baixa Silésia KP Voivodia da Cujávia-Pomerânia WP Voivodia da Grande Polônia LB Voivodia da Lubúsquia MZ Voivodia da Mazóvia MA Voivodia da Pequena Polónia PD Voivodia da Podláquia PM Voivodia da Pomerânia ZP Voivodia da Pomerânia Ocidental SL Voivodia da Silésia PK Voivodia da Subcarpácia WN Voivodia da Vármia-Masúria LU Voivodia de Lublin OP Voivodia de Opole SK Voivodia de Santa Cruz LD Voivodia de Łód´z

Porto Rico (PR)

País não possui estados ou regiões.

Portugal (PT)

Código Estado/Região 20 Açores 01 Aveiro 04 Bragança 09 Distrito da Guarda 02 Distrito de Beja 03 Distrito de Braga 05 Distrito de Castelo Branco 06 Distrito de Coimbra 07 Distrito de Évora 08 Distrito de Faro 10 Distrito de Leiria 11 Distrito de Lisboa 12 Distrito de Portalegre 14 Distrito de Santarém 15 Distrito de Setúbal 16 Distrito de Viana do Castelo 13 Porto 30 Região Autónoma da Madeira 17 Vila Real 18 Viseu

3.3. Códigos de países e estados/regiões 121 Documentação da API do VMpay, Release 1.0.0

Quatar (QA)

Código Estado/Região ZA GH Al Ghuwayriyah JU Al Jumayliyah KH RA WA Al-Wakrah DA JB Jariyan al Batnah MS Madinat ash Shamal X1~ Umm Sa’id US

Quénia (KE)

Código Estado/Região 01 Baringo 02 Bomet 03 Bungoma 04 Busia 200 Central 300 Coast 10 Distrito de Kajiado 400 Eastern 05 Elgeyo-Marakwet 06 Embu 07 Garissa 08 Homa Bay 09 Isiolo 11 Kakamega 12 Kericho 13 Kiambu 14 Kilifi 15 Kirinyaga 16 Kisii (distrito) 17 Kisumu (distrito) 18 Kitui 19 Kwale 20 Laikipia 21 Lamu 22 Machakos 23 Makueni 24 Mandera 25 Marsabit 26 Meru 27 Migori 28 Mombasa Continued on next page

122 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 38 – continued from previous page Código Estado/Região 29 Murang’a 30 Nairobi 110 Nairobi Municipality 31 Nakuru 32 Nandi 33 Narok 500 North-Eastern 34 Nyamira 35 Nyandarua 600 Nyanza 36 Nyeri 700 Rift Valley 37 Samburu 38 Siaya (distrito) 39 Taita-Taveta 40 Tana River 41 Tharaka-Nithi 42 Trans Nzoia 43 Turkana 44 Uasin Gishu 45 Vihiga 46 Wajir 47 West Pokot 900 Western

Quirgistão (KG)

Código Estado/Região B Batken GB Bisqueque C Chuy Y Issyk-Kul J Jalal-Abad N Naryn GO Osh O Osh2 T Talas

Reino Unido (GB)

Código Estado/Região ABE Aberdeen ABD Aberdeenshire AGY Anglesey ANS Angus ANT Antrim ANN Antrim and Newtownabbey Continued on next page

3.3. Códigos de países e estados/regiões 123 Documentação da API do VMpay, Release 1.0.0

Table 39 – continued from previous page Código Estado/Região ARD Ards AND Ards and North Down AGB Argyll and Bute ARM Armagh ABC Armagh, Banbridge and Craigavon BLA Ballymena BLY Ballymoney BNB Banbridge BDG Barking e Dagenham BNE Barnet BNS Barnsley BAS Bath and North East Somerset BDF Bedford BFS Belfast BEX Bexley BIR Birmingham BBD Blackburn with Darwen BPL Blackpool BGW Blaenau Gwent BOL Bolton SFT Borough Metropolitano de Sefton BMH Bournemouth BRC Bracknell Forest BRD Bradford BEN Brent BGE Bridgend BNH Brighton e Hove BST Bristol BRY Bromley BKM Buckinghamshire BUR Bury CAY Caerphilly CLD Calderdale CAM Cambridgeshire CMD Camden CRF Cardiff CGN Cardiganshire CMN Carmarthenshire CKF Carrickfergus CSR Castlereagh CCG Causeway Coast and Glens CBF Central Bedfordshire CHS Cheshire CHE Cheshire East CHW Cheshire West and Chester LND Cidade de Londres WKF Cidade de Wakefield WSM Cidade de Westminster CLK Clackmannanshire Continued on next page

124 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 39 – continued from previous page Código Estado/Região CLR Coleraine CWY Conwy CKT Cookstown CON Cornualha COV Coventry CGV Craigavon CRY Croydon CMA Cúmbria DAL Darlington DEN Denbighshire DER Derby DBY Derbyshire DRY Derry DRS Derry and Strabane DEV Devon DNC Doncaster DOR Dorset DOW Down DUD Dudley DGY Dumfries and Galloway DND Dundee DGN Dungannon and South Tyrone DUR Durham EAL Ealing EAY East Ayrshire EDU East Dunbartonshire ELN East Lothian ERW East Renfrewshire ERY East Riding of Yorkshire ESX East Sussex EDH Edimburgo ENF Enfield SCT Escócia ESS Essex FAL Falkirk FER Fermanagh FMO Fermanagh and Omagh FIF Fife FLN Flintshire GAT Gateshead GLG Glasgow GLS Gloucestershire GBN Grã-Bretanha GRE Greenwich GWN Gwynedd HCK Hackney HAL Halton HMF Hammersmith e Fulham HAM Hampshire Continued on next page

3.3. Códigos de países e estados/regiões 125 Documentação da API do VMpay, Release 1.0.0

Table 39 – continued from previous page Código Estado/Região HRY Haringey HRW Harrow HPL Hartlepool HAV Havering ELS Hébridas Exteriores HEF Herefordshire HRT Hertfordshire HLD Highland HIL Hillingdon HNS Hounslow IOW Ilha de Wight IOS Ilhas Scilly ENG Inglaterra EAW Inglaterra e Gales IVC Inverclyde YOR Iorque NIR Irlanda do Norte ISL Islington KEC Kensington e Chelsea KEN Kent KHL Kingston upon Hull KTT Kingston upon Thames KIR Kirklees KWL Knowsley LBH Lambeth LAN Lancashire LRN Larne LDS Leeds LCE Leicester LEC Leicestershire LEW Lewisham LMV Limavady LIN Lincolnshire LSB Lisburn LBC Lisburn and Castlereagh LIV Liverpool LUT Luton MFT Magherafelt MAN Manchester MDW Medway MTY Merthyr Tydfil MRT Merton MUL Mid Ulster MEA Mid and East Antrim MDB Middlesbrough MLN Midlothian MIK Milton Keynes MON Monmouthshire MRY Moray Continued on next page

126 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 39 – continued from previous page Código Estado/Região MYL Moyle NTL Neath Port Talbot NET Newcastle upon Tyne NWM Newham NWP Newport NYM Newry and Mourne NMD Newry, Mourne and Down NTA Newtownabbey NFK Norfolk NAY North Ayrshire NDN North Down NEL North East Lincolnshire NLK North Lanarkshire NLN North Lincolnshire NSM North Somerset NTY North Tyneside NYK North Yorkshire NTH Northamptonshire NBL Northumberland NGM Nottingham NTT Nottinghamshire OLD Oldham OMH Omagh ORK Órcades OXF Oxfordshire WLS País de Gales PEM Pembrokeshire PKN Perth and Kinross PTE Peterborough PLY Plymouth POL Poole POR Portsmouth POW Powys RDG Reading RDB Redbridge RCC Redcar and Cleveland UKM Reino Unido RFW Renfrewshire RCT Rhondda Cynon Taf RIC Richmond upon Thames RCH Rochdale ROT Rotherham RUT Rutland SHN Saint Helens SLF Salford SAW Sandwell SCB Scottish Borders SHF Sheffield ZET Shetland Continued on next page

3.3. Códigos de países e estados/regiões 127 Documentação da API do VMpay, Release 1.0.0

Table 39 – continued from previous page Código Estado/Região SHR Shropshire SLG Slough SOL Solihull SOM Somerset SAY South Ayrshire SGC South Gloucestershire SLK South Lanarkshire STY South Tyneside STH Southampton SOS Southend-on-Sea SWK Southwark STS Staffordshire STG Stirling SKP Stockport STT Stockton-on-Tees STE Stoke-on-Trent STB Strabane SFK Suffolk SND Sunderland SRY Surrey STN Sutton SWA Swansea SWD Swindon TAM Tameside TFW Telford and Wrekin THR Thurrock TOB Torbay TOF Torfaen TWH Tower Hamlets TRF Trafford VGL Vale of Glamorgan WLL Walsall WFT Waltham Forest WND Wandsworth WRT Warrington WAR Warwickshire WBK West Berkshire WDU West Dunbartonshire WLN West Lothian WSX West Sussex WGN Wigan WIL Wiltshire WNM Windsor and Maidenhead WRL Wirral WOK Wokingham WLV Wolverhampton WOR Worcestershire WRX Wrexham

128 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

República Árabe Síria (SY)

Código Estado/Região HA Al-Hasakah HL Alepo RA Ar-Raqqah SU As-Suwayda DI Damasco DR Dara DY Deir ez-Zor HM Hama HI Homs ID Idlib LA Latakia QU Quneitra RD Rif Dimashq TA Tartus

República Centro-Africana (CF)

Código Estado/Região BB Bamingui-Bangoran BGF Bangui BK Basse-Kotto HM Haut-Mbomou HK Haute-Kotto KG Kémo LB Lobaye HS Mambéré-Kadéï MB Mbomou KB Nana-Grébizi NM Nana-Mambéré MP Ombella-M’Poko UK Ouaka AC Ouham OP Ouham-Pendé SE Sangha-Mbaéré VK Vakaga

República Checa (CZ)

Código Estado/Região 201 Benešov (distrito) 202 Beroun 621 Blansko 641 Blansko (distrito) 20 Boêmia Central Continued on next page

3.3. Códigos de países e estados/regiões 129 Documentação da API do VMpay, Release 1.0.0

Table 40 – continued from previous page Código Estado/Região 31 Boêmia do Sul 624 Breclavˇ 644 Breclavˇ 622 Brno 642 Brno (distrito) 643 Brno-Venkov 623 Brno-venkov 801 Bruntál ST Central Bohemia 511 CeskᡠLípa 311 Ceskéˇ Budejoviceˇ 312 Ceskýˇ Krumlov 411 Cheb 422 Chomutov 531 Chrudim 421 Deˇcínˇ 323 Distrito de Plzen-Ciudadˇ 324 Distrito de Plzen-Sulˇ 321 Domažlice 802 Frýdek-Místek 611 Havlíck˚uvBrodˇ 631 Havlíck˚uvBrodˇ 2 645 Hodonín (distrito) 625 Hodonín2 52 Hradec Králové KR Hradec Králové Region 521 Hradec Králové2 512 Jablonec nad Nisou 711 Jeseník 522 Jicínˇ 632 Jihlava 612 Jihlava2 313 Jindrich˚uvHradecˇ 41 Karlovy Vary KA Karlovy Vary Region 412 Karlovy Vary2 803 Karviná 203 Kladno 322 Klatovy 204 Kolín 721 Kromeˇr힡 (distrito) 205 Kutná Hora 51 Liberec LI Liberec Region 513 Liberec2 423 Litomeˇriceˇ 424 Louny 206 Melníkˇ 207 Mladá Boleslav Continued on next page

130 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 40 – continued from previous page Código Estado/Região 64 Morávia do Sul 80 Morávia-Silésia MO Moravian-Silesia 425 Most 523 Náchod 804 Nový Jicínˇ 208 Nymburk 71 Olomouc OL Olomouc Region 712 Olomouc2 805 Opava 806 Ostrava 53 Pardubice PA Pardubice Region 532 Pardubice2 633 Pelhrimovˇ 613 Pelhrimovˇ 2 314 Písek 32 Plzenˇ PL Plzenˇ Region 325 Plzen-Northˇ 315 Prachatice 10 Praga 113 Praga 13 PR Prague 101 Prague 1 10A Prague 10 110 Prague 102 10B Prague 11 111 Prague 112 10C Prague 12 112 Prague 122 10D Prague 132 10E Prague 14 114 Prague 142 115 Prague 15 10F Prague 152 116 Prague 16 117 Prague 17 118 Prague 18 119 Prague 19 102 Prague 2 120 Prague 20 121 Prague 21 122 Prague 22 103 Prague 3 104 Prague 4 105 Prague 5 106 Prague 6 Continued on next page

3.3. Códigos de países e estados/regiões 131 Documentação da API do VMpay, Release 1.0.0

Table 40 – continued from previous page Código Estado/Região 107 Prague 7 108 Prague 8 109 Prague 9 209 Prague-East 20A Prague-West 714 Prerovˇ 20B Príbramˇ 713 Prostejovˇ 20C Rakovník 326 Rokycany 524 Rychnov nad Knežnouˇ 514 Semily 413 Sokolov JC South Bohemia JM South Moravia 316 Strakonice 715 Šumperk 533 Svitavy 317 Tábor 327 Tachov 426 Teplice 614 Trebíˇ cˇ 634 Trebíˇ cˇ (distrito) 525 Trutnov 722 Uherské Hradišteˇ (distrito) 42 Ústí nad Labem US Ústí nad Labem Region 427 Ústí nad Labem2 534 Ústí nad Orlicí 723 Vsetín 646 Vyškov 626 Vyškov2 63 Vysocinaˇ VY Vysocinaˇ 2 615 Žd’ár nad Sázavou 635 Žd’ár nad Sázavou2 72 Zlín 724 Zlín (distrito) ZL Zlín Region 627 Znojmo 647 Znojmo2

132 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

República Democrática Popular do Laos (LA)

Código Estado/Região AT Attapeu (província) BK Bokeo BL Borikhamxai CH Champassak HO Houaphanh KH Khammouane LM Luang Namtha LP Luang Prabang OU Oudomxai PH Phongsali SL Saravane SV Savannakhet XA Sayaburi XE Sekong VI Vientiane VT Vientiane2 XN Xaisomboun XS Xaisomboun2 XI Xieng Khouang

República Dominicana (DO)

Código Estado/Região 02 Azua (província) 03 Bahoruco (província) 04 Barahona 33 Cibao Nordeste 34 Cibao Noroeste 35 Cibao Norte 36 Cibao Sur 05 Dajabón 01 Distrito Nacional 06 Duarte (província) 08 El Seibo 37 El Valle 07 Elías Piña 38 Enriquillo 09 Espaillat 30 Hato Mayor 19 Hermanas Mirabal 39 Higüamo 10 Independencia 11 La Altagracia 12 La Romana 13 La Vega 14 María Trinidad Sánchez Continued on next page

3.3. Códigos de países e estados/regiões 133 Documentação da API do VMpay, Release 1.0.0

Table 41 – continued from previous page Código Estado/Região 28 Monseñor Nouel 15 Monte Cristi 29 Monte Plata 40 Ozama 16 Pedernales 17 Peravia 18 Puerto Plata 20 Samaná 21 San Cristóbal 31 San José de Ocoa 22 San Juan 23 San Pedro de Macorís 24 Sánchez Ramírez 25 Santiago 26 Santiago Rodríguez 32 Santo Domingo 41 Valdesia 27 Valverde 42 Yuma

República do Sudão (SS)

Código Estado/Região NU Alto Nilo BW Bahr al-Ghazal Ocidental BN Bahr al-Ghazal do Norte EC Equatória Central EW Equatória Ocidental EE Equatória Oriental JG Juncáli LK Lagos UY Unidade WR Warab

Roménia (RO)

Código Estado/Região AB Alba AR Arad AG Arge¸s BC Bacau˘ BH Bihor

BN Bistrit, a-Nas˘ aud˘ BT Boto¸sani BR Braila˘

BV Bras, ov B Bucareste Continued on next page

134 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 42 – continued from previous page Código Estado/Região BZ Buzau˘ CL Cal˘ ara¸si˘ CS Cara¸s-Severin CJ Cluj CT Constan¸ta CV Covasna DB Dâmbovi¸ta DJ Dolj GL Gala¸ti GR Giurgiu GJ Gorj HR Harghita HD Hunedoara IL Ialomi¸ta IS Ia¸si IF Ilfov

MM Maramures, MH Mehedin¸ti

MS Mures, NT Neam¸t OT Olt PH Prahova SJ Salaj˘ SM Satu Mare SB Sibiu SV Suceava TR Teleorman TM Timi¸s TL Tulcea VL Vâlcea VS Vaslui VN Vrancea

Ruanda (RW)

Código Estado/Região 01 Kigali 04 Oeste 02 Província Oriental 03 Província do Norte 05 Província do Sul

3.3. Códigos de países e estados/regiões 135 Documentação da API do VMpay, Release 1.0.0

Sahara Ocidental (EH)

Código Estado/Região BOD Boujdour ESM Es Semara LAA Laayoune OUD Oued el Dahab

Saint Barthélemy (BL)

País não possui estados ou regiões.

Saint Kitts e Nevis (KN)

Código Estado/Região 01 Christ Church Nichola Town K Ilha de São Cristóvão N Nevis 02 Saint Anne Sandy Point 03 Saint George Basseterre 04 Saint George Gingerland 05 Saint James Windward 06 Saint John Capisterre 07 Saint John Figtree 08 Saint Mary Cayon 09 Saint Paul Capisterre 10 Saint Paul Charlestown 11 Saint Peter Basseterre 12 Saint Thomas Lowland 13 Saint Thomas Middle Island 15 Trinity Palmetto Point

Saint Pierre e Miquelon (PM)

País não possui estados ou regiões.

136 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Samoa (WS)

Código Estado/Região AL Aiga-i-le-Tai AT Atua AA A’ana FA Fa’asaleleaga GE Gaga’emauga GI Gaga’ifomauga PA Palauli SA Satupa’itea TU Tuamasaga VS Vaisigano VF Va’a-o-Fonoti

Samoa Americana (AS)

País não possui estados ou regiões.

San Marino (SM)

Código Estado/Região 01 Acquaviva 06 Borgo Maggiore 02 Chiesanuova 03 Domagnano 04 Faetano 05 Fiorentino 08 Montegiardino 07 San Marino 09 Serravalle

Santa Helema, Ascenção e Tristão da Cunha (SH)

Código Estado/Região AC Ilha de Ascensão SH Saint Helena HL Santa Helena TA Tristan da Cunha

3.3. Códigos de países e estados/regiões 137 Documentação da API do VMpay, Release 1.0.0

Santa Lúcia (LC)

Código Estado/Região 01 Anse-La-Raye 12 Canaries 02 Castries 03 Choiseul 05 Dennery 06 Gros Islet Quarter 07 Laborie 08 Micoud 10 Soufrière 11 Vieux Fort

Santa Sé (Estado Cidade do Vaticano) (VA)

País não possui estados ou regiões.

São Martin (Território Francês) (MF)

País não possui estados ou regiões.

São Martinho (Países Baixos) (SX)

País não possui estados ou regiões.

São Tomé e Príncipe (ST)

Código Estado/Região P Príncipe S São Tomé

São Vicente e Grenadinas (VC)

Código Estado/Região 01 Charlottr 06 Granadinas 02 Santo André 03 São David 04 São Jorge Parish 05 São Patrício

138 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Senegal (SN)

Código Estado/Região DK Dakar DB Diourbel FK Fatick KA Kaffrine KL Kaolack KE Kédougou KD Kolda LG Louga MT Matam SE Região de Sédhiou SL Saint-Louis TC Tambacounda TH Thiès ZG Ziguinchor

Serra Leoa (SL)

Código Estado/Região E Eastern N Northern S Província do Sul W Western Area

Sérvia (RS)

Código Estado/Região 00 Belgrado 14 Bor 11 Branicevoˇ 02 Distrito Central de Banat 01 Distrito Norte de Backa 03 Distrito Norte de Banat 06 Distrito Sul de Backa 04 Distrito Sul de Banat 05 Distrito de Backa Oeste 23 Distrito de Jablanica 09 Distrito de Kolubara 25 Distrito de Kosovo 08 Distrito de Macvaˇ 17 Distrito de Moravica 20 Distrito de Nisava 24 Distrito de Pcinja 22 Distrito de Pirot 10 Distrito de Podunavlje Continued on next page

3.3. Códigos de países e estados/regiões 139 Documentação da API do VMpay, Release 1.0.0

Table 43 – continued from previous page Código Estado/Região 19 Distrito de Rasina 07 Distrito de Srem 12 Distrito de Sumadija 21 Distrito de Toplica 15 Distrito de Zajecar 16 Distrito de Zlatibor 29 Kosovo-Pomoravlje 28 Kosovska Mitrovica 26 Pec´ 13 Pomoravlje 27 Prizren KM Província Autônoma de Kosovo e Metohija 18 Ráscia VO Voivodina

Seychelles (SC)

Código Estado/Região 02 Anse Boileau 03 Anse Etoile 05 Anse Royale 23 Anse Takamaka 01 Anse-aux-Pins 04 Au cap 06 Baie Lazare 07 Baie Ste. Anne 08 Beau Vallon 09 Bel Air (Seychelles) 10 Bel Ombre 11 Cascade 12 Glacis 13 Grand’Anse Mahé 14 Grand’Anse Praslin 15 La Digue 16 La Riviere Anglaise 24 Les Mamelles 17 Mont Buxton 18 Monte Fleuri 19 Plaisance 20 Point da Rua 21 Port Glaud 25 Roche Caiman 22 São Luís

140 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Singapura (SG)

Código Estado/Região SG-01 Central Singapore 01 Central Singapore 02 North East SG-02 North East SG-03 North West 03 North West 04 South East SG-04 South East 05 South West SG-05 South West

Somália (SO)

Código Estado/Região AW Awdal BK Bakool BN Banaadir BR Bari BY Bay (Somália) GA Galguduud GE Gedo HI Hiiraan JD Jubbada Dhexe JH Jubbada Hoose MU Mudug NU Nugaal SA Sanaag SD Shabeellaha Dhexe SH Shabeellaha Hoose SO Sool TO Togdheer WO Woqooyi Galbeed

Sri Lanka (LK)

Código Estado/Região 52 Ampara 71 Anuradhapura 51 Batticaloa 7 Centro-Norte 11 Colombo 22 Distrito Matale 81 Distrito de Badulla 12 Distrito de Gampaha Continued on next page

3.3. Códigos de países e estados/regiões 141 Documentação da API do VMpay, Release 1.0.0

Table 44 – continued from previous page Código Estado/Região 92 Distrito de Kegalle 61 Distrito de Kurunegala 43 Distrito de Mannar 72 Distrito de Polonnaruwa 62 Distrito de Puttalam 91 Distrito de Ratnapura 5 Este 31 Galle 33 Hambantota 41 Jaffna 21 Kandy 42 Kilinochchi 13 Kulatra 32 Matara 82 Moneragala 45 Mullaittivu 6 Noroeste 23 Nuwara Eliya 2 Província Central 4 Província do Norte 3 Província do Sul (Sri Lanka) 9 Sabaragamuwa 53 Trincomalee 8 Uva 44 Vavuniya 1 Western

Suazilândia (SZ)

Código Estado/Região HH Hhohho LU Lubombo MA Manzini SH Shishelweni

142 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Sudão (SD)

Código Estado/Região GZ Al Jazirah (estado) KH Cartum GK Cordofão Ocidental KN Cordofão do Norte KS Cordofão do Sul DC Darfur Central DE Darfur Este DW Darfur Ocidental DN Darfur do Norte DS Darfur do Sul NO Estado do Norte GD Gadarife KA Kassala RS Mar Vermelho NB Nilo Azul NW Nilo Branco false Northern NR Rio Nilo SI Sennar

Suécia (SE)

Código Estado/Região K Blekinge W Dalarna M Escânia X Gävleborg I Gotland G Kronoberg BD Norrbotten T Örebro AC Västerbotten Y Västernorrland U Västmanland N condado da Halland Z condado da Jämtland F condado da Jönköping H condado da Kalmar E condado da Östergötland D condado da Södermanland C condado da Uppsala S condado da Värmland O condado da Västra Götaland AB condado de Estocolmo

3.3. Códigos de países e estados/regiões 143 Documentação da API do VMpay, Release 1.0.0

Suíça (CH)

Código Estado/Região AR Appenzell Exterior AI Appenzell Interior AG Argóvia BL Basileia-Campo BS Basileia-Cidade BE Berna FR Friburgo GE Genebra (cantão) GL Glarus GR Grisões JU Jura LU Lucerna NE Neuchâtel NW Nidwald OW Obwald SG São Galo SH Schaffhausen SZ Schwyz SO Soleura TI Ticino TG Turgóvia UR Uri VS Valais VD Vaud ZG Zug ZH Zurique

Suriname (SR)

Código Estado/Região BR Brokopondo CM Commewijne CR Coronie MA Marowijne NI Nickerie PR Para PM Paramaribo SA Saramacca SI Sipaliwini WA Wanica

Svalbard e Jan Mayen (SJ)

País não possui estados ou regiões.

144 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Tadjaquistão (TJ)

Código Estado/Região DU Duchambe GB Gorno-Badakhshan RA Karotegin KT Khatlon SU Sughd

Tailândia (TH)

Código Estado/Região 37 Amnat Charoen 15 Ang Thong 10 Banguecoque 38 Bungkan 31 Buri Ram 24 Chachoengsao 18 Chai Nat 36 Chaiyaphum 22 Chanthaburi 50 Chiang Mai 57 Chiang Rai 20 Chon Buri 86 Chumphon 46 Kalasin 62 Kamphaeng Phet 71 Kanchanaburi 40 Khon Kaen 81 Krabi 52 Lampang 51 Lamphun 42 Loei 16 Lop Buri 58 Mae Hong Son 44 Maha Sarakham 49 Mukdahan 26 Nakhon Nayok 73 Nakhon Pathom 48 Nakhon Phanom 30 Nakhon Ratchasima 60 Nakhon Sawan 55 Nan 96 Narathiwat 39 Nong Bua Lam Phu 43 Nong Khai 12 Nonthaburi 13 Pathum Thani 94 Pattani Continued on next page

3.3. Códigos de países e estados/regiões 145 Documentação da API do VMpay, Release 1.0.0

Table 45 – continued from previous page Código Estado/Região S Pattaya 82 Phangnga 93 Phatthalung 56 Phayao 67 Phetchabun 76 Phetchaburi 66 Phichit 65 Phitsanulok 14 Phra Nakhon Si Ayutthaya 54 Phrae 83 Phuket 25 Prachin Buri 77 Prachuap Khiri Khan 80 Província de Nakhon Si Thammarat 85 Ranong 70 Ratchaburi 21 Rayong 45 Roi Et 27 Sa Kaeo 47 Sakon Nakhon 11 Samut Prakan 74 Samut Sakhon 75 Samut Songkhram 19 Saraburi 91 Satun 33 Si Sa Ket 17 Sing Buri 90 Songkhla 64 Sukhothai 72 Suphan Buri 84 Surat Thani 32 Surin 63 Tak 92 Trang 23 Trat 34 Ubon Ratchathani 41 Udon Thani 61 Uthai Thani 53 Uttaradit 95 Yala 35 Yasothon

146 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Taiwan (TW)

Código Estado/Região CYQ Chiayi CHA Condado de Changhua CYI Condado de Chiayi HSQ Condado de Hsinchu HUA Condado de Hualien MIA Condado de Miaoli NAN Condado de Nantou PIF Condado de Pingtung TTT Condado de Taitung ILA Condado de Yilan YUN Condado de Yunlin HSZ Hsinchu KHH Kaohsiung KHQ Kaohsiung County KEE Keelung KIN Kinmen LIE Lienchiang NWT New Taipei TPQ New Taipei City PEN Penghu TXG Taichung TXQ Taichung County TNN Tainan TNQ Tainan County TPE Taipé TAO Taoyuan

Tanzânia, República Unida da (TZ)

Código Estado/Região 01 Arusha 02 Dar es Salaam 03 Dodoma 27 Geita 04 Iringa 05 Kagera 28 Katavi 08 Kigoma 09 Kilimanjaro 12 Lindi 26 Manyara 13 Mara 14 Mbeya 16 Morogoro 17 Mtwara 18 Mwanza Continued on next page

3.3. Códigos de países e estados/regiões 147 Documentação da API do VMpay, Release 1.0.0

Table 46 – continued from previous page Código Estado/Região 06 Pemba Norte 10 Pemba Sul 19 Pwani 29 Região de Njombe 30 Região de Simiyu 20 Rukwa 21 Ruvuma 22 Shinyanga 23 Singida 24 Tabora 25 Tanga 11 Zanzibar Central/South 07 Zanzibar North (região) 15 Zanzibar Urban/West

Território Britânico do Oceano Índico (IO)

País não possui estados ou regiões.

Territórios Franceses do Sul (TF)

Código Estado/Região X2~ Crozet Islands X1~ Ile Saint-Paul et Ile Amsterdam X4~ Iles Eparses X3~ Kerguelen

Timor-Leste (TL)

Código Estado/Região AL Aileu AN Ainaro BA Baucau BO Bobonaro CO Cova Lima DI Díli ER Ermera LA Lautém LI Liquiçá MT Manatuto MF Manufahi OE Oecusse VI Viqueque

148 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Togo (TG)

Código Estado/Região C Centrale K Kara M Maritime P Plateaux S Savanes

Tokelau (TK)

País não possui estados ou regiões.

Tonga (TO)

Código Estado/Região 02 Ha’apai 03 Niuas 04 Tongatapu 05 Vava’u 01 Eua

Trinidade e Tobago (TT)

Código Estado/Região ARI Arima CHA Chaguanas PRT Corporação Regional Princes Town CTT Couva Tabaquite Talparo DMN Diego Martin ETO Eastern Tobago PTF Point Fortin POS Port of Spain SGE Região Sangre Grande PED Região de Penal Debe MRC Região de Rio Claro Mayaro RCM Rio Claro-Mayaro SFO San Fernando SJL San Juan-Laventille SIP Siparia TOB Tobago TUP Tunapuna Piarco WTO Western Tobago

3.3. Códigos de países e estados/regiões 149 Documentação da API do VMpay, Release 1.0.0

Tunísia (TN)

Código Estado/Região 12 Ariana 31 Béja 13 Ben Arous 23 Bizerte 81 Gabès 71 Gafsa 32 Jendouba 41 Kairouan (província) 42 Kasserine 73 Kebili 33 Kef 53 Mahdia 14 Manouba 82 Médenine 52 Monastir (província) 21 Nabeul 61 Sfax 43 Sidi Bou Said 34 Siliana 51 Sousse 83 Tataouine 72 Tozeur 11 Túnis 22 Zaghouan

Turcomenistão (TM)

Código Estado/Região A Ahal S Asgabate B Balkan D Da¸soguz L Lebap M Mary

Turquia (TR)

Código Estado/Região 01 Adana 02 Adıyaman 03 Afyonkarahisar 04 Agrı˘ 68 Aksaray 05 Amasya Continued on next page

150 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 47 – continued from previous page Código Estado/Região 06 Ancara 07 Antália (província) 75 Ardahan 08 Artvin 09 Aydın 10 Balıkesir 74 Bartın 72 Batman 69 Bayburt 11 Bilecik 12 Bingöl 13 Bitlis 14 Bolu 15 Burdur 16 Bursa 17 Çanakkale 18 Çankırı (província) 19 Çorum (província) 20 Denizli 21 Diyarbakır 81 Düzce 22 Edirne 23 Elazıg˘ 24 Erzincan 25 Erzurum 26 Eski¸sehir 35 Esmirna (província) 27 Gaziantep 28 Giresun (província) 29 Gümü¸shane 30 Hakkâri 31 Hatay 76 Igdır˘ 32 Isparta 34 Istambul (província) 46 Kahramanmara¸s 78 Karabük 70 Karaman (província) 36 Kars 37 Kastamonu 38 Kayseri 79 Kilis 41 Kocaeli 42 Konya (província) 43 Kütahya 39 Kırklareli 40 Kır¸sehir 71 Kırıkkale 44 Malatya Continued on next page

3.3. Códigos de países e estados/regiões 151 Documentação da API do VMpay, Release 1.0.0

Table 47 – continued from previous page Código Estado/Região 45 Manisa 47 Mardin 33 Mersin 48 Mugla˘ 49 Mu¸s 50 Nev¸sehir 51 Nigde˘ (província) 52 Ordu 80 Osmaniye 53 Rize 54 Sakarya 55 Samsun 63 ¸Sanlıurfa (província) 56 Siirt 57 Sinop 58 Sivas 73 ¸Sırnak 59 Tekirdag˘ 60 Tokat 61 Trebizonda 62 Tunceli 64 U¸sak 65 Van 77 Yalova 66 Yozgat 67 Zonguldak (província)

Tuvalu (TV)

Código Estado/Região FUN Funafuti NMG Nanumaga NMA Nanumea NIT Niutao NUI Nui NIU Nui NKF Nukufetau NKL Nukulaelae VAI Vaitupu

152 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Ucrânia (UA)

Código Estado/Região 30 Kiev 21 Oblast da Transcarpátia 74 Oblast de Chernigov 77 Oblast de Chernivtsi 12 Oblast de Dnipropetrovsk 14 Oblast de Donetsk 26 Oblast de Ivano-Frankivsk 18 Oblast de Jitomir 63 Oblast de Kharkiv 65 Oblast de Kherson 68 Oblast de Khmelnitski 32 Oblast de Kiev 35 Oblast de Kirovogrado 09 Oblast de Lugansk 46 Oblast de Lviv 48 Oblast de Mikolaiv 51 Oblast de Odessa 56 Oblast de Rivne 59 Oblast de Sumi 71 Oblast de Tcherkássi 61 Oblast de Ternopil 05 Oblast de Vinnitsa 07 Oblast de Volínia 23 Oblast de Zaporíjia 43 República Autónoma da Crimeia 40 Sebastopol 53 oblast de Poltava

Uganda (UG)

Código Estado/Região 314 Abim 317 Abim2 301 Adjumani 322 Agago 323 Alebtong 324 Amudat 216 Amuria 302 Apac 303 Arua 217 Budaka 218 Bududa 201 Bugiri 420 Buhweju 224 Bukedea 225 Bulambuli Continued on next page

3.3. Códigos de países e estados/regiões 153 Documentação da API do VMpay, Release 1.0.0

Table 48 – continued from previous page Código Estado/Região 419 Buliisa 402 Bushenyi 219 Butaleja 119 Butambala 120 Buvuma 413 Distrito Kamwenge 315 Distrito de Amolatar 316 Distrito de Amuru 319 Distrito de Amuru2 117 Distrito de Buikwe 118 Distrito de Bukomansombi 401 Distrito de Bundibugyo 202 Distrito de Busia 226 Distrito de Buyende 416 Distrito de Ibanda 417 Distrito de Isingiro 418 Distrito de Isingiro2 213 Distrito de Kaberamaido 122 Distrito de Kalungu 206 Distrito de Kapchorwa 112 Distrito de Kayunga 421 Distrito de Kiryandongo 305 Distrito de Kitgum 325 Distrito de Kole 306 Distrito de Kotido 228 Distrito de Kween 123 Distrito de Kyankwanzi 105 Distrito de Masaka 214 Distrito de Mayuge 410 Distrito de Mbarara 115 Distrito de Mityana 109 Distrito de Nakasongola 231 Distrito de Ngora 412 Distrito de Rukungiri 111 Distrito de Sembabule 232 Distrito de Serere 215 Distrito de Sironko 212 Distrito de Tororo 113 Distrito de Wakiso 313 Distrito de Yumbe 330 Distrito de Zombo 318 Dokolo 121 Gomba 304 Gulu 403 Hoima 203 Iganga 204 Jinja 404 Kabale 405 Kabarole Continued on next page

154 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 48 – continued from previous page Código Estado/Região 101 Kalangala 220 Kaliro 222 Kaliro2 102 205 Kamuli 414 Kanungu 406 Kasese 207 Katakwi 407 Kibaale 103 Kiboga 227 Kibuku 408 Kisoro 208 Kumi 422 Kyegegwa 415 Kyenjojo 326 Lamwo 307 Lira 229 Luuka 104 Luweero 124 Lwengo 114 Lyantonde 116 Lyantonde2 221 Manafwa 223 Manafwa2 320 Maraacha 409 Masindi 209 423 Mitooma 308 Moroto 309 Moyo 106 Mpigi 107 Mubende 108 Mukono 311 Nakapiripirit 230 Namayingo 327 Napak 310 Nebbi 424 Ntoroko 411 Ntungamo 328 Nwoya 329 Otuke 321 Oyam 312 Pader 210 Pallisa 110 Rakai C Região Central E Região Leste N Região Norte W Região Oeste Continued on next page

3.3. Códigos de países e estados/regiões 155 Documentação da API do VMpay, Release 1.0.0

Table 48 – continued from previous page Código Estado/Região 425 Rubirizi 426 Sheema 211 331 Zombo

Uruguai (UY)

Código Estado/Região AR Artigas CA Canelones CL Cerro Largo CO Colonia DU Durazno (departamento) FS Flores FD Florida LA Lavalleja MA Maldonado (departamento) MO Montevidéu PA Paysandú RN Río Negro RV Rivera RO Rocha SA Salto SJ San José SO Soriano TA Tacuarembó TT Treinta y Tres

Uzbequistão (UZ)

Código Estado/Região AN Andijan BU Bukhara QR Caracalpaquistão FA Fergana JI Jizzakh XO Khorazm NG Namangan NW Navoiy QA Qashqadaryo SA Samarcanda SI Sirdaryo SU Surxondaryo TK Tashkent TO Tashkent2

156 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Vanuatu (VU)

Código Estado/Região MAP Malampa PAM Penama SAM Sanma SEE Shefa TAE Tafea TOB Torba

Venezuela, República Bolivariana da (VE)

Código Estado/Região Z Amazonas B Anzoátegui C Apure D Aragua E Barinas F Bolívar G Carabobo H Cojedes Y Delta Amacuro W Dependências Federais da Venezuela A Distrito Capital I Falcón J Guárico K Lara L Mérida M Miranda N Monagas O Nueva Esparta P Portuguesa R Sucre S Táchira T Trujillo X Vargas U Yaracuy V Zulia

Vietname (VN)

Código Estado/Região 44 An Giang 43 Ba Ria-Vung Tau 54 Bac Giang 53 Bac Kan 55 Bac Lieu Continued on next page

3.3. Códigos de países e estados/regiões 157 Documentação da API do VMpay, Release 1.0.0

Table 49 – continued from previous page Código Estado/Região 56 Bac Ninh 50 Ben Tre 31 Binh Dinh 57 Binh Duong 58 Binh Phuoc 40 Binh Thuan 59 Cà Mau 48 Can Tho CT Can Tho 04 Cao Bang SG Cidade de Ho Chi Minh DN Da Nang 60 Da Nang, thanh pho 33 Dac Lac 72 Dak Nong 71 Dien Bien 39 Dong Nai 45 Dong Thap 30 Gia Lai 03 Ha Giang 63 Hà Nam 64 Ha Noi, thu do 15 Ha Tay 23 Ha Tinh 61 Hai Duong 62 Hai Phong, thanh pho HP Haiphong HN Hanói 73 Hau Giang 65 Ho Chi Minh, thanh pho [Sai Gon] 14 Hoa Binh 66 Hung Yen 34 Khanh Hoa 47 Kien Giang 28 Kon Tum 01 Lai Chau 35 Lam Dong 09 Lang Son 02 Lao Cai 41 Long An 67 Nam Dinh 22 Nghe An 18 Ninh Binh 36 Ninh Thuan 68 Phu Tho 32 Phu Yen 24 Quang Binh 27 Quang Nam 29 Quang Ngai Continued on next page

158 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Table 49 – continued from previous page Código Estado/Região 13 Quang Ninh 25 Quang Tri 52 Soc Trang 05 Son La 37 Tay Ninh 20 Thai Binh 69 Thái Nguyên 21 Thanh Hoa 26 Thua Thien-Hue 46 Tien Giang 51 Tra Vinh 07 Tuyen Quang 49 Vinh Long 70 Vinh Phuc 06 Yen Bai

Wallis e Futuna (WF)

Código Estado/Região AL Alo SG Sigave UV Uvea

Yémen (YE)

Código Estado/Região AB Abyan DA Ad Dali’ AD Áden BA Al Bayda’ HU Al Hudaydah JA Al Jawf MR Al Mahra MW Al Mahwit SU Arkhabil Suqutra DH Dhamar HD Hadramaute HJ Hajjah IB Ibb LA Lahij MA Ma’rib RA Raymah SA Sana SN Sana2 SD Sa’dah SH Shabwa TA Ta’izz AM ‘Amran

3.3. Códigos de países e estados/regiões 159 Documentação da API do VMpay, Release 1.0.0

Zâmbia (ZM)

Código Estado/Região 08 Copperbelt 04 Luapula 09 Lusaka 06 Noroeste 02 Província Central (Zâmbia) 01 Província Ocidental 03 Província Oriental 10 Província de Muchinga 05 Província do Norte 07 Província do Sul

Zimbabwe (ZW)

Código Estado/Região BU Bulawayo HA Harare MA Manicaland MC Mashonaland Central ME Mashonaland Este MW Mashonaland Oeste MV Masvingo MN Matabeleland Norte MS Matabeleland Sul MI Midlands

3.4 Checkpoints

3.4.1 Ver

GET/api/v1/scheduled_visit_checkpoints/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do checkpoint sim

Retorno

É retornado um JSON com os seguintes campos: • id: o id do checkpoint • scheduled_visit_id: a data em que o checkpoint foi criado

160 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

• created_at: a data de criação do checkpoint • updated_at: a data de atualização do checkpoint • restock: se é um reabastecimento • cash_collect: se é uma coleta • only_visit: se não é nem um reabastecimento nem uma coleta, apenas uma visita • finished: se está finalizado • finished_at: a data em que o checkpoint foi finalizado • reopened_at: a data em que o checkpoint foi reaberto • installation_id: o id da instalação • planogram_id: o id do planograma • pick_list_id: o id da pick list • synched_at: a data em que o checkpoint foi sincronizado com o VMpay Visitor • pending_inventory_adjustment: se o ajuste de inventário está pendente • inventory_adjustment_id: o id do ajuste de inventário • scheduled_at: a data em que o agendamento foi efetuado • synched_by: identificação do smartphone usado para sincronizar com o VMpay • edited_by: identificação do usuário que editou a agenda • inventories: lista de inventários em que cada elemento contém os seguintes campos: – planogram_item_id: o id do item do planograma – capacity: capacidade do item do planograma – expected_vacant_amount: saldo esperado para o item – entered_vacant_amount: saldo informado para o item no VMpay Visitor – returned_amounts: lista de retornos do Visitor com os seguintes campos:

* id: o id do registro * original_value: valor do registro antes da edição * value: valor final após edição * edited: se o registro foi editado ou não * code: codigo do registro · damaged_item_return · expired_item_return · grid_replacement_leftover · pick_list_leftover · technical_problem_return · incorrect_grid_return · relocated_machine_return · removed_machine_return

3.4. Checkpoints 161 Documentação da API do VMpay, Release 1.0.0

· product_inversion_return · item_not_shipped_return · quantity_leftover · par_level_reduction · about_to_expire

* description: descrição do registro · Retorno Danificado · Retorno Vencido · Retorno Troca de Grade · Retorno Pick list · Retorno Problema Técnico · Retorno Grade Incorreta · Retorno Máquina Remanejada · Retorno Máquina Retirada · Retorno Inversão Produto · Retorno Item não enviado · Retorno Excesso · Retorno Redução de Nível de par · Retorno A Vencer • custom_values: lista de campos customizados em que cada elemento contém os seguintes campos: – field: dados do campo customizado:

* name: nome do campo * label: rótulo do campo * required: se o campo é obrigatório * field_type: tipo do campo – field_value:

* value: valor preenchido no VMpay Visitor Exemplo:

{ "id": 21013, "scheduled_visit_id": 4744, "created_at":"2016-12-21T07:56:05.000-02:00", "updated_at":"2016-12-21T10:16:01.000-02:00", "restock": true, "cash_collect": false, "only_visit": false, "finished": true, "finished_at":"2016-12-21T16:39:20.000-02:00", "reopened_at": null, "installation_id": 1896, (continues on next page)

162 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "planogram_id": 11204, "pick_list_id": 63089, "synched_at":"2016-12-22T08:05:33.000-02:00", "pending_inventory_adjustment": true, "inventory_adjustment_id": null, "scheduled_at":"2016-12-21T10:16:01.000-02:00", "synched_by":"VMVISITOR - JOSÉ", "edited_by":"Claudio da Silva", "inventories":[ { "planogram_item_id": 385102, "capacity": 10.0, "expected_vacant_amount": 6.0, "entered_vacant_amount": 7.0, "returned_amounts":[ { "id": 15197, "original_value": 1.0, "value": 2.0, "edited": true, "code":"relocated_machine_return", "description":"Retorno Máquina Remanejada" } ] }, { "planogram_item_id": 385103, "capacity": 10.0, "expected_vacant_amount": 0.0, "entered_vacant_amount": 0.0, "returned_amounts": [] }, { "planogram_item_id": 385104, "capacity": 13.0, "expected_vacant_amount": 5.0, "entered_vacant_amount": 2.0, "returned_amounts":[ { "id": 15196, "original_value": 4.0, "value": 8.0, "edited": true, "code":"item_not_shipped_return", "description":"Retorno Item não enviado" } ] }, { "planogram_item_id": 385105, "capacity": 10.0, "expected_vacant_amount": 0.0, "entered_vacant_amount": 8.0, "returned_amounts":[ { "id": 15194, "original_value": 1.0, (continues on next page)

3.4. Checkpoints 163 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "value": 2.0, "edited": true, "code":"incorrect_grid_return", "description":"Retorno Grade Incorreta" }, { "id": 15195, "original_value": 3.0, "value": 6.0, "edited": true, "code":"product_inversion_return", "description":"Retorno Inversão Produto" } ] } ], "custom_values":[ { "field":{ "name":"limpeza", "label":"Limpeza?", "field_type":"boolean", "required": true }, "field_value":{ "value": true } }, { "field":{ "name":"malote", "label":"Malote", "field_type":"string", "required": true }, "field_value":{ "value":"123" } } ] }

3.5 Fabricantes

3.5.1 Listar

GET/api/v1/manufacturers

Retorno

status descrição 200 OK

164 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Exemplo:

[ { "id": 56, "name":"Pepsico" }, { "id": 57, "name":"Jasmine" }, { "id": 59, "name":"Lacta" }, { "id": 60, "name":"Nutrimental" }, { "id": 61, "name":"Kraft Foods" }, { "id": 62, "name":"Mars" }, { "id": 726, "name":"ACME" } ]

3.5.2 Ver

GET/api/v1/manufacturers/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do fabricante sim

Retorno

status descrição 200 OK

Exemplo:

3.5. Fabricantes 165 Documentação da API do VMpay, Release 1.0.0

{ "id": 56, "name":"Pepsico" }

Erros

status descrição response body 404 fabricante não encontrado { “status”: “404”, “error”: “Not Found” }

3.5.3 Criar

POST/api/v1/manufacturers

Request

{ "manufacturer":{ "name":"Havanna" } }

Campos

Obrigatórios

• manufacturer – name: nome do fabricante.

Opcionais

Nenhum.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 727, "name":"Havanna" }

166 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "não pode ficar em branco" ] }

3.5.4 Atualizar

PATCH/api/v1/manufacturers/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do fabricante sim

Request:

{ "manufacturer":{ "name":"Havanna SA" } }

Campos

Obrigatórios

• manufacturer – name: nome do fabricante.

Opcionais

Nenhum.

Retorno

status descrição 200 Atualizado com sucesso

3.5. Fabricantes 167 Documentação da API do VMpay, Release 1.0.0

Exemplo:

{ "id": 725, "name":"Havanna SA" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 fabricante não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "name":[ "não pode ficar em branco" ] }

3.5.5 Excluir

DELETE/api/v1/manufacturers/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do fabricante sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 fabricante não encontrado { “status”: “404”, “error”: “Not Found” }

168 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.6 Instalações

3.6.1 Listar

Lista as instalações de determinada máquina.

GET/api/v1/machines/[machine_id]/installations

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 77, "created_at":"2014-10-17T16:11:43.000-03:00", "updated_at":"2014-11-20T10:14:31.000-02:00", "location_id": 34, "machine_id": 42, "equipment_id": 314, "place":"Recepção", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"allow_pick_list_or_full", "notifications_enabled": true, "last_audit_began_at":"2017-08-02T17:59:14.000Z", "last_audit_ended_at":"2017-08-02T17:59:16.000Z", "removed_at": null, "audit_enabled": true, "enable_audit_schedule": true, "audit_schedule":"7:00 12:30 18:00 23:50 (instalação)", "visit_schedule": [], "enable_bluetooth": false, "enable_contactless": false, "issues_invoice": false, "operation_status":"green", "states":["hatched"], "route_ids":[10, 68, 123], "last_communication":"26/09/2018 19:13", "virtual_equipment": false, "connection":{ "kind":"GPRS", "label":"wwan0", (continues on next page)

3.6. Instalações 169 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "ip":"179.246.209.53", "tunnel_label": null, "tunnel_ip": null, "rssi": 22, "carrier":"vivo" }, "services":{ "bluetooth":{ "mac": null, "status":"inactive" }, "pl_mifare":{ "mac": null, "status":"inactive" } } }, { "id": 88, "created_at":"2014-10-24T12:25:15.000-02:00", "updated_at":"2014-11-20T10:14:31.000-02:00", "location_id": 28, "machine_id": 42, "equipment_id": 314, "place":"Hall Biblioteca", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"allow_pick_list_or_full", "notifications_enabled": true, "last_audit_began_at":"2017-08-02T17:59:14.000Z", "last_audit_ended_at":"2017-08-02T17:59:16.000Z", "removed_at":"2014-11-20T10:14:31.000-02:00", "audit_enabled": true, "enable_audit_schedule": true, "audit_schedule":"6:00 10:00 14:00 18:00 22:00 23:50 (padrão)", "visit_schedule":["tuesday","thursday"], "enable_bluetooth": true, "enable_contactless": false, "issues_invoice": false, "operation_status":"yellow", "states":["audit_failure","hatched"], "route_ids":[10, 13], "last_communication":"15/06/2018 23:18", "virtual_equipment": false }, { "id": 138, "created_at":"2014-11-21T16:54:19.000-02:00", "updated_at":"2014-11-21T19:40:14.000-02:00", "location_id": 34, "machine_id": 42, "equipment_id": 314, "place":"Recepção", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"require_pending_pick_list", "notifications_enabled": true, (continues on next page)

170 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "last_audit_began_at":"2017-08-02T17:59:14.000Z", "last_audit_ended_at":"2017-08-02T17:59:16.000Z", "removed_at":"2014-11-21T19:40:14.000-02:00", "audit_enabled": false, "enable_audit_schedule": false, "audit_schedule":"", "visit_schedule":["monday","wednesday","friday"], "enable_bluetooth": true, "enable_contactless": true, "issues_invoice": true, "operation_status":"red", "states":["extended_power_loss","hatched"], "route_ids":[23], "last_communication":"12/09/2018 13:13", "virtual_equipment": false } ]

3.6.2 Ver

Mostra determinada instalação de uma máquina.

GET/api/v1/machines/[machine_id]/installations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

Retorno

status descrição 200 OK

• O campo removed_at diz respeito a data em que a instalação foi baixada. Os possíveis valores são os seguintes: – Data e hora em formato ISO 8601: Data e hora em que a instalação foi baixada. – null: Caso o valor deste campo seja null, indica que a instalação não foi baixada, ou seja, que a mesma está ativa. • O campo audit_schedule é o calendário de auditoria. Corresponde aos horários separados por espaço, segui- dos de uma descrição entre parênteses que indica qual valor é utilizado: o da instalação, se o mesmo foi preenchido; ou o padrão, caso tenha sido deixado em branco e o valor de enable_audit_schedule for true. Se enable_audit_schedule for false, o valor deste campo será vazio. • O campo operation_status diz respeito ao estado de operação da instalação. Os possíveis valores são os seguintes: – green: Máquina operando normalmente. – yellow: Máquina operando parcialmente.

3.6. Instalações 171 Documentação da API do VMpay, Release 1.0.0

– red: Máquina fora de operação. – grey: Estado de operação indefinido (a máquina ainda não se comunicou, por exemplo). • O campo states diz respeito ao detalhamento do estado de operação da instalação. Os possíveis valores são os seguintes: – extended_power_loss: Falha de energia. – no_communication: Sem comunicação. – reader_disabled: Fora de serviço. – pay_and_go_offline: Cashless sem conexão com máquina ou operadora de cartões. – audit_failure: Falha de auditoria. – weak_signal: Sinal fraco. – hatched: instalação comunicou pelo menos uma vez (usado para distinguir de instalações que já comu- nicaram mas nunca apresentaram nenhuma falha). • O campo balance diz respeito aos saldos da instalação: – total_collectable_coins: Saldo coletável no cofre. – total_collectable_bills: Saldo coletável no noteiro. – total_collectable: Saldo total coletável. – total_in_coin_changer: Saldo de troco no modeiro. – total_in_bill_changer: Saldo de troco no reciclador. – total_in_changer: Saldo total de troco. – total_in_coins: Saldo total de moedas. – total_in_bills: Saldo total de notas. – total_in_cash: Saldo total. • O campo current_session diz respeito ao caixa total: – cashbox: Cofre. – bill: Noteiro. – collection: A coletar. – changer: Moedeiro. – recycler: Reciclador. – supplied: Carga/retirada. – cashless: Cashless. – total_vends: Vendas. – difference: Diferença de caixa. – vends: Totais de vendas discrimadas por produto. • O campo connection informa os dados de conexão. Este campo é omitido caso o equipamento não possua nenhuma interface de conexão: – kind: Tipo de conexão (GPRS, ETHERNET ou WIFI) – label: Label da interface de conexão

172 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

– ip: Ip da interface – tunnel_label: Label da interface de tunel, caso exista – tunnel_ip: Ip da interface de tunel, caso exista – Caso o tipo da conexão seja GPRS:

* rssi: Sinal da conexão * carrier: Operadora utilizada – Caso o tipo da conexão seja WIFI:

* rssi: Sinal da conexão * essid: Nome da rede wifi • O campo services informa o estado dos serviços. Este campo é omitido caso o equipamento não possua nenhuma das funcionalidades: – bluetooth:

* mac: Endereço mac da interface * status: Estado da interface (active ou inactive) – pl_mifare:

* mac: Endereço mac da interface * status: Estado da interface (active ou inactive) • O campo payment_authorizer_ids informa quais os autorizadores de QRcode que estão habilitados para o oper- ador Segue um exemplo de retorno:

{ "id": 123987, "created_at":"2016-01-26T17:36:44.000-02:00", "updated_at":"2016-01-26T19:21:27.000-02:00", "location_id": 12, "machine_id": 112, "equipment_id": 123, "place":"Recepção", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"allow_pick_list_or_full", "notifications_enabled": true, "last_audit_began_at":"2017-08-02T17:59:14.000Z", "last_audit_ended_at":"2017-08-02T17:59:16.000Z", "removed_at":"2016-01-26T19:21:27.000-02:00", "audit_enabled": true, "enable_audit_schedule": true, "audit_schedule":"7:00 12:30 18:00 23:50 (instalação)", "visit_schedule":["monday","wednesday","friday"], "enable_bluetooth": false, "enable_contactless": false, "issues_invoice": false, "operation_status":"red", "states":["extended_power_loss","hatched"], "route_ids":[10, 13], "last_communication":"12/09/2018 13:13", (continues on next page)

3.6. Instalações 173 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "payment_authorizer_ids":[1,2], "virtual_equipment": false, "pending_planogram": null, "current_planogram":{ "id": 189976, "created_at":"2016-01-26T17:36:44.000-02:00", "updated_at":"2016-01-26T17:36:44.000-02:00", "due":"now", "started_at":"2016-01-26T17:36:44.000-02:00", "items":[ { "id": 86717, "type":"Coil", "name":"1,2", "good_id": 10, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "logical_locator":1, "physical_locators":[ "1", "2" ], "current_balance": 11.0 }, { "id": 86718, "type":"Coil", "name":"3", "good_id": 12, "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 2.3, "logical_locator":2, "physical_locators":[ "3" ], "current_balance": 8.0 }, { "id": 86719, "type":"VirtualCoil", "name":"4", "good_id": 23, "desired_price": 4.0, "logical_locator":3, "physical_locators":[ "4" ], "children":{"1":2,"2":1} }, { "id": 86720, "type":"Canister", "good_id": 26, (continues on next page)

174 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "capacity": 2000, "par_level": 2000, "alert_level": 200, "logical_locator":4, "current_balance": 983.3 }, { "id": 86721, "type":"Canister", "good_id": 27, "capacity": 3000, "par_level": 3000, "alert_level": 300, "logical_locator":5, "current_balance": 1975.4 }, { "id": 86722, "type":"VirtualCanister", "good_id": 30, "name":"5", "desired_price": 3.0, "logical_locator":6, "physical_locators":[ "5" ], "children":{"4": 20,"5": 15} } ] }, "balance":{ "total_collectable_coins": 8.7, "total_collectable_bills": 132.0, "total_collectable": 140.7, "total_in_coin_changer": 101.8, "total_in_bill_changer": 0.0, "total_in_changer": 101.8, "total_in_coins": 110.5, "total_in_bills": 132.0, "total_in_cash": 242.5 }, "current_session":{ "cashbox": 8.7, "bill": 132.0, "collection": 140.7, "changer":-30.95, "recycler": 0.0, "supplied": 132.75, "cashless": 1218.3, "total_vends": 1328.05, "difference": 0.0, "vends":[ { "vendible_id": 12, "quantity": 23.0, "value": 52.9, "vendible":{ (continues on next page)

3.6. Instalações 175 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "type":"Product", "category_id":5, "manufacturer_id":3, "name":"Coca cola", "upc_code":"123", "barcode":"1234567890" } }, { "vendible_id": 30, "quantity": 19.0, "value": 57.0, "vendible":{ "type":"Mixture", "category_id":7, "manufacturer_id": null, "name":"Cappuccino", "upc_code": null, "barcode": null } } ] }, "connection":{ "kind":"GPRS", "label":"wwan0", "ip":"179.246.209.53", "tunnel_label": null, "tunnel_ip": null, "rssi": 22, "carrier":"vivo" }, "services":{ "bluetooth":{ "mac": null, "status":"inactive" }, "pl_mifare":{ "mac": null, "status":"inactive" } } }

Erros

status descrição response body 404 máquina ou instalação não encontrada (vazio)

3.6.3 Criar

Cria uma nova instalação em determinada máquina.

176 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Se a máquina já possuir uma instalação ativa, a mesma é baixada automaticamente na data e hora atuais. A instalação criada torna-se a ativa.

POST/api/v1/machines/[machine_id]/installations

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim

Request:

{ "installation":{ "location_id": 12, "equipment_id": 123, "place":"Recepção", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"allow_pick_list_or_full", "notifications_enabled": true, "last_audit_began_at":"2017-08-02T17:59:14.000Z", "last_audit_ended_at":"2017-08-02T17:59:16.000Z", "audit_enabled": true, "enable_audit_schedule": true, "audit_schedule":"7:00 12:30 18:00 23:50", "visit_schedule":["monday","wednesday","friday"], "enable_bluetooth": true, "enable_contactless": false, "issues_invoice": false, "payment_authorizer_ids":[1,2], "planograms_attributes":[ { "items_attributes":[ { "type":"Coil", "name":"1,2", "good_id": 10, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "logical_locator":1 }, { "type":"Coil", "name":"3,4", "good_id": 11, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "logical_locator":2 }, { (continues on next page)

3.6. Instalações 177 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "type":"Canister", "good_id": 12, "capacity": 3000, "par_level": 3000, "alert_level": 500, "logical_locator":3 }, { "type":"Canister", "good_id": 13, "capacity": 300, "par_level": 300, "alert_level": 50, "logical_locator":4 }, { "type":"VirtualCanister", "name":"5", "good_id": 15, "desired_price": 3.5, "logical_locator":5, "children":{"3": 21,"4":1} }, { "type":"VirtualCoil", "name":"6", "good_id": 23, "desired_price": 6.0, "logical_locator":6, "children":{"1":2,"2":1} } ] } ] } }

Campos

Obrigatórios

• installation – location_id: id do local. – equipment_id: id do equipamento. – cash_mode: modo de pagamento.

* Valores permitidos: cash_and_cashless (dinheiro e cartão), cashless_only (somente cartão) ou cash_only (somente dinheiro). – restock_mode: botão de reabastecimento.

* Valores permitidos: restock_and_cash_collect (reabastecimento + coleta) ou restock_only (somente reabastecimento).

178 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

* Se o botão de reabastecimento da máquina for pressionado somente uma única vez, o sistema irá gerar um reabastecimento juntamente com uma coleta ou somente um reabastecimento dependendo da opção selecionada.

* Se o botão for pressionado duas vezes, o sistema sempre irá gerar uma coleta. – restock_strategy: estratégia de reabastecimento.

* Valores permitidos: allow_pick_list_or_full (padrão) ou require_pending_pick_list (somente por pick list). – notifications_enabled: enviar notificações? – audit_enabled: habilitar auditorias? – enable_audit_schedule: habilitar calendário de auditorias?

* É setado automaticamente para false se audit_enabled também for false. – visit_schedule: array contendo os dias da Agenda de Visitas.

* Valores permitidos são: sunday, monday, tuesday, wednesday, thursday, friday, saturday. – planograms_attributes: os planogramas da instalação. Nesse caso, somente um planograma é preenchido: o inicial.

* items_attributes: um array contendo os items do planograma. · Os items podem ser de 4 tipos: canaletas, combos, canisters e seleções. · Canaletas: · type: deve ser igual a “Coil”. · name: o número da canaleta. Caso se trate de um agrupamento de canaletas, os números devem ser separados por vírgulas. Este campo será mapeado em um vetor no campo physical_locators como pode ser observado no exemplo de retorno. · good_id: id do produto. Nesse caso não pode ser composto. Good neste caso se traduz como bem. · capacity: a capacidade total da canaleta. No caso de agrupameto de canaletas, deve-se colocar aqui a capacidade total, somando-se todas as canaletas. · par_level: o nível de par da canaleta. No caso de agrupameto de canaletas, deve-se colocar aqui o nível de par total, somando-se todas as canaletas. · alert_level: o nível de alerta da canaleta. · desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico da canaleta. Deve-se gerar um inteiro único dentro de todos os items do planograma. · Combos: · type: deve ser igual a “VirtualCoil”. · name: o número de seleção do combo. Este campo será mapeado em um vetor no campo physical_locators como pode ser observado no exemplo de retorno. · good_id: id do produto. Nesse caso deve ser composto e com o type Combo. Good neste caso se traduz como bem. · desired_price: o preço unitário desejado.

3.6. Instalações 179 Documentação da API do VMpay, Release 1.0.0

· logical_locator: trata-se do identificador lógico do combo. Deve-se gerar um inteiro único dentro de todos os items do planograma. · children: as canaletas e suas quantidades que compõe o combo. É um objeto cujas chaves são identificadores lógicos (campo logical_locator) das canaletas e os valores as quantidades. No exemplo acima, o combo é composto de 2 produtos da canaleta cujo name é “1,2” - ou seja, canaletas 1 e 2 agrupadas - e 1 produto da canaleta cujo name é “3,4”. · Canisters: · type: deve ser igual a “Canister”. · good_id: id do insumo. Good neste caso se traduz como bem. · capacity: a capacidade total do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · par_level: o nível de par do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · alert_level: o nível de alerta do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · logical_locator: trata-se do identificador lógico do canister. Deve-se gerar um inteiro único dentro de todos os items do planograma. · Seleções: · type: deve ser igual a “VirtualCanister”. · name: o número da seleção. Este campo será mapeado em um vetor no campo physical_locators como pode ser observado no exemplo de retorno. · good_id: id do produto. Nesse caso deve ser composto e com o type Mixture. Good neste caso se traduz como bem. · desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico da seleção. Deve-se gerar um inteiro único dentro de todos os items do planograma. · children: os canisters e suas quantidades que compõe a seleção. É um objeto cujas chaves são identificadores lógicos (campo logical_locator) dos canisters e os valores as quantidades. No exemplo acima, digamos que o insumo de id 12 seja Chocolate Solúvel com Leite e o de id 13, Copo Plástico 160 ml. Logo, a seleção é composta de 21 gramas de Chocolate Solúvel com Leite e 1 unidade de Copo Plástico 160 ml.

Opcionais

• installation – place: local interno. – audit_schedule: calendário de auditorias.

* Preencher com horários separados por espaços. * No máximo 6 horários são aceitos, acima disso serão desconsiderados. * Horários em formatos inválidos serão desconsiderados. Os formatos válidos são: H, HH, H:MM, HH:MM, H:MM:SS e HH:MM:SS. Exemplo: “2 04 5:30 7:30:00 12:45 18:35:50”.

* Caso enable_audit_schedule seja false, o campo será automaticamente limpo.

180 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

* Caso enable_audit_schedule seja true e o campo deixado em branco, será utilizado o calendário padrão. – enable_contactless: habilitar contactless?

* Valor será ignorado a menos que o operador tenha suporte à contactless. – issues_invoice: emitir NFCe?

* Valor será ignorado a menos que o operador tenha suporte à emissão de NFCe. – payment_authorizer_ids: Autorizadores QRCode

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 1109, "created_at":"2016-02-15T16:19:36.832-02:00", "updated_at":"2016-02-15T16:19:36.832-02:00", "location_id": 185, "machine_id": 612, "equipment_id": 314, "place":"Recepção", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"allow_pick_list_or_full", "notifications_enabled": true, "last_audit_began_at": null, "last_audit_ended_at": null, "removed_at": null, "audit_enabled": true, "enable_audit_schedule": true, "audit_schedule":"7:00 12:30 18:00 23:50 (instalação)", "visit_schedule":["monday","wednesday","friday"], "enable_bluetooth": true, "enable_contactless": false, "issues_invoice": false, "operation_status":"grey", "states": [], "route_ids": [], "last_communication":"12/09/2018 13:13", "payment_authorizer_ids": [], "virtual_equipment": false, "pending_planogram": null, "current_planogram":{ "id": 2950, "created_at":"2016-02-15T16:19:36.841-02:00", "updated_at":"2016-02-15T16:19:36.841-02:00", "due":"due_now", "started_at":"2016-02-15T16:20:36.603-02:00", "items":[ { (continues on next page)

3.6. Instalações 181 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "id": 113846, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"Coil", "good_id": 10, "name":"1,2", "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "modified": false, "undefined": false, "logical_locator":"1", "physical_locators":[ "1", "2" ], "children": null, "current_balance":0, "good":{ "id": 10, "name":"Amendoin", "upc_code":"77", "upc_code_name":"77 - Amendoin", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113847, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"Coil", "good_id": 11, "name":"3,4", "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "modified": false, "undefined": false, "logical_locator":"2", "physical_locators":[ "3", "4" ], "children": null, "current_balance":0, "good":{ "id": 11, "name":"Coca Cola", "upc_code":"77", "upc_code_name":"77 - Coca Cola", "unit_description":"Unidade", "unit_symbol":"un" (continues on next page)

182 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) } }, { "id":113848, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id":2950, "type":"Canister", "good_id":12, "name":"Chocolate Solúvel com Leite 1kg", "capacity":3000.0, "par_level":3000.0, "alert_level":500.0, "desired_price":null, "modified": false, "undefined":false, "logical_locator":"3", "physical_locators":[], "children":null, "current_balance":0, "good":{ "id":12, "name":"Chocolate Solúvel com Leite 1kg", "upc_code":null, "upc_code_name":"Chocolate Solúvel com Leite 1kg", "unit_description":"Grama", "unit_symbol":"g" } }, { "id":113849, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id":2950, "type":"Canister", "good_id":13, "name":"Copo Plástico 160 ml", "capacity":300.0, "par_level":300.0, "alert_level":50.0, "desired_price":null, "modified": false, "undefined":false, "logical_locator":"4", "physical_locators":[], "children":null, "current_balance":0, "good":{ "id":13, "name":"Copo Plástico 160 ml", "upc_code":null, "upc_code_name":"Copo Plástico 160 ml", "unit_description":"Unidade", "unit_symbol":"un" } }, { (continues on next page)

3.6. Instalações 183 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "id": 113850, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"VirtualCanister", "good_id": 15, "name":"5", "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 3.5, "modified": false, "undefined": false, "logical_locator":"5", "physical_locators":[ "5" ], "children":{ "3":"21.00", "4":"1.00" }, "current_balance":0, "good":{ "id": 15, "name":"Dose Chocolate Quente", "upc_code": null, "upc_code_name":"Dose Chocolate Quente", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113851, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"VirtualCoil", "good_id": 23, "name":"6", "capacity": 10, "par_level": 10, "alert_level":4, "desired_price":6, "modified": false, "undefined": false, "logical_locator":"6", "physical_locators":[ "6" ], "children":{ "1":"2.00", "2":"1.00" }, "good":{ "id": 23, "name":"2x Amendoins + 1x Coca Cola", "upc_code":"0", (continues on next page)

184 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "upc_code_name":"0 - 2x Amendoins + 1x Coca Cola", "unit_description":"Unidade", "unit_symbol":"un" } } ] }, "balance":{ "total_collectable_coins":0, "total_collectable_bills":0, "total_collectable":0, "total_in_coin_changer":0, "total_in_bill_changer":0, "total_in_changer":0, "total_in_coins":0, "total_in_bills":0, "total_in_cash":0 }, "current_session":{ "cashbox":0, "bill":0, "collection":0, "changer":0, "recycler":0, "supplied":0, "cashless":0, "total_vends":0, "difference":0, "vends": [] } }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "location_id":[ "não pode ficar em branco" ] }

3.6.4 Atualizar

Atualiza uma instalação de determinada máquina.

3.6. Instalações 185 Documentação da API do VMpay, Release 1.0.0

PATCH/api/v1/machines/[machine_id]/installations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

Request:

{ "installation":{ "location_id": 13, "equipment_id": 111, "place":"Recepção 2", "notifications_enabled": false, } }

Campos

Ao menos um campo interno a installation deve ser passado. Somente os parâmetros equipment_id, location_id, place, cash_mode, restock_mode, restock_strategy, notifi- cations_enabled, audit_enabled, enable_audit_schedule, audit_schedule, visit_schedule, enable_bluetooth, en- able_contactless, issues_invoice e payment_authorizer_ids são considerados; os demais são ignorados. Não é permitido atualizar um planograma ativo, somente cadastrar um outro planograma pendente. Para tanto, ver Planogramas. Não é permitido atualizar instalações virtuais - isto é, instalações cujo atributo virtual_equipment é true - por este serviço. Para tanto, utilizar Instalações Virtuais.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 1119, "created_at":"2016-02-15T16:50:47.000-02:00", "updated_at":"2016-02-15T17:23:34.353-02:00", "location_id": 185, "machine_id": 612, "equipment_id": 111, "place":"Recepção 2", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "restock_strategy":"allow_pick_list_or_full", (continues on next page)

186 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "notifications_enabled": false, "last_audit_began_at":"2017-08-02T17:59:14.000Z", "last_audit_ended_at":"2017-08-02T17:59:16.000Z", "removed_at": null, "audit_enabled": true, "enable_audit_schedule": true, "audit_schedule":"7:00 12:30 18:00 23:50 (instalação)", "visit_schedule":["monday","wednesday","friday"], "enable_bluetooth": false, "enable_contactless": false, "issues_invoice": false, "operation_status":"green", "states":["hatched"], "route_ids":[23], "last_communication":"12/09/2018 13:13", "payment_authorizer_ids": [], "virtual_equipment": false, "pending_planogram": null, "current_planogram":{ "id": 2960, "created_at":"2016-02-15T16:50:47.000-02:00", "updated_at":"2016-02-15T16:50:47.000-02:00", "due":"due_now", "started_at":"2016-02-15T16:51:47.000-02:00", "items":[ { "id": 113845, "created_at":"2016-02-15T16:50:47.000-02:00", "updated_at":"2016-02-15T16:50:47.000-02:00", "planogram_id": 2960, "type":"Coil", "good_id": 10, "name":"1,2", "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "modified": false, "undefined": false, "logical_locator":"1", "physical_locators":[ "1", "2" ], "children": null, "current_balance": 20, "good":{ "id": 10, "name":"Amendoin", "upc_code":"77", "upc_code_name":"77 - Amendoin", "unit_description":"Unidade", "unit_symbol":"un" } } ] }, (continues on next page)

3.6. Instalações 187 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "balance":{ "total_collectable_coins":0, "total_collectable_bills":0, "total_collectable":0, "total_in_coin_changer":0, "total_in_bill_changer":0, "total_in_changer":0, "total_in_coins":0, "total_in_bills":0, "total_in_cash":0 }, "current_session":{ "cashbox":0, "bill":0, "collection":0, "changer":0, "recycler":0, "supplied":0, "cashless":0, "total_vends":0, "difference":0, "vends": [] } }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 máquina ou instalação não encontrada (vazio) 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "location_id":[ "não é válido" ] }

3.6.5 Baixar

Baixa uma instalação de determinada máquina.

DELETE/api/v1/machines/[machine_id]/installations/[id]

188 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 401 não autorizado (vazio) 404 máquina ou instalação não encontrada (vazio)

3.6.6 Reabastecer manualmente

Efetua o reabastecimento da pick list atualmente pendente, caso exista e a operação seja permitida, isto é, a estratégia de reabastecimento seja require_pending_pick_list (somente por pick list).

POST/api/v1/machines/[machine_id]/installations/[id]/restock

Parâmetros de URL

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

Campos

Opcionais

restock_mode: o modo do reabastecimento. Os valores possíveis são restock_and_cash_collect (realiza uma coleta além do reabastecimento) ou restock_only (realiza somente o reabastecimento). Qualquer outro valor diferente desses é ignorado e é feito o que está configurado no atributo restock_mode da instalação (botão de visita). O mesmo acontece caso o campo não seja passado. Caso o atributo restock_mode da instalação esteja configurado como restock_only e seja passado o valor restock_and_cash_collect neste campo, será realizado somente um reabastecimento, a coleta não será realizada.

3.6. Instalações 189 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 Reabastecimento criado com sucesso 422 Não foi possível criar reabastecimento

Exemplo:

{ "restock_mode":"restock_only" }

3.6.7 Resources aninhadas

Pick lists

Listar

Lista os pick lists de determinada máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

É possível filtrar as pick lists com uma query string. Veja na API do relatório de pick lists os campos possíveis.

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 4164, "created_at":"2015-11-09T07:49:34.000-02:00", "updated_at":"2015-11-09T12:40:13.000-02:00", "installation_id": 857, "planogram_id": 2477, "group_id":1, "distribution_center_id":1, "machine_id": 49 (continues on next page)

190 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "pending": false, "url":"http://vmpay.vertitecnologia.com.br/api/v1/machines/49/installations/857/

˓→pick_lists/4164", "notes":"some extra info" }, { "id": 4302, "created_at":"2015-11-12T12:51:04.000-02:00", "updated_at":"2015-11-12T15:46:32.000-02:00", "installation_id": 857, "planogram_id": 2563, "group_id":1, "distribution_center_id":1, "machine_id": 49 "pending": false, "url":"http://vmpay.vertitecnologia.com.br/api/v1/machines/49/installations/857/

˓→pick_lists/4302", "notes": null } ]

Ver

Mostra determinado pick list de uma máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id da pick list sim

Filtro

O parâmetro abaixo pode ser passado como uma query string. show_all_items: Mostra todos os itens, incluindo os com quantidades zeradas: • true: retorna todos os itens, incluindo os com quantidades zeradas. • false: retorna somente os itens com quantidade maior que zero. • não informado: retorna somente os itens com quantidade maior que zero (default). Exemplos:

3.6. Instalações 191 Documentação da API do VMpay, Release 1.0.0

GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]?

˓→show_all_items=true GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]?

˓→show_all_items=false GET /api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]

Retorno

status descrição 200 OK

Exemplo:

{ "id": 4164, "created_at":"2015-11-09T07:49:34.000-02:00", "updated_at":"2015-11-09T12:40:13.000-02:00", "planogram_id": 2477, "group_id":1, "distribution_center_id":1, "pending": false, "notes":"some extra info", "items":[ { "id": 167188, "planogram_item_id": 93477, "quantity":8, "ignored": false, "good_id": 2229 }, { "id": 167190, "planogram_item_id": 93479, "quantity":3, "ignored": false, "good_id": 543 }, { "id": 167191, "planogram_item_id": 93480, "quantity":3, "ignored": false, "good_id": 533 }, { "id":167192 "planogram_item_id":93481, "quantity":12, "ignored":false, "packing_quantity":1, "good_id":2225 }, { "id": 167193, (continues on next page)

192 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "planogram_item_id": 93482, "quantity":2, "ignored": false, "good_id": 533 } ] }

Erros

status descrição response body 404 máquina/instalação/pick list não encontrada { “status”: “404”, “error”: “Not Found” }

Criar

Cria uma novo pick list em determinada máquina e instalação. O pick list criado fica pendente e pode ser atualizado. O mesmo só entra em atividade no próximo reabastecimento da máquina. Uma instalação pode ter somente um pick list pendente. Se houver uma tentativa de cadastro de um outro pick list, será retornado um erro de validação, código HTTP 422. Deve-se indicar o planograma da instalação ao qual o pick list se aplica. O planograma deve ser o atual da máquina ou o pendente a entrar no próximo reabastecimento. Se houver uma tentativa de cadastro de um pick list relacionado a um planograma inativo, será retornado um erro de validação, código HTTP 422. Caso algum item do planograma não faça parte do reabastecimento correspondente, não há a necessidade de indicá-lo com a quantidade zerada no pick list; o mesmo pode ser omitido.

POST/api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Request:

{ "pick_list":{ "planogram_id": 2563, "items_attributes":[ { "planogram_item_id": 96633, "quantity":4 }, { "planogram_item_id": 96632, (continues on next page)

3.6. Instalações 193 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "quantity":9 } ] } }

Campos

Obrigatórios

• pick_list – planogram_id: o id do planograma. Deve estar ativo ou pedente. – items_attributes: um array contendo os items do pick list.

* planogram_item_id: o id do item de planograma correspondente. * quantity: a quantidade a ser reabastecida.

Opcionais

• pick_list – notes: observações do pick list. – items_attributes: um array contendo os items do pick list.

* packing_quantity: a quantidade de packings,associado ao item, a ser reabastecida. Caso o parâmetro opcional seja passado, o valor do quantity é reescrito para a quantidade existente no packing multi- plicado pelo número de packings.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 4794, "created_at":"2016-02-16T15:22:26.519-02:00", "updated_at":"2016-02-16T15:22:26.519-02:00", "planogram_id": 2563, "pending": true, "notes": null, "items":[ { "id": 191350, "planogram_item_id": 96633, "quantity":4 }, (continues on next page)

194 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) { "id": 191351, "planogram_item_id": 96632, "quantity":9 } ] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "base":[ "Já existe um pick list cadastrado para o próximo reabastecimento" ] }

Atualizar

Atualiza um pick list de determinada máquina e instalação. Somente pick lists pendentes podem ser atualizados. Se houver uma tentativa de atualização de um pick list já utilizado em algum reabastecimento, será retornado um erro de validação, código HTTP 422. Os items podem ser criados, atualizados ou excluídos. Os items omitidos não são alterados.

PATCH/api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id da pick list sim

Request:

{ "pick_list":{ "items_attributes":[ { "id": 191350, (continues on next page)

3.6. Instalações 195 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "quantity": 11 }, { "id": 191351, "quantity": 12 } ] } }

Campos

Obrigatórios

• pick_list – items_attributes: um array contendo os items do pick list.

* id: o id do item a ser atualizado ou excluído. Se omitido, considera-se como um item sendo inserido. * planogram_item_id: o id do item de planograma correspondente. Somente necessário na inserção de um novo item.

* quantity: a quantidade a ser reabastecida. * _destroy: parâmetro passado para excluir o item do pick list. Para tanto, valor deve ser true.

Opcionais

• pick_list – notes: observações do pick list. – items_attributes: um array contendo os items do pick list.

* packing_quantity: o número de packings, a ser reabastecido. Caso o parâmetro opcional seja passado e exista um packing associado ao respectivo item, o valor do quantity é reescrito para a quantidade existente no packing multiplicado por packing_quantity.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 4794, "created_at":"2016-02-16T15:22:26.000-02:00", "updated_at":"2016-02-16T15:22:26.000-02:00", "planogram_id": 2563, "pending": true, (continues on next page)

196 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "notes": null, "items":[ { "id": 191350, "planogram_item_id": 96633, "quantity": 11 }, { "id": 191351, "planogram_item_id": 96632, "quantity": 12 } ] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 máquina/instalação/pick list não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "base":"Pick list deve estar pendente" }

Excluir

Exclui um pick list de determinada máquina e instalação. Somente pick lists pendentes podem ser excluídos. Se houver uma tentativa de exclusão de um pick list já utilizado em algum reabastecimento, será retornado um erro de validação, código HTTP 422.

DELETE/api/v1/machines/[machine_id]/installations/[installation_id]/pick_lists/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id da pick list sim

3.6. Instalações 197 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 máquina/instalação/pick list não encontrada { “status”: “404”, “error”: “Not Found” }

Planogramas

Listar

Lista os planogramas de determinada máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/planograms

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 2477, "created_at":"2015-11-04T11:11:02.000-02:00", "updated_at":"2015-11-12T15:46:32.000-02:00", "due":"due_now", "started_at":"2015-11-04T11:12:02.000-02:00", "ended_at":"2015-11-12T15:41:52.000-02:00", "details":"Planograma temporário", "items":[ { "id": 93477, "created_at":"2015-11-04T11:11:02.000-02:00", "updated_at":"2015-12-21T09:35:15.000-02:00", "planogram_id": 2477, (continues on next page)

198 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "type":"Coil", "good_id": 163, "name":"11", "capacity":8, "par_level":8, "alert_level":3, "desired_price": 4.5, "modified": false, "undefined": false, "logical_locator":"1", "physical_locators":[ "11" ], "children": null, "current_balance":6, "status":"active", "good":{ "id": 163, "name":"Ruffles 50 g", "upc_code":"91", "upc_code_name":"91 - Ruffles 50 g", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 93478, "created_at":"2015-11-04T11:11:02.000-02:00", "updated_at":"2015-12-21T09:35:15.000-02:00", "planogram_id": 2477, "type":"Coil", "good_id": 1449, "name":"12", "capacity":8, "par_level":8, "alert_level":3, "desired_price": 2.75, "modified": false, "undefined": false, "logical_locator":"2", "physical_locators":[ "12" ], "children": null, "current_balance":5, "status":"active", "good":{ "id": 1449, "name":"Rosquiletas", "upc_code":"232", "upc_code_name":"232 - Rosquiletas", "unit_description":"Unidade", "unit_symbol":"un" } } ] } (continues on next page)

3.6. Instalações 199 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) ]

Ver

Mostra determinado planograma de uma máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/planograms/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id do planograma sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 189976, "created_at":"2016-01-26T17:36:44.000-02:00", "updated_at":"2016-01-26T17:36:44.000-02:00", "due":"now", "started_at":"2016-01-26T17:36:44.000-02:00", "details":"Planograma temporário", "items":[ { "id": 86717, "type":"Coil", "name":"1,2", "good_id": 10, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "logical_locator":1, "current_balance": 11.0, "status":"active", }, { "id": 86718, "type":"Coil", "name":"3", "good_id": 12, "capacity": 10, (continues on next page)

200 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "par_level": 10, "alert_level":2, "desired_price": 2.3, "logical_locator":2, "current_balance": 8.0, "status":"active", }, { "id": 86719, "type":"VirtualCoil", "name":"4", "good_id": 23, "desired_price": 4.0, "logical_locator":3, "children":{"1":2,"2":1}, "status":"active", }, { "id": 86720, "type":"Canister", "good_id": 26, "capacity": 2000, "par_level": 2000, "alert_level": 200, "logical_locator":4, "current_balance": 983.3, "status":"active", }, { "id": 86721, "type":"Canister", "good_id": 27, "capacity": 3000, "par_level": 3000, "alert_level": 300, "logical_locator":5, "current_balance": 1975.4, "status":"active", }, { "id": 86722, "type":"VirtualCanister", "good_id": 30, "name":"5", "desired_price": 3.0, "logical_locator":6, "children":{"4": 20,"5": 15}, "status":"active", } ] }

3.6. Instalações 201 Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 404 máquina/instalação/planograma não encontrado { “status”: “404”, “error”: “Not Found” }

Criar

Cria uma novo planograma em determinada máquina e instalação. O planograma criado fica pendente e pode ser atualizado. O mesmo só entra em atividade no próximo reabastecimento da máquina. Uma instalação pode ter somente um planograma pendente. Se houver uma tentativa de cadastro de um outro planograma, será retornado um erro de validação, código HTTP 422.

POST/api/v1/machines/[machine_id]/installations/[installation_id]/planograms

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Request:

{ "planogram":{ "details":"Planograma para testes de canaleta", "items_attributes":[ { "type":"Coil", "name":"1,2", "good_id": 10, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "logical_locator":1, "status":"active" }, { "type":"Coil", "name":"3,4", "good_id": 11, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "logical_locator":2, "status":"active" }, { (continues on next page)

202 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "type":"Canister", "good_id": 12, "capacity": 3000, "par_level": 3000, "alert_level": 500, "logical_locator":3 }, { "type":"Canister", "good_id": 13, "capacity": 300, "par_level": 300, "alert_level": 50, "logical_locator":4 }, { "type":"VirtualCanister", "name":"5", "good_id": 15, "desired_price": 3.5, "logical_locator":5, "children":{"3": 21,"4":1} }, { "type":"VirtualCoil", "name":"6", "good_id": 23, "desired_price": 6.0, "logical_locator":6, "children":{"1":2,"2":1} } ] } }

Campos

Obrigatórios

• planogram – items_attributes: um array contendo os items do planograma.

* Os items podem ser de 4 tipos: canaletas, combos, canisters e seleções. * Canaletas: · type: deve ser igual a “Coil”. · name: o número da canaleta. Caso se trate de um agrupamento de canaletas, os números devem ser separados por vírgulas. Este campo será mapeado em um vetor no campo physi- cal_locators como pode ser observado no exemplo de retorno. · good_id: id do produto. Nesse caso não pode ser composto. Good neste caso se traduz como bem.

3.6. Instalações 203 Documentação da API do VMpay, Release 1.0.0

· capacity: a capacidade total da canaleta. No caso de agrupameto de canaletas, deve-se colocar aqui a capacidade total, somando-se todas as canaletas. · par_level: o nível de par da canaleta. No caso de agrupameto de canaletas, deve-se colocar aqui o nível de par total, somando-se todas as canaletas. · alert_level: o nível de alerta da canaleta. · desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico da canaleta. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado

* Combos: · type: deve ser igual a “VirtualCoil”. · name: o número de seleção do combo. Este campo será mapeado em um vetor no campo physical_locators como pode ser observado no exemplo de retorno. · good_id: id do produto. Nesse caso deve ser composto e com o type Combo. Good neste caso se traduz como bem. · desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico do combo. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado · children: as canaletas e suas quantidades que compõe o combo. É um objeto cujas chaves são identificadores lógicos (campo logical_locator) das canaletas e os valores as quantidades. No exemplo acima, o combo é composto de 2 produtos da canaleta cujo name é “1,2” - ou seja, canaletas 1 e 2 agrupadas - e 1 produto da canaleta cujo name é “3,4”.

* Canisters: · type: deve ser igual a “Canister”. · good_id: id do insumo. Good neste caso se traduz como bem. · capacity: a capacidade total do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · par_level: o nível de par do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · alert_level: o nível de alerta do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · logical_locator: trata-se do identificador lógico do canister. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado

* Seleções: · type: deve ser igual a “VirtualCanister”. · name: o número da seleção. Este campo será mapeado em um vetor no campo physi- cal_locators como pode ser observado no exemplo de retorno. · good_id: id do produto. Nesse caso deve ser composto e com o type Mixture. Good neste caso se traduz como bem.

204 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

· desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico da seleção. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado · children: os canisters e suas quantidades que compõe a seleção. É um objeto cujas chaves são identificadores lógicos (campo logical_locator) dos canisters e os valores as quantidades. No exemplo acima, digamos que o insumo de id 12 seja Chocolate Solúvel com Leite e o de id 13, Copo Plástico 160 ml. Logo, a seleção é composta de 21 gramas de Chocolate Solúvel com Leite e 1 unidade de Copo Plástico 160 ml.

* Campo Status: · active: o item está ativo e disponível para uso no vmpay e para venda · inactive: o item está inativo e não poderá ser usado no vmpay nem disponibilizado para venda · suspended o item está suspenso e não poderá ser usado no vmpay, mas as unidades em campo poderão ser vendidas

Opcionais

• planogram – details: Texto explicativo relacionado ao planograma

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 2950, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "due":"due_next_restock", "started_at": null, "ended_at": null, "details":"Planograma para testes de canaleta", "items":[ { "id": 113846, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"Coil", "good_id": 10, "name":"1,2", "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, (continues on next page)

3.6. Instalações 205 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "modified": false, "undefined": false, "logical_locator":"1", "physical_locators":[ "1", "2" ], "children": null, "current_balance":0, "status":"active", "good":{ "id": 10, "name":"Amendoin", "upc_code":"77", "upc_code_name":"77 - Amendoin", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113847, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"Coil", "good_id": 11, "name":"3,4", "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 2.5, "modified": false, "undefined": false, "logical_locator":"2", "physical_locators":[ "3", "4" ], "children": null, "current_balance":0, "status":"active", "good":{ "id": 11, "name":"Coca Cola", "upc_code":"77", "upc_code_name":"77 - Coca Cola", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id":113848, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id":2950, "type":"Canister", "good_id":12, (continues on next page)

206 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "name":"Chocolate Solúvel com Leite 1kg", "capacity":3000.0, "par_level":3000.0, "alert_level":500.0, "desired_price":null, "modified": false, "undefined":false, "logical_locator":"3", "physical_locators":[], "children":null, "current_balance":0, "status":"active", "good":{ "id":12, "name":"Chocolate Solúvel com Leite 1kg", "upc_code":null, "upc_code_name":"Chocolate Solúvel com Leite 1kg", "unit_description":"Grama", "unit_symbol":"g" } }, { "id":113849, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id":2950, "type":"Canister", "good_id":13, "name":"Copo Plástico 160 ml", "capacity":300.0, "par_level":300.0, "alert_level":50.0, "desired_price":null, "modified": false, "undefined":false, "logical_locator":"4", "physical_locators":[], "children":null, "current_balance":0, "status":"active", "good":{ "id":13, "name":"Copo Plástico 160 ml", "upc_code":null, "upc_code_name":"Copo Plástico 160 ml", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113850, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"VirtualCanister", "good_id": 15, "name":"5", (continues on next page)

3.6. Instalações 207 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 3.5, "modified": false, "undefined": false, "logical_locator":"5", "physical_locators":[ "5" ], "children":"children":{ "3":"21.00", "4":"1.00" }, "current_balance":0, "status":"active", "good":{ "id": 15, "name":"Dose Chocolate Quente", "upc_code": null, "upc_code_name":"Dose Chocolate Quente", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113851, "created_at":"2016-02-15T16:19:36.843-02:00", "updated_at":"2016-02-15T16:19:36.843-02:00", "planogram_id": 2950, "type":"VirtualCoil", "good_id": 23, "name":"6", "capacity": 10, "par_level": 10, "alert_level":4, "desired_price":6, "modified": false, "undefined": false, "logical_locator":"6", "physical_locators":[ "6" ], "children":{ "1":"2.00", "2":"1.00" }, "status":"active", "good":{ "id": 23, "name":"2x Amendoins + 1x Coca Cola", "upc_code":"0", "upc_code_name":"0 - 2x Amendoins + 1x Coca Cola", "unit_description":"Unidade", "unit_symbol":"un" } } (continues on next page)

208 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) ] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "base":[ "Já existe um planograma cadastrado para o próximo reabastecimento", "Há uma pick list pendente para essa instalação" ] }

Atualizar

Atualiza um planograma de determinada máquina e instalação. Somente planogramas pendentes podem ser atualizados. Se houver uma tentativa de atualização de planograma ativo ou anterior, será retornado um erro de validação, código HTTP 422.

PATCH/api/v1/machines/[machine_id]/installations/[installation_id]/planograms/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id do planograma sim

Request:

{ "planogram":{ "details":"Planograma para testes de canaleta", "items_attributes":[ { "id": 113846, "type":"Coil", "name":"1,2", "good_id": 10, "capacity": 25, "par_level": 25, (continues on next page)

3.6. Instalações 209 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "alert_level":5, "desired_price": 2.5, "logical_locator":1, "status":"active" } ] } }

Campos

Obrigatórios

• planogram – items_attributes: um array contendo os items do planograma.

* Os items podem ser de 4 tipos: canaletas, combos, canisters e seleções. * Canaletas: · id: o id do item, gerado automaticamente pelo sistema no momento da criação do planograma. · type: deve ser igual a “Coil”. · name: o número da canaleta. Caso se trate de um agrupamento de canaletas, os números devem ser separados por vírgulas. · good_id: id do produto. Nesse caso não pode ser composto. Good neste caso se traduz como bem. · capacity: a capacidade total da canaleta. No caso de agrupameto de canaletas, deve-se colocar aqui a capacidade total, somando-se todas as canaletas. · par_level: o nível de par da canaleta. No caso de agrupameto de canaletas, deve-se colocar aqui o nível de par total, somando-se todas as canaletas. · alert_level: o nível de alerta da canaleta. · desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico da canaleta. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado

* Combos: · id: o id do item, gerado automaticamente pelo sistema no momento da criação do planograma. · type: deve ser igual a “VirtualCoil”. · name: o número de seleção do combo. · good_id: id do produto. Nesse caso deve ser composto e com o type Combo. Good neste caso se traduz como bem. · desired_price: o preço unitário desejado.

210 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

· logical_locator: trata-se do identificador lógico do combo. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado · children: as canaletas e suas quantidades que compõe o combo. É um objeto cujas chaves são identificares lógicos (campo logical_locator) das canaletas e os valores as quantidades. No exemplo acima, o combo é composto de 2 produtos da canaleta cujo name é “1,2” - ou seja, canaletas 1 e 2 agrupadas - e 1 produto da canaleta 3.

* Canisters: · id: o id do item, gerado automaticamente pelo sistema no momento da criação do planograma. · type: deve ser igual a “Canister”. · good_id: id do insumo. Good neste caso se traduz como bem. · capacity: a capacidade total do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · par_level: o nível de par do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · alert_level: o nível de alerta do canister. Deve ser preenchido na mesma unidade do insumo (g, ml ou un). · logical_locator: trata-se do identificador lógico do canister. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado

* Seleções: · id: o id do item, gerado automaticamente pelo sistema no momento da criação do planograma. · type: deve ser igual a “VirtualCanister”. · name: o número da seleção. · good_id: id do produto. Nesse caso deve ser composto e com o type Mixture. Good neste caso se traduz como bem. · desired_price: o preço unitário desejado. · logical_locator: trata-se do identificador lógico da seleção. Deve-se gerar um inteiro único dentro de todos os items do planograma. · status: o estado do item no planograma. Caso não seja informado, o padrão active será usado · children: os canisters e suas quantidades que compõe a seleção. É um objeto cujas chaves são identificares lógicos (campo logical_locator) dos canisters e os valores as quantidades. No exemplo acima, digamos que o insumo de id 26 seja Café em pó e o de id 27, Leite em pó. Logo, a seleção é composta de 20 gramas de Café em pó e 15 gramas de Leite em pó.

* Campo Status: · active: o item está ativo e disponível para uso no vmpay e para venda · inactive: o item está inativo e não poderá ser usado no vmpay nem disponibilizado para venda · suspended o item está suspenso e não poderá ser usado no vmpay, mas as unidades em campo poderão ser vendidas

3.6. Instalações 211 Documentação da API do VMpay, Release 1.0.0

Opcionais

• planogram – details: Texto explicativo relacionado ao planograma

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 2961, "created_at":"2016-02-16T16:54:39.000-02:00", "updated_at":"2016-02-16T16:54:39.000-02:00", "due":"due_next_restock", "started_at": null, "ended_at": null, "details":"Planograma para testes de canaleta", "items":[ { "id": 113846, "created_at":"2016-02-16T16:54:39.000-02:00", "updated_at":"2016-02-16T17:03:27.727-02:00", "planogram_id": 2961, "type":"Coil", "good_id": 10, "name":"1,2", "capacity": 25, "par_level": 25, "alert_level":5, "desired_price": 2.5, "modified": true, "undefined": false, "logical_locator":"1", "physical_locators":[ "1", "2" ], "children": null, "current_balance":0, "status":"active", "good":{ "id": 10, "name":"Amendoin", "upc_code":"77", "upc_code_name":"77 - Amendoin", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113847, (continues on next page)

212 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "created_at":"2016-02-16T16:54:39.000-02:00", "updated_at":"2016-02-16T16:54:39.000-02:00", "planogram_id": 2961, "type":"Coil", "good_id": 12, "name":"3", "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 2.3, "modified": true, "undefined": false, "logical_locator":"2", "physical_locators":[ "3" ], "children": null, "current_balance":0, "status":"active", "good":{ "id": 12, "name":"Twix", "upc_code":"99", "upc_code_name":"99 - Twix", "unit_description":"Unidade", "unit_symbol":"un" } }, { "id": 113848, "created_at":"2016-02-16T16:54:39.000-02:00", "updated_at":"2016-02-16T16:54:39.000-02:00", "planogram_id": 2961, "type":"VirtualCoil", "good_id": 23, "name":"4", "capacity": null, "par_level": null, "alert_level": null, "desired_price":4, "modified": true, "undefined": false, "logical_locator":"3", "physical_locators":[ "4" ], "children":{ "1":2, "2":1 }, "status":"active", "good":{ "id": 23, "name":"Camiseta Acqua tamanho G", "upc_code":"0", "upc_code_name":"0 - Camiseta Acqua tamanho G", "unit_description":"Unidade", (continues on next page)

3.6. Instalações 213 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "unit_symbol":"un" } } ] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 máquina/instalação/planograma não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "items.physical_locators":[ "já está em uso" ], "base":[ "Registros filhos duplicados" ] }

Excluir

Exclui um planograma de determinada máquina e instalação. Somente planogramas pendentes podem ser excluídos. Se houver uma tentativa de exclusão de planograma ativo ou anterior, será retornado um erro de validação, código HTTP 422.

DELETE/api/v1/machines/[machine_id]/installations/[installation_id]/planograms/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id do planograma sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

214 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 404 máquina/instalação/planograma não encontrado { “status”: “404”, “error”: “Not Found” }

Auditorias

Listar

Lista as auditorias de determinada máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/audits

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 725818, "began_at":"2016-04-25T15:00:30.000-03:00", "ended_at":"2016-04-25T15:00:33.000-03:00", "total_quantity":1, "total_value": 2.5 }, { "id": 725186, "began_at":"2016-04-25T11:50:27.000-03:00", "ended_at":"2016-04-25T11:50:31.000-03:00", "total_quantity":7, "total_value": 19.85 }, { "id": 724622, "began_at":"2016-04-25T09:00:30.000-03:00", "ended_at":"2016-04-25T09:00:33.000-03:00", "total_quantity":1, "total_value":3 } ]

3.6. Instalações 215 Documentação da API do VMpay, Release 1.0.0

Ver

Mostra determinada auditoria de uma máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/audits/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id da auditoria sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 725186, "occurred_at":"2016-04-25T11:50:27.000-03:00", "total_vends_value": 55, "total_vends_quantity": 500, "planogram_items":[ { "locator":"10", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"11", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"12", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"13", "total_vends_value": 0.1, "total_vends_quantity":0 }, { "locator":"14", "total_vends_value":0, "total_vends_quantity":0 }, (continues on next page)

216 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) { "locator":"15", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"16", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"17", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"18", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"19", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"20", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"21", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"22", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"23", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"24", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"25", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"26", (continues on next page)

3.6. Instalações 217 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"27", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"28", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"29", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"30", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"31", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"32", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"33", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"34", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"35", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"36", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"37", "total_vends_value":0, "total_vends_quantity":0 (continues on next page)

218 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "locator":"38", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"39", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"40", "total_vends_value": 7.8, "total_vends_quantity": 59 }, { "locator":"41", "total_vends_value": 6.8, "total_vends_quantity": 68 }, { "locator":"42", "total_vends_value": 6.5, "total_vends_quantity": 65 }, { "locator":"43", "total_vends_value": 5.9, "total_vends_quantity": 58 }, { "locator":"44", "total_vends_value":7, "total_vends_quantity": 70 }, { "locator":"45", "total_vends_value": 7.6, "total_vends_quantity": 76 }, { "locator":"46", "total_vends_value": 5.3, "total_vends_quantity": 51 }, { "locator":"47", "total_vends_value": 6.5, "total_vends_quantity": 38 }, { "locator":"48", "total_vends_value":0, "total_vends_quantity":0 }, { (continues on next page)

3.6. Instalações 219 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "locator":"49", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"50", "total_vends_value": 0.1, "total_vends_quantity":1 }, { "locator":"51", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"52", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"53", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"54", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"55", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"56", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"57", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"58", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"59", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"60", "total_vends_value":0, (continues on next page)

220 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "total_vends_quantity":0 }, { "locator":"61", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"62", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"63", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"64", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"65", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"66", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"67", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"68", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"69", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"70", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"71", "total_vends_value":0, "total_vends_quantity":0 }, (continues on next page)

3.6. Instalações 221 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) { "locator":"72", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"73", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"74", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"75", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"76", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"77", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"78", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"79", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"80", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"81", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"82", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"83", (continues on next page)

222 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"84", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"85", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"86", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"87", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"88", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"89", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"90", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"91", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"92", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"93", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"94", "total_vends_value":0, "total_vends_quantity":0 (continues on next page)

3.6. Instalações 223 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) } ] }

Erros

status descrição response body 404 máquina/instalação/auditoria não encontrada { “status”: “404”, “error”: “Not Found” }

Baixar em formato TXT

Baixa determinada auditoria de uma máquina e instalação em formato TXT.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/audits/[id].txt

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id da auditoria sim

Retorno

status descrição 200 OK

Exemplo:

DXS*NBF1234567*VA*V0/6*1 ST*001*0001 CA1*0 CA2*2878109*125903*2878109*60367 CA3*3227279*1536695*6777215*1690584**1536695*10545640*1690584 CA4*10872370*105695*10872370*105695 CA7*0*0 CA8*21415*21415 CA9*321365*321365 CA10*0*0 CA11*0*6340*2935*3405*6340*2935*3405 CA11*0*1474*1474*0*1474*1474*0 CA11*0*12912*7928*4984*12912*7928*4984 CA11*0*3142*3142*0*3142*3142*0 CA11*0*23988*5681*18307*23988*5681*18307 CA11*0*3108*3108*0*3108*3108*0 CA11*0*35375*7412*27963*35375*7412*27963 (continues on next page)

224 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) CA11*0*6507*3832*2675*6507*3832*2675 CA11*0*18050*4180*13870*83586*4180*79406 CA11*0*6329*843*5486*6329*843*5486 CA11*0*1282*1282*0*1282*1282*0 CA11*0*83*83*0*83*83*0 CA11*0*10*10*0*10*10*0 CA11*0*0*0*0*0*0*0 CA11*0*0*0*0*0*0*0 CA11*0*0*0*0*0*0*0 CA14*0*13632**13632 CA14*0*36902**36902 CA14*0*13552**13552 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA14*0*0**0 CA15* CA15* DA1*000000000000000*000000000000*0000 DA2*0*0*0*0 DA4*0*0 DA5*0**0 EA1*EBB*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EAR*000000*000000 EA1*EC1C*000000*000000 EA1*EBB*000000*000000 EA1*EAR*000000*000000 EA1*EBB*000000*000000 EA1*EBB*000000*000000 EA2*ECM*0*0*0 EA2*EAR*72*72*0 EA2*ECF*1*1*0 EA2*ECE*2*2*0 EA2*EAJ*0*0*0 EA2*EC1C*12*12*0 EA2*EC1C_2*0*0*0 EA2*EDP*8*8*0 EA2*EBB*96*96*1 EA2*EDF_1*0*0*0 EA2*ECA*0*0*0 (continues on next page)

3.6. Instalações 225 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) EA2*ECK*1*1*0 EA2*EGN*68*68*0 EA2*EBI*21*21*0 EA2*ELA*1*1*0 EA2*EDF_2*22*22*0 EA2*EEJ*71*71*1 EA2*EDJ_P*5*5*0 EA2*EDJ_GR*0*0*0 EA2*EBJ*0*0*0 EA2*EFB*63*63*0 EA2*EDO_1*66*66*0 EA2*OAR*61*61*0 EA2*EFI*66*66*0 EA2*EEL*6*6*0 EA2*EDO_2*6*6*0 EA2*EDZ*6*6*0 EA2*EEC_ES1*6*6*0 EA2*EEC_FB1*0*0*0 EA2*EEC_FB2*0*0*0 EA2*EDM_1*1*1*0 EA2*EDM_2*2*2*0 EA2*EH1A*0*0*0 EA2*EFE*0*0*0 EA2*ELE_P*0*0*0 EA2*ELE_GR*0*0*0 EA2*EBL*0*0*0 EA2*EFN_1*2*2*0 EA2*EEK*8*8*0 EA2*EDT_1*19*19*0 EA2*EDU_1*2*2*0 EA2*EDT_2*0*0*0 EA2*EDU_2*0*0*0 EA2*EFN_2*2*2*0 EA2*ELC*0*0*0 EA2*ECE_A*0*0*0 EA2*ECE_B*0*0*0 EA2*ECA_A*0*0*0 EA2*ECA_B*0*0*0 EA2*EJM_A*0*0*0 EA2*EJM_B*0*0*0 EA2*EJL_A*0*0*0 EA2*EJL_B*0*0*0 EA2*EJJ_A*2*2*0 EA2*EJJ_B*0*0*0 EA2*EJK_A*0*0*0 EA2*EJK_B*0*0*0 EA2*ECQ*1*257*0 EA2*EJB_A*74*74*0 EA2*EAREC*0*0*0 EA3*0*000000*0000**000000*0000 EA6*000000*0000 EA7*9491*9491 ID1*0*930E*4*0*MDB *0000000000 ID4*2*39 ID5*000000*0000 ID7* ID7*1**000*000000000000*000000000000*0000 (continues on next page)

226 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA1*01*10 PA2*5487**5487 PA3*211**211 PA4*0**0 PA6******0 PA7*01*CA*0*10*0*0*0*0 PA7*01*DA*0*10*0*0*0*0 PA7*01*DA*1*65535*0*0*0*0 PA7*01*DA*2*65535*0*0*0*0 PA7*01*DB*0*10*0*0*0*0 PA7*01*DB*1*65535*0*0*0*0 PA7*01*DB*2*65535*0*0*0*0 PA1*02*10 PA2*13773**13773 PA3*267**267 PA4*0**0 PA6******0 PA7*02*CA*0*10*0*0*0*0 PA7*02*DA*0*10*0*0*0*0 PA7*02*DA*1*65535*0*0*0*0 PA7*02*DA*2*65535*0*0*0*0 PA7*02*DB*0*10*0*0*0*0 PA7*02*DB*1*65535*0*0*0*0 PA7*02*DB*2*65535*0*0*0*0 PA1*03*10 PA2*1299**1299 PA3*24**24 PA4*0**0 PA6******0 PA7*03*CA*0*10*0*0*0*0 PA7*03*DA*0*10*0*0*0*0 PA7*03*DA*1*65535*0*0*0*0 PA7*03*DA*2*65535*0*0*0*0 PA7*03*DB*0*10*0*0*0*0 PA7*03*DB*1*65535*0*0*0*0 PA7*03*DB*2*65535*0*0*0*0 PA1*04*10 PA2*10405**10405 PA3*518**518 PA4*0**0 PA6******0 PA7*04*CA*0*10*0*0*0*0 PA7*04*DA*0*10*0*0*0*0 PA7*04*DA*1*65535*0*0*0*0 PA7*04*DA*2*65535*0*0*0*0 PA7*04*DB*0*10*0*0*0*0 PA7*04*DB*1*65535*0*0*0*0 PA7*04*DB*2*65535*0*0*0*0 PA1*05*10 PA2*3549**3549 PA3*132**132 PA4*94**94 PA6******0 PA7*05*CA*0*10*0*0*0*0 PA7*05*DA*0*10*0*0*0*0 PA7*05*DA*1*65535*0*0*0*0 PA7*05*DA*2*65535*0*0*0*0 (continues on next page)

3.6. Instalações 227 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA7*05*DB*0*10*0*0*0*0 PA7*05*DB*1*65535*0*0*0*0 PA7*05*DB*2*65535*0*0*0*0 PA1*06*10 PA2*8031**8031 PA3*307**307 PA4*30**30 PA6******0 PA7*06*CA*0*10*0*0*0*0 PA7*06*DA*0*10*0*0*0*0 PA7*06*DA*1*65535*0*0*0*0 PA7*06*DA*2*65535*0*0*0*0 PA7*06*DB*0*10*0*0*0*0 PA7*06*DB*1*65535*0*0*0*0 PA7*06*DB*2*65535*0*0*0*0 PA1*07*10 PA2*3380**3380 PA3*210**210 PA4*48**48 PA6******0 PA7*07*CA*0*10*0*0*0*0 PA7*07*DA*0*10*0*0*0*0 PA7*07*DA*1*65535*0*0*0*0 PA7*07*DA*2*65535*0*0*0*0 PA7*07*DB*0*10*0*0*0*0 PA7*07*DB*1*65535*0*0*0*0 PA7*07*DB*2*65535*0*0*0*0 PA1*08*10 PA2*8787**8787 PA3*212**212 PA4*58**58 PA6******0 PA7*08*CA*0*10*0*0*0*0 PA7*08*DA*0*10*0*0*0*0 PA7*08*DA*1*65535*0*0*0*0 PA7*08*DA*2*65535*0*0*0*0 PA7*08*DB*0*10*0*0*0*0 PA7*08*DB*1*65535*0*0*0*0 PA7*08*DB*2*65535*0*0*0*0 PA1*09*10 PA2*2430**2430 PA3*27**27 PA4*34**34 PA6******0 PA7*09*CA*0*10*0*0*0*0 PA7*09*DA*0*10*0*0*0*0 PA7*09*DA*1*65535*0*0*0*0 PA7*09*DA*2*65535*0*0*0*0 PA7*09*DB*0*10*0*0*0*0 PA7*09*DB*1*65535*0*0*0*0 PA7*09*DB*2*65535*0*0*0*0 PA1*10*10 PA2*2668**2668 PA3*67**67 PA4*316**316 PA6******0 PA7*10*CA*0*10*0*0*0*0 (continues on next page)

228 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA7*10*DA*0*10*0*0*0*0 PA7*10*DA*1*65535*0*0*0*0 PA7*10*DA*2*65535*0*0*0*0 PA7*10*DB*0*10*0*0*0*0 PA7*10*DB*1*65535*0*0*0*0 PA7*10*DB*2*65535*0*0*0*0 PA1*11*10 PA2*2987**2987 PA3*62**62 PA4*79**79 PA6******0 PA7*11*CA*0*10*0*0*0*0 PA7*11*DA*0*10*0*0*0*0 PA7*11*DA*1*65535*0*0*0*0 PA7*11*DA*2*65535*0*0*0*0 PA7*11*DB*0*10*0*0*0*0 PA7*11*DB*1*65535*0*0*0*0 PA7*11*DB*2*65535*0*0*0*0 PA1*12*10 PA2*7352**7352 PA3*1377**1377 PA4*105**105 PA6******0 PA7*12*CA*0*10*0*0*0*0 PA7*12*DA*0*10*0*0*0*0 PA7*12*DA*1*65535*0*0*0*0 PA7*12*DA*2*65535*0*0*0*0 PA7*12*DB*0*10*0*0*0*0 PA7*12*DB*1*65535*0*0*0*0 PA7*12*DB*2*65535*0*0*0*0 PA1*13*10 PA2*145**145 PA3*8**8 PA4*77**77 PA6******0 PA7*13*CA*0*10*0*0*0*0 PA7*13*DA*0*10*0*0*0*0 PA7*13*DA*1*65535*0*0*0*0 PA7*13*DA*2*65535*0*0*0*0 PA7*13*DB*0*10*0*0*0*0 PA7*13*DB*1*65535*0*0*0*0 PA7*13*DB*2*65535*0*0*0*0 PA1*14*10 PA2*845**845 PA3*6**6 PA4*353**353 PA6******0 PA7*14*CA*0*10*0*0*0*0 PA7*14*DA*0*10*0*0*0*0 PA7*14*DA*1*65535*0*0*0*0 PA7*14*DA*2*65535*0*0*0*0 PA7*14*DB*0*10*0*0*0*0 PA7*14*DB*1*65535*0*0*0*0 PA7*14*DB*2*65535*0*0*0*0 PA1*15*10 PA2*651**651 PA3*16**16 (continues on next page)

3.6. Instalações 229 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA4*7**7 PA6******0 PA7*15*CA*0*10*0*0*0*0 PA7*15*DA*0*10*0*0*0*0 PA7*15*DA*1*65535*0*0*0*0 PA7*15*DA*2*65535*0*0*0*0 PA7*15*DB*0*10*0*0*0*0 PA7*15*DB*1*65535*0*0*0*0 PA7*15*DB*2*65535*0*0*0*0 PA1*16*10 PA2*5947**5947 PA3*105**105 PA4*0**0 PA6******0 PA7*16*CA*0*10*0*0*0*0 PA7*16*DA*0*10*0*0*0*0 PA7*16*DA*1*65535*0*0*0*0 PA7*16*DA*2*65535*0*0*0*0 PA7*16*DB*0*10*0*0*0*0 PA7*16*DB*1*65535*0*0*0*0 PA7*16*DB*2*65535*0*0*0*0 PA1*17*10 PA2*2**2 PA3*2**2 PA4*2**2 PA6******0 PA7*17*CA*0*10*0*0*0*0 PA7*17*DA*0*10*0*0*0*0 PA7*17*DA*1*65535*0*0*0*0 PA7*17*DA*2*65535*0*0*0*0 PA7*17*DB*0*10*0*0*0*0 PA7*17*DB*1*65535*0*0*0*0 PA7*17*DB*2*65535*0*0*0*0 PA1*18*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*18*CA*0*10*0*0*0*0 PA7*18*DA*0*10*0*0*0*0 PA7*18*DA*1*65535*0*0*0*0 PA7*18*DA*2*65535*0*0*0*0 PA7*18*DB*0*10*0*0*0*0 PA7*18*DB*1*65535*0*0*0*0 PA7*18*DB*2*65535*0*0*0*0 PA1*19*10 PA2*5**5 PA3*0**0 PA4*5**5 PA6******0 PA7*19*CA*0*10*0*0*0*0 PA7*19*DA*0*10*0*0*0*0 PA7*19*DA*1*65535*0*0*0*0 PA7*19*DA*2*65535*0*0*0*0 PA7*19*DB*0*10*0*0*0*0 PA7*19*DB*1*65535*0*0*0*0 PA7*19*DB*2*65535*0*0*0*0 (continues on next page)

230 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA1*20*10 PA2*33**33 PA3*0**0 PA4*33**33 PA6******0 PA7*20*CA*0*10*0*0*0*0 PA7*20*DA*0*10*0*0*0*0 PA7*20*DA*1*65535*0*0*0*0 PA7*20*DA*2*65535*0*0*0*0 PA7*20*DB*0*10*0*0*0*0 PA7*20*DB*1*65535*0*0*0*0 PA7*20*DB*2*65535*0*0*0*0 PA1*21*10 PA2*27**27 PA3*1**1 PA4*1**1 PA6******0 PA7*21*CA*0*10*0*0*0*0 PA7*21*DA*0*10*0*0*0*0 PA7*21*DA*1*65535*0*0*0*0 PA7*21*DA*2*65535*0*0*0*0 PA7*21*DB*0*10*0*0*0*0 PA7*21*DB*1*65535*0*0*0*0 PA7*21*DB*2*65535*0*0*0*0 PA1*22*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*22*CA*0*10*0*0*0*0 PA7*22*DA*0*10*0*0*0*0 PA7*22*DA*1*65535*0*0*0*0 PA7*22*DA*2*65535*0*0*0*0 PA7*22*DB*0*10*0*0*0*0 PA7*22*DB*1*65535*0*0*0*0 PA7*22*DB*2*65535*0*0*0*0 PA1*23*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*23*CA*0*10*0*0*0*0 PA7*23*DA*0*10*0*0*0*0 PA7*23*DA*1*65535*0*0*0*0 PA7*23*DA*2*65535*0*0*0*0 PA7*23*DB*0*10*0*0*0*0 PA7*23*DB*1*65535*0*0*0*0 PA7*23*DB*2*65535*0*0*0*0 PA1*24*10 PA2*2**2 PA3*0**0 PA4*2**2 PA6******0 PA7*24*CA*0*10*0*0*0*0 PA7*24*DA*0*10*0*0*0*0 PA7*24*DA*1*65535*0*0*0*0 PA7*24*DA*2*65535*0*0*0*0 (continues on next page)

3.6. Instalações 231 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA7*24*DB*0*10*0*0*0*0 PA7*24*DB*1*65535*0*0*0*0 PA7*24*DB*2*65535*0*0*0*0 PA1*25*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*25*CA*0*10*0*0*0*0 PA7*25*DA*0*10*0*0*0*0 PA7*25*DA*1*65535*0*0*0*0 PA7*25*DA*2*65535*0*0*0*0 PA7*25*DB*0*10*0*0*0*0 PA7*25*DB*1*65535*0*0*0*0 PA7*25*DB*2*65535*0*0*0*0 PA1*26*10 PA2*1**1 PA3*0**0 PA4*1**1 PA6******0 PA7*26*CA*0*10*0*0*0*0 PA7*26*DA*0*10*0*0*0*0 PA7*26*DA*1*65535*0*0*0*0 PA7*26*DA*2*65535*0*0*0*0 PA7*26*DB*0*10*0*0*0*0 PA7*26*DB*1*65535*0*0*0*0 PA7*26*DB*2*65535*0*0*0*0 PA1*27*10 PA2*32**32 PA3*2**2 PA4*0**0 PA6******0 PA7*27*CA*0*10*0*0*0*0 PA7*27*DA*0*10*0*0*0*0 PA7*27*DA*1*65535*0*0*0*0 PA7*27*DA*2*65535*0*0*0*0 PA7*27*DB*0*10*0*0*0*0 PA7*27*DB*1*65535*0*0*0*0 PA7*27*DB*2*65535*0*0*0*0 PA1*28*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*28*CA*0*10*0*0*0*0 PA7*28*DA*0*10*0*0*0*0 PA7*28*DA*1*65535*0*0*0*0 PA7*28*DA*2*65535*0*0*0*0 PA7*28*DB*0*10*0*0*0*0 PA7*28*DB*1*65535*0*0*0*0 PA7*28*DB*2*65535*0*0*0*0 PA1*29*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*29*CA*0*10*0*0*0*0 (continues on next page)

232 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA7*29*DA*0*10*0*0*0*0 PA7*29*DA*1*65535*0*0*0*0 PA7*29*DA*2*65535*0*0*0*0 PA7*29*DB*0*10*0*0*0*0 PA7*29*DB*1*65535*0*0*0*0 PA7*29*DB*2*65535*0*0*0*0 PA1*30*10 PA2*0**0 PA3*0**0 PA4*0**0 PA6******0 PA7*30*CA*0*10*0*0*0*0 PA7*30*DA*0*10*0*0*0*0 PA7*30*DA*1*65535*0*0*0*0 PA7*30*DA*2*65535*0*0*0*0 PA7*30*DB*0*10*0*0*0*0 PA7*30*DB*1*65535*0*0*0*0 PA7*30*DB*2*65535*0*0*0*0 PA11*0 PA1*V33*10 PA2*3291**3291 PA3*62**62 PA4*1**1 SA1*V33*0****000000000000 PA7*V33*CA*0*10*0*0*0*0 PA7*V33*DA*0*10*0*0*0*0 PA7*V33*DA*1*65535*0*0*0*0 PA7*V33*DA*2*65535*0*0*0*0 PA7*V33*DB*0*10*0*0*0*0 PA7*V33*DB*1*65535*0*0*0*0 PA7*V33*DB*2*65535*0*0*0*0 PA1*V35*10 PA2*1727**1727 PA3*15**15 PA4*1**1 SA1*V35*0****000000000000 PA7*V35*CA*0*10*0*0*0*0 PA7*V35*DA*0*10*0*0*0*0 PA7*V35*DA*1*65535*0*0*0*0 PA7*V35*DA*2*65535*0*0*0*0 PA7*V35*DB*0*10*0*0*0*0 PA7*V35*DB*1*65535*0*0*0*0 PA7*V35*DB*2*65535*0*0*0*0 PA1*V36*10 PA2*3452**3452 PA3*39**39 PA4*0**0 SA1*V36*0****000000000000 PA7*V36*CA*0*10*0*0*0*0 PA7*V36*DA*0*10*0*0*0*0 PA7*V36*DA*1*65535*0*0*0*0 PA7*V36*DA*2*65535*0*0*0*0 PA7*V36*DB*0*10*0*0*0*0 PA7*V36*DB*1*65535*0*0*0*0 PA7*V36*DB*2*65535*0*0*0*0 PA1*V38*10 PA2*1776**1776 (continues on next page)

3.6. Instalações 233 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA3*20**20 PA4*0**0 SA1*V38*0****000000000000 PA7*V38*CA*0*10*0*0*0*0 PA7*V38*DA*0*10*0*0*0*0 PA7*V38*DA*1*65535*0*0*0*0 PA7*V38*DA*2*65535*0*0*0*0 PA7*V38*DB*0*10*0*0*0*0 PA7*V38*DB*1*65535*0*0*0*0 PA7*V38*DB*2*65535*0*0*0*0 PA1*V43*10 PA2*1505**1505 PA3*7**7 PA4*0**0 SA1*V43*0****000000000000 PA7*V43*CA*0*10*0*0*0*0 PA7*V43*DA*0*10*0*0*0*0 PA7*V43*DA*1*65535*0*0*0*0 PA7*V43*DA*2*65535*0*0*0*0 PA7*V43*DB*0*10*0*0*0*0 PA7*V43*DB*1*65535*0*0*0*0 PA7*V43*DB*2*65535*0*0*0*0 PA1*V45*10 PA2*1756**1756 PA3*13**13 PA4*1**1 SA1*V45*0****000000000000 PA7*V45*CA*0*10*0*0*0*0 PA7*V45*DA*0*10*0*0*0*0 PA7*V45*DA*1*65535*0*0*0*0 PA7*V45*DA*2*65535*0*0*0*0 PA7*V45*DB*0*10*0*0*0*0 PA7*V45*DB*1*65535*0*0*0*0 PA7*V45*DB*2*65535*0*0*0*0 PA1*V46*10 PA2*1425**1425 PA3*15**15 PA4*0**0 SA1*V46*0****000000000000 PA7*V46*CA*0*10*0*0*0*0 PA7*V46*DA*0*10*0*0*0*0 PA7*V46*DA*1*65535*0*0*0*0 PA7*V46*DA*2*65535*0*0*0*0 PA7*V46*DB*0*10*0*0*0*0 PA7*V46*DB*1*65535*0*0*0*0 PA7*V46*DB*2*65535*0*0*0*0 PA1*V47*10 PA2*1427**1427 PA3*16**16 PA4*0**0 SA1*V47*0****000000000000 PA7*V47*CA*0*10*0*0*0*0 PA7*V47*DA*0*10*0*0*0*0 PA7*V47*DA*1*65535*0*0*0*0 PA7*V47*DA*2*65535*0*0*0*0 PA7*V47*DB*0*10*0*0*0*0 PA7*V47*DB*1*65535*0*0*0*0 (continues on next page)

234 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA7*V47*DB*2*65535*0*0*0*0 PA1*V48*10 PA2*1384**1384 PA3*27**27 PA4*0**0 SA1*V48*0****000000000000 PA7*V48*CA*0*10*0*0*0*0 PA7*V48*DA*0*10*0*0*0*0 PA7*V48*DA*1*65535*0*0*0*0 PA7*V48*DA*2*65535*0*0*0*0 PA7*V48*DB*0*10*0*0*0*0 PA7*V48*DB*1*65535*0*0*0*0 PA7*V48*DB*2*65535*0*0*0*0 PA1*V51*10 PA2*1235**1235 PA3*43**43 PA4*0**0 SA1*V51*0****000000000000 PA7*V51*CA*0*10*0*0*0*0 PA7*V51*DA*0*10*0*0*0*0 PA7*V51*DA*1*65535*0*0*0*0 PA7*V51*DA*2*65535*0*0*0*0 PA7*V51*DB*0*10*0*0*0*0 PA7*V51*DB*1*65535*0*0*0*0 PA7*V51*DB*2*65535*0*0*0*0 PA1*V52*10 PA2*1313**1313 PA3*19**19 PA4*0**0 SA1*V52*0****000000000000 PA7*V52*CA*0*10*0*0*0*0 PA7*V52*DA*0*10*0*0*0*0 PA7*V52*DA*1*65535*0*0*0*0 PA7*V52*DA*2*65535*0*0*0*0 PA7*V52*DB*0*10*0*0*0*0 PA7*V52*DB*1*65535*0*0*0*0 PA7*V52*DB*2*65535*0*0*0*0 PA1*V53*10 PA2*1199**1199 PA3*16**16 PA4*0**0 SA1*V53*0****000000000000 PA7*V53*CA*0*10*0*0*0*0 PA7*V53*DA*0*10*0*0*0*0 PA7*V53*DA*1*65535*0*0*0*0 PA7*V53*DA*2*65535*0*0*0*0 PA7*V53*DB*0*10*0*0*0*0 PA7*V53*DB*1*65535*0*0*0*0 PA7*V53*DB*2*65535*0*0*0*0 PA1*V54*10 PA2*1231**1231 PA3*26**26 PA4*0**0 SA1*V54*0****000000000000 PA7*V54*CA*0*10*0*0*0*0 PA7*V54*DA*0*10*0*0*0*0 PA7*V54*DA*1*65535*0*0*0*0 (continues on next page)

3.6. Instalações 235 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) PA7*V54*DA*2*65535*0*0*0*0 PA7*V54*DB*0*10*0*0*0*0 PA7*V54*DB*1*65535*0*0*0*0 PA7*V54*DB*2*65535*0*0*0*0 PA1*V55*10 PA2*1346**1346 PA3*16**16 PA4*0**0 SA1*V55*0****000000000000 PA7*V55*CA*0*10*0*0*0*0 PA7*V55*DA*0*10*0*0*0*0 PA7*V55*DA*1*65535*0*0*0*0 PA7*V55*DA*2*65535*0*0*0*0 PA7*V55*DB*0*10*0*0*0*0 PA7*V55*DB*1*65535*0*0*0*0 PA7*V55*DB*2*65535*0*0*0*0 PA1*V56*10 PA2*1808**1808 PA3*21**21 PA4*0**0 SA1*V56*0****000000000000 PA7*V56*CA*0*10*0*0*0*0 PA7*V56*DA*0*10*0*0*0*0 PA7*V56*DA*1*65535*0*0*0*0 PA7*V56*DA*2*65535*0*0*0*0 PA7*V56*DB*0*10*0*0*0*0 PA7*V56*DB*1*65535*0*0*0*0 PA7*V56*DB*2*65535*0*0*0*0 PA1*V57*10 PA2*1739**1739 PA3*16**16 PA4*0**0 SA1*V57*0****000000000000 PA7*V57*CA*0*10*0*0*0*0 PA7*V57*DA*0*10*0*0*0*0 PA7*V57*DA*1*65535*0*0*0*0 PA7*V57*DA*2*65535*0*0*0*0 PA7*V57*DB*0*10*0*0*0*0 PA7*V57*DB*1*65535*0*0*0*0 PA7*V57*DB*2*65535*0*0*0*0 PA1*V58*10 PA2*1435**1435 PA3*18**18 PA4*0**0 SA1*V58*0****000000000000 PA7*V58*CA*0*10*0*0*0*0 PA7*V58*DA*0*10*0*0*0*0 PA7*V58*DA*1*65535*0*0*0*0 PA7*V58*DA*2*65535*0*0*0*0 PA7*V58*DB*0*10*0*0*0*0 PA7*V58*DB*1*65535*0*0*0*0 PA7*V58*DB*2*65535*0*0*0*0 SA1*BOX1 *0****000000000000 SA1*BOX2 *0****000000000000 SA1*BOX3 *0****000000000000 SA1*BOX4 *0****000000000000 SA1*BOX5 *0****000000000000 (continues on next page)

236 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) SA1*BOX6 *0****000000000000 SA1*BOX7 *0****000000000000 SA1*BOX8 * SA1*GRAINS*0*000000000000 SA1*CUP*0*000000000000 VA1*19653850*131315*2876634*131315 VA2**4161**4161 VA3**1261*0*1261 G85*AEAC SE*710*0001 DXE*1*1

Erros

status descrição response body 404 máquina/instalação/auditoria não encontrada { “status”: “404”, “error”: “Not Found” }

Ver última auditoria

Mostra última auditoria de uma máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/last_audit

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 725186, "occurred_at":"2016-04-25T11:50:27.000-03:00", "total_vends_value": 55, "total_vends_quantity": 500, "planogram_items":[ { "locator":"10", "total_vends_value":0, "total_vends_quantity":0 (continues on next page)

3.6. Instalações 237 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "locator":"11", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"12", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"13", "total_vends_value": 0.1, "total_vends_quantity":0 }, { "locator":"14", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"15", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"16", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"17", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"18", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"19", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"20", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"21", "total_vends_value":0, "total_vends_quantity":0 }, { (continues on next page)

238 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "locator":"22", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"23", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"24", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"25", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"26", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"27", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"28", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"29", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"30", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"31", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"32", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"33", "total_vends_value":0, (continues on next page)

3.6. Instalações 239 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "total_vends_quantity":0 }, { "locator":"34", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"35", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"36", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"37", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"38", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"39", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"40", "total_vends_value": 7.8, "total_vends_quantity": 59 }, { "locator":"41", "total_vends_value": 6.8, "total_vends_quantity": 68 }, { "locator":"42", "total_vends_value": 6.5, "total_vends_quantity": 65 }, { "locator":"43", "total_vends_value": 5.9, "total_vends_quantity": 58 }, { "locator":"44", "total_vends_value":7, "total_vends_quantity": 70 }, (continues on next page)

240 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) { "locator":"45", "total_vends_value": 7.6, "total_vends_quantity": 76 }, { "locator":"46", "total_vends_value": 5.3, "total_vends_quantity": 51 }, { "locator":"47", "total_vends_value": 6.5, "total_vends_quantity": 38 }, { "locator":"48", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"49", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"50", "total_vends_value": 0.1, "total_vends_quantity":1 }, { "locator":"51", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"52", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"53", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"54", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"55", "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"56", (continues on next page)

3.6. Instalações 241 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "total_vends_value": 0.2, "total_vends_quantity":2 }, { "locator":"57", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"58", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"59", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"60", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"61", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"62", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"63", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"64", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"65", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"66", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"67", "total_vends_value":0, "total_vends_quantity":0 (continues on next page)

242 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "locator":"68", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"69", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"70", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"71", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"72", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"73", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"74", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"75", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"76", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"77", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"78", "total_vends_value":0, "total_vends_quantity":0 }, { (continues on next page)

3.6. Instalações 243 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "locator":"79", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"80", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"81", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"82", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"83", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"84", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"85", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"86", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"87", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"88", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"89", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"90", "total_vends_value":0, (continues on next page)

244 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "total_vends_quantity":0 }, { "locator":"91", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"92", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"93", "total_vends_value":0, "total_vends_quantity":0 }, { "locator":"94", "total_vends_value":0, "total_vends_quantity":0 } ] }

Erros

status descrição response body 404 máquina/instalação/auditoria não encontrada { “status”: “404”, “error”: “Not Found” }

Comandos remotos

Listar

Lista os últimos 10 comandos remotos de determinada máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/remote_commands

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

3.6. Instalações 245 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 6127, "created_at":"2016-07-22T13:42:51.000-03:00", "kind":"audit", "user_input": null, "status":"success" }, { "id": 5117, "created_at":"2016-06-27T15:44:16.000-03:00", "kind":"audit", "user_input": null, "status":"success" }, { "id": 5038, "created_at":"2016-06-24T15:48:45.000-03:00", "kind":"credit", "user_input": 10.0, "status":"success" }, { "id": 4970, "created_at":"2016-06-23T15:01:10.000-03:00", "kind":"restart_vm", "user_input": null, "status":"success" }, { "id": 4629, "created_at":"2016-06-15T15:31:52.000-03:00", "kind":"audit", "user_input": null, "status":"error" }, { "id": 4535, "created_at":"2016-06-13T14:55:38.000-03:00", "kind":"audit", "user_input": null, "status":"success" }, { "id": 4385, "created_at":"2016-06-08T16:09:28.000-03:00", "kind":"restart_vm", "user_input": null, "status":"success" (continues on next page)

246 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "id": 4313, "created_at":"2016-06-06T10:03:50.000-03:00", "kind":"audit", "user_input": null, "status":"success" }, { "id": 4312, "created_at":"2016-06-06T09:51:27.000-03:00", "kind":"audit", "user_input": null, "status":"success" }, { "id": 4311, "created_at":"2016-06-06T09:49:56.000-03:00", "kind":"audit", "user_input": null, "status":"error" } ]

Ver

Mostra determinado comando remoto enviado a uma máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/remote_commands/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id do comando remoto sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 4312, "created_at":"2016-07-28T010:34:31.000-03:00", "kind":"audit", "user_input": null, (continues on next page)

3.6. Instalações 247 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "status":"success" }

Campos

• id: id do comando. • created_at: data de criação do comando. • kind: tipo do comando. – Valores permitidos: audit (Auditar), restart_vm (Reiniciar) ou credit (Dar crédito). • user_input: parâmetros do comando. Atualmente só é utilizado se o kind for credit. Nesse caso, indica o valor o crédito concedido. • status: o estado do comando. Pode ser: in_queue (aguardando execução na fila), success ( executado com sucesso) ou error (executado com erro).

Erros

status descrição response body 404 máquina/instalação/comando remoto não encontrado { “status”: “404”, “error”: “Not Found” }

Criar

Envia um comando para execução remota.

POST/api/v1/machines/[machine_id]/installations/[installation_id]/remote_commands

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Request:

{ "remote_command":{ "kind":"credit", "user_input": 5.0 } }

248 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Campos

Obrigatórios

• remote_command – kind: tipo do comando.

* Valores permitidos: audit (Auditar), restart_vm (Reiniciar) ou credit (Dar crédito). – user_input: parâmetros do comando. Atualmente só é obrigatório se o kind for credit. Nesse caso, indica o valor o crédito concedido.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 7890, "created_at":"2016-06-06T09:51:27.000-03:00", "kind":"credit", "user_input": 5.0 "status":"in_queue" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 máquina/instalação não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "kind":[ "não pode ficar em branco" ] }

Ajustes de inventário

Listar

Lista os ajustes de invnetário de determinada máquina e instalação.

3.6. Instalações 249 Documentação da API do VMpay, Release 1.0.0

GET/api/v1/machines/[machine_id]/installations/[installation_id]/inventory_

˓→adjustments

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. • start_date: a data de início dos ajustes. – Se passado, a consulta retorna somente os ajustes ocorridos a partir desta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • end_date: a data final dos ajustes. – Se passado, a consulta retorna somente os ajustes ocorridos até esta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request).

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 12314, "created_at":"2018-05-14T19:41:41.000Z", "planogram_id": 12332, "kind":"restock", "event_id": 33365598, "user_id": null, "occurred_at":"2017-11-06T13:15:37.000Z", (continues on next page)

250 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "items":[ { "id": 332154, "created_at":"2018-05-14T19:41:42.000Z", "added":1, "removed": null, "observed": null, "balance_before":0, "balance_after":1, "final_balance_before": 2486, "final_balance_after": 2487, "planogram_item":{ "id": 1613467, "created_at":"2017-08-28T18:41:20.000Z", "name":"PRODUTO 1", "capacity": 2600.0, "par_level": 2600.0, "good":{ "id": 10324, "created_at":"2017-02-08T13:12:26.000Z", "name":"PRODUTO 1", "unit":{ "id":1, "fractionable": false, "name":"unit", "conversion_factor":1 } } } }, { "id": 112457, "created_at":"2018-05-14T19:41:42.000Z", "added":1, "removed": null, "observed": null, "balance_before":0, "balance_after":1, "final_balance_before": 2122, "final_balance_after": 2123, "planogram_item":{ "id": 1613468, "created_at":"2017-08-28T18:41:20.000Z", "name":"PRODUTO 2", "capacity": 3500.0, "par_level": 3500.0, "good":{ "id": 10322, "created_at":"2017-02-08T13:11:53.000Z", "name":"PRODUTO 2", "unit":{ "id":1, "fractionable": false, "name":"unit", "conversion_factor":1 } } (continues on next page)

3.6. Instalações 251 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) } } ] }, { "id": 104623, "created_at":"2017-10-31T17:13:31.000Z", "planogram_id": 12332, "kind":"now", "event_id": 381428824, "user_id": 472, "occurred_at":"2017-10-31T16:06:26.000Z", "items":[ { "id": 859931, "created_at":"2017-10-31T17:13:31.000Z", "added": null, "removed": null, "observed": 200, "balance_before": 990, "balance_after": 200, "final_balance_before": 990, "final_balance_after": 200, "planogram_item":{ "id": 1613471, "created_at":"2017-08-28T18:41:20.000Z", "name":"PRODUTO 3", "capacity": 1300.0, "par_level": 1300.0, "good":{ "id": 10319, "created_at":"2017-02-08T12:31:44.000Z", "updated_at":"2017-02-13T16:23:30.000Z", "name":"PRODUTO 3", "unit":{ "id":1, "fractionable": false, "name":"unit", "conversion_factor":1 } } } } ] } ]

Ver

Mostra determinado ajuste de inventário de uma máquina e instalação.

GET/api/v1/machines/[machine_id]/installations/[installation_id]/inventory_

˓→adjustments/[id]

252 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim id id ajuste de inventário sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 104623, "created_at":"2017-10-31T17:13:31.000Z", "planogram_id": 12332, "kind":"restock", "event_id": 381428824, "user_id": 472, "occurred_at":"2017-10-31T16:06:26.000Z", "items":[ { "id": 859931, "created_at":"2017-10-31T17:13:31.000Z", "added": null, "removed": null, "observed": 200, "balance_before": 990, "balance_after": 200, "final_balance_before": 990, "final_balance_after": 200, "planogram_item":{ "id": 1613471, "created_at":"2017-08-28T18:41:20.000Z", "name":"PRODUTO 3", "capacity": 1300.0, "par_level": 1300.0, "good":{ "id": 10319, "created_at":"2017-02-08T12:31:44.000Z", "updated_at":"2017-02-13T16:23:30.000Z", "name":"PRODUTO 3", "unit":{ "id":1, "fractionable": false, "name":"unit", "conversion_factor":1 } } } } (continues on next page)

3.6. Instalações 253 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) ] }

Campos

• id: id do ajuste. • created_at: data de criação do ajuste. • planogram_id: id do planograma. • kind: tipo do ajuste. – Valores permitidos:

* initial (quando ainda não existe nenhum reabastecimento) * restock (ajuste feito sobre o último reabastecimento) * date (baseado na data informada) * now (ajuste imediato) • event_id: id do evento. • user_id: id do usuário. • occurred_at: data de ocorrência do ajuste. • items: lista de itens do ajuste. – id: id do item – created_at: data de criação do item – added: quantidade adicionada – removed: quantidade removida – observed: quantidade observada – balance_before: balanço anterior – balance_after: balanço posterior – final_balance_before: balanço anterior final – final_balance_after: balanço posterior final – planogram_item: item do planograma

* id: id do item de planograma * created_at: data de criação do item de planograma * name: descrição do item do planograma * capacity: capacidade * par_level: nível de par * good: produto associado ao item do planograma · id: id do produto · created_at: data de criação do produto

254 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

· updated_at: data de alteração do produto · name: descrição do produto · unit: unidade do produto

Erros

status descrição response body 404 máquina/instalação/ajuste de inventário não encontrado { “status”: “404”, “error”: “Not Found” }

Criar

Cria um ajuste de inventário.

POST/api/v1/machines/[machine_id]/installations/[installation_id]/inventory_

˓→adjustments

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Request:

{ "inventory_adjustment":{ "planogram_id": 12332, "kind":"restock", "occurred_at":"2017-11-06 11:15:37 -0200", "items_attributes": [{ "planogram_item_id": 1613467, "balance_before":0, "added":"1", "removed":"", "observed":"" }, { "planogram_item_id": 1613468, "balance_before":0, "added":"1", "removed":"", "observed":"" }] } }

Campos

3.6. Instalações 255 Documentação da API do VMpay, Release 1.0.0

Obrigatórios

• inventory_adjustment – planogram_id: id do planograma. – kind: tipo do ajuste.

* Valores permitidos: · initial (ajuste efetuado em uma nova instalação, sem reabastecimento prévio efetuado) · restock (ajuste feito sobre o último reabastecimento) · now (ajuste imediato) – occurred_at: data de ocorrência do ajuste. – items_attributes: lista com os dados dos itens de planograma

* planogram_item_id: id do item de planograma. * balance_before: balanço anterior. * added: quantidade adicionada. * removed: quantidade removida. * observed: quantidade observada.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 104623, "created_at":"2017-10-31T17:13:31.000Z", "planogram_id": 12332, "kind":"restock", "event_id": 381428824, "user_id": 472, "occurred_at":"2017-10-31T16:06:26.000Z", "items":[ { "id": 859931, "created_at":"2017-10-31T17:13:31.000Z", "added": null, "removed": null, "observed": 200, "balance_before": 990, "balance_after": 200, "final_balance_before": 990, "final_balance_after": 200, "planogram_item":{ "id": 1613471, "created_at":"2017-08-28T18:41:20.000Z", (continues on next page)

256 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "name":"PRODUTO 3", "capacity": 1300.0, "par_level": 1300.0, "good":{ "id": 10319, "created_at":"2017-02-08T12:31:44.000Z", "updated_at":"2017-02-13T16:23:30.000Z", "name":"PRODUTO 3", "unit":{ "id":1, "fractionable": false, "name":"unit", "conversion_factor":1 } } } } ] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 máquina/instalação não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar:

{ "items.balance_after":[ "deve ser maior ou igual a 0" ], "items.final_balance_after":[ "deve ser maior ou igual a 0" ], "base":[ "Instalação não possui reabastecimento para ser ajustado" ] }

Transações cashless externas

Criar

Cria uma transação cashless externa.

POST/api/v1/machines/[machine_id]/installations/[installation_id]/external_efts

3.6. Instalações 257 Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim installation_id id da instalação sim

Request:

{ "items":[ { "physical_locator":"10", "value": 5.00, "quantity":1 }, { "physical_locator":"11", "value": 4.50, "quantity":2 } ], "payment":{ "success": true, "request_number":"123456789", "eft_provider_id": 123, "eft_authorizer_id": 123, "eft_card_brand_id": 123, "eft_card_type_id": 123, "masked_card_number":"123456 ******6789", "cpf":"12345678901", "cancel_code":"A01", "cancel_reason":"Motivo da falha" } }

Campos

• items: os itens da transação. – physical_locator: o número do item no planograma. É o identificador físico do item. – value: o valor total do item. – quantity: a quantidade vendida. Se não for informada, considera-se 1. • payment: os dados de pagamento. – success: se a transação foi bem-sucedida ou não. – request_number: o número da requisição. – eft_provider_id: o id do Provedor TEF. Se não informado, será considerado como indefinido. – eft_authorizer_id: o id do Adquirente TEF. Se não informado, será considerado como indefinido. – eft_card_brand_id: o id da Bandeira de Cartão. Se não informado, será considerado como indefinido. – eft_card_type_id: o id do Tipo de Cartão. Se não informado, será considerado como indefinido.

258 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

– masked_card_number: O número mascarado do cartão. – cpf : o CPF do comprador. Não é obrigatório. – cancel_code: o código do erro. Somente é considerado se success for false; caso contrário, é desconsid- erado. – cancel_reason: a descrição do erro. Somente é considerada se success for false; caso contrário, é descon- siderada.

Retorno

status descrição 201 Criado com sucesso

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 máquina/instalação não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "error":"Esta instalação não aceita transações cashless externas" }

3.7 Instalações Virtuais

Instalações Virtuais são as que não possuem uma vending machine e, por consequência, uma VMbox. Tais instalações são utilizadas em micro markets. Com exceção da criação e da atualização, pode-se utilizar também os serviços em Instalações para operar sobre estas instalações.

3.7.1 Listar

Lista as instalações virtuais de determinada máquina.

GET/api/v1/machines/[machine_id]/virtual_installations

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim

3.7. Instalações Virtuais 259 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 1234, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:56:34.000-03:00", "location_id": 56, "machine_id": 678, "equipment_id": 4321, "place":"Micro market", "notifications_enabled": true, "virtual_equipment": true, "issues_invoice": true, "enable_market_app": true, "enable_restricted_door_control": true, "enable_external_eft": true }, { "id": 1236, "created_at":"2020-10-20T12:34:56.000-03:00", "updated_at":"2020-10-20T12:56:34.000-03:00", "location_id": 2345, "machine_id": 8654, "equipment_id": 4389, "place":"Sala do mercado", "notifications_enabled": true, "virtual_equipment": true, "issues_invoice": false, "enable_market_app": true, "enable_restricted_door_control": false, "enable_external_eft": false } ]

3.7.2 Ver

Mostra determinada instalação de uma máquina.

GET/api/v1/machines/[machine_id]/virtual_installations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

260 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

• O campo issues_invoice indica se são emitidas NFCe depois da compra. Este campo só é retornado se o operator suportar a emissão. • O campo enable_market_app indica se esta instalação irá aparecer no app VMmarket. Este campo só é retornado se o operator estiver configurado. • O campo enable_restricted_door_control indica se esta instalação possui uma porta de controle de acesso a produtos restritos a maiores de idade e se o app VMmarket irá controlar a sua destrava. Este campo só é retornado se o operator estiver configurado. • O campo enable_external_eft indica se a API de Transações cashless externas está habilitada para esta insta- lação.

{ "id": 1234, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:56:34.000-03:00", "location_id": 56, "machine_id": 678, "equipment_id": 4321, "place":"Micro market", "notifications_enabled": true, "virtual_equipment": true, "issues_invoice": true, "enable_market_app": true, "enable_restricted_door_control": true, "enable_external_eft": true, "pending_planogram": null, "current_planogram":{ "id": 1235678, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:34:56.000-03:00", "due":"now", "started_at":"2020-10-19T12:34:56.000-03:00", "items":[ { "id": 346354, "type":"Coil", "name":"1", "good_id": 1234, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 5.0, "logical_locator":1, "physical_locators":[ "1" ], "current_balance": 15.0 }, { "id": 346355, "type":"Coil", (continues on next page)

3.7. Instalações Virtuais 261 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "name":"2", "good_id": 1237, "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 7.8, "logical_locator":2, "physical_locators":[ "2" ], "current_balance": 9.0 } ] } }

Erros

status descrição response body 404 máquina ou instalação não encontrada (vazio)

3.7.3 Criar

Cria uma nova instalação virtual em determinada máquina. Se a máquina já possuir uma instalação ativa (virtual ou não), a mesma é baixada automaticamente na data e hora atuais. A instalação criada torna-se a ativa.

POST/api/v1/machines/[machine_id]/virtual_installations

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim

Request:

{ "installation":{ "location_id": 56, "place":"Micro market", "notifications_enabled": true, "issues_invoice": true, "enable_market_app": true, "enable_restricted_door_control": true, "enable_external_eft": true, "planograms_attributes":[ { "items_attributes":[ { (continues on next page)

262 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "type":"Coil", "name":"1", "good_id": 1234, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 5.0, "logical_locator":1 }, { "type":"Coil", "name":"2", "good_id": 1237, "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 7.8, "logical_locator":2 } ] } ] } }

Campos

Obrigatórios

• installation – location_id: id do local. – equipment_id: id do equipamento. – notifications_enabled: enviar notificações? – planograms_attributes: os planogramas da instalação. Nesse caso, somente um planograma é preenchido: o inicial. Para detalhes, ver Instalações.

Opcionais

• installation – place: local interno. – issues_invoice: emitir NFCe?

* Valor será ignorado a menos que o operador tenha suporte à emissão de NFCe. – enable_market_app: Habilitar app market?

* Valor será ignorado a menos que o operador tenha suporte ao app market. – enable_restricted_door_control: Habilitar controle de porta 18+?

* Valor será ignorado a menos que o operador tenha suporte ao app market.

3.7. Instalações Virtuais 263 Documentação da API do VMpay, Release 1.0.0

– enable_external_eft: Habilitar TEF externo?

* Valor será ignorado a menos que o operador tenha suporte a esta funcionalidade.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 1234, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:56:34.000-03:00", "location_id": 56, "machine_id": 678, "equipment_id": 4321, "place":"Micro market", "notifications_enabled": true, "virtual_equipment": true, "issues_invoice": true, "enable_market_app": true, "enable_restricted_door_control": true, "enable_external_eft": true, "pending_planogram": null, "current_planogram":{ "id": 1235678, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:34:56.000-03:00", "due":"now", "started_at":"2020-10-19T12:34:56.000-03:00", "items":[ { "id": 346354, "type":"Coil", "name":"1", "good_id": 1234, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 5.0, "logical_locator":1, "physical_locators":[ "1" ], "current_balance": 15.0 }, { "id": 346355, "type":"Coil", "name":"2", "good_id": 1237, "capacity": 10, "par_level": 10, "alert_level":2, (continues on next page)

264 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "desired_price": 7.8, "logical_locator":2, "physical_locators":[ "2" ], "current_balance": 9.0 } ] } }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "location_id":[ "não pode ficar em branco" ] }

3.7.4 Atualizar

Atualiza uma instalação virtual de determinada máquina.

PATCH/api/v1/machines/[machine_id]/virtual_installations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

Request:

{ "installation":{ "location_id": 56, "place":"Micro market", "notifications_enabled": true, "issues_invoice": true, "enable_market_app": true, "enable_restricted_door_control": true, "enable_external_eft": true (continues on next page)

3.7. Instalações Virtuais 265 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) } }

Campos

Ao menos um campo interno a installation deve ser passado. Não é permitido atualizar um planograma ativo, somente cadastrar um outro planograma pendente. Para tanto, ver Planogramas.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 1234, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:56:34.000-03:00", "location_id": 56, "machine_id": 678, "equipment_id": 4321, "place":"Micro market", "notifications_enabled": true, "virtual_equipment": true, "issues_invoice": true, "enable_market_app": true, "enable_restricted_door_control": true, "enable_external_eft": true, "pending_planogram": null, "current_planogram":{ "id": 1235678, "created_at":"2020-10-19T12:34:56.000-03:00", "updated_at":"2020-10-19T12:34:56.000-03:00", "due":"now", "started_at":"2020-10-19T12:34:56.000-03:00", "items":[ { "id": 346354, "type":"Coil", "name":"1", "good_id": 1234, "capacity": 20, "par_level": 20, "alert_level":4, "desired_price": 5.0, "logical_locator":1, "physical_locators":[ "1" ], "current_balance": 15.0 (continues on next page)

266 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "id": 346355, "type":"Coil", "name":"2", "good_id": 1237, "capacity": 10, "par_level": 10, "alert_level":2, "desired_price": 7.8, "logical_locator":2, "physical_locators":[ "2" ], "current_balance": 9.0 } ] } }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 máquina ou instalação não encontrada (vazio) 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "location_id":[ "não é válido" ] }

3.7.5 Baixar

Baixa uma instalação virtual de determinada máquina.

DELETE/api/v1/machines/[machine_id]/virtual_installations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

3.7. Instalações Virtuais 267 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 401 não autorizado (vazio) 404 máquina ou instalação não encontrada (vazio)

3.7.6 Reabastecer manualmente

Efetua o reabastecimento da pick list atualmente pendente, caso exista e a operação seja permitida.

POST/api/v1/machines/[machine_id]/virtual_installations/[id]/restock

Parâmetros de URL

parâmetro descrição obrigatório machine_id id da máquina sim id id da instalação sim

Retorno

status descrição 200 Reabastecimento criado com sucesso 422 Não foi possível criar reabastecimento

3.8 Insumos

3.8.1 Listar

GET/api/v1/inputs

Retorno

status descrição 200 OK

Exemplo:

268 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

[ { "id": 3044, "created_at":"2016-01-20T16:27:55.000-02:00", "updated_at":"2016-01-20T16:27:55.000-02:00", "category_id": 470, "name":"Leite em pó", "unit":"gram", "external_id": null, "url":"http://vmpay.vertitecnologia.com.br/api/v1/inputs/3044" }, { "id": 3045, "created_at":"2016-01-20T16:28:04.000-02:00", "updated_at":"2016-01-20T16:28:04.000-02:00", "category_id": 470, "name":"Café em pó", "unit":"gram", "external_id": null, "packing":{ "id":2, "name":"Pacote 1kg", "quantity":1000 }, "url":"http://vmpay.vertitecnologia.com.br/api/v1/inputs/3045" } ]

3.8.2 Ver

GET/api/v1/inputs/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do insumo sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 3044, "created_at":"2016-01-20T16:27:55.000-02:00", "updated_at":"2016-01-20T16:27:55.000-02:00", "category_id": 470, "name":"Leite em pó", (continues on next page)

3.8. Insumos 269 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "unit":"gram", "external_id": null, "url":"http://vmpay.vertitecnologia.com.br/api/v1/inputs/3044" }

Erros

status descrição response body 404 insumo não encontrado { “status”: “404”, “error”: “Not Found” }

3.8.3 Criar

POST/api/v1/inputs

Request:

{ "input":{ "category_id": 11, "name":"Leite em pó", "unit":"gram", "external_id":'qwe123', "good_packing_attributes":{ "packing_id":2 } } }

Campos

Obrigatórios

• input – category_id: id da categoria. – name: Nome do insumo. – unit: A unidade de medida do insumo.

* Valores permitidos: default (Unidade), milliliter (Mililitro) e gram (Grama).

Opcionais

• input – external_id: identificador externo do insumo. – good_packing_attributes: Array com atributos do packing associado

* packing_id: Id do packing associado ao insumo. É necessário que o packing tenha a mesma unidade de medida do insumo, caso contrário ele é ignorado.

270 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 2829, "created_at":"2016-02-16T08:53:54.731-02:00", "updated_at":"2016-02-16T08:53:54.731-02:00", "category_id": 11, "name":"Leite em pó", "unit":"gram", "external_id":'qwe123', "packing":{ "id":2, "name":"Pacote 1kg", "quantity":1000 }, "url":"http://localhost:4000/api/v1/inputs/2829" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "já está em uso" ] }

3.8.4 Atualizar

PATCH/api/v1/inputs/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do insumo sim

Request:

3.8. Insumos 271 Documentação da API do VMpay, Release 1.0.0

{ "input":{ "name":"Novo nome" } }

Campos

Ao menos um campo interno a input deve ser passado. Caso se deseje remover o packing, deve-se adicionar o atributo _destroy com valor true à chamada como no exemplo abaixo: Exemplo exclusão de packing:

{ "input":{ "name":"Novo nome", "good_packing_attributes":{ "id":2, "_destroy": true } } }

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 2829, "created_at":"2016-02-16T08:53:54.000-02:00", "updated_at":"2016-02-16T08:59:35.600-02:00", "category_id": 11, "name":"Novo nome", "unit":"gram", "external_id": null, "packing":{ "id":2, "name":"Pacote 1kg", "quantity":1000 }, "url":"http://localhost:4000/api/v1/inputs/2829" }

272 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 insumo não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "name":[ "não pode ficar em branco" ] }

3.8.5 Excluir

DELETE/api/v1/inputs/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do insumo sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 insumo não encontrado { “status”: “404”, “error”: “Not Found” }

3.9 Locais

3.9.1 Listar

GET/api/v1/locations

3.9. Locais 273 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 28, "client_id": 21, "name":"Lorem Ipsum", "phone":"41-3114-7080", "street":"Rodovia BR-277", "number":"1", "complement": null, "neighborhood":"São Sebastião", "city":"São José dos Pinhais", "country":"BR", "state":"PR", "zip_code":"696969" }, { "id": 34, "client_id": 24, "name":"Dolor sit", "phone":"41-31147080", "street":"Rua Engenheiro João Bley Filho", "number":"560", "complement":"Barracão 04 Fundos", "neighborhood":"Pinheirinho", "city":"Curitiba", "country":"BR", "state":"PR", "zip_code":"81870370" }, { "id": 36, "client_id": 25, "name":"amet consectetur", "phone":"41-3315-1986", "street":"Rua Alferes Angelo Sampaio", "number":"1896", "complement": null, "neighborhood":"Batel", "city":"Curitiba", "country":"BR", "state":"PR", "zip_code":"80420160" } ]

274 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.9.2 Ver

GET/api/v1/locations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do local sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 28, "client_id": 21, "name":"Lorem Ipsum", "phone":"41-3114-7080", "street":"Rodovia BR-277", "number":"1", "complement": null, "neighborhood":"São Sebastião", "city":"São José dos Pinhais", "country":"BR", "state":"PR", "zip_code":"696969" }

Erros

status descrição response body 404 local não encontrado { “status”: “404”, “error”: “Not Found” }

3.9.3 Criar

POST/api/v1/locations

Request:

{ "location":{ "name":"Nome do local", "phone":"41-9999-8888", "street":"Rua das Flores", "number":"123", (continues on next page)

3.9. Locais 275 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "complement":"loja 1", "neighborhood":"Centro", "city":"Curitiba", "country":"BR", "state":"PR", "zip_code":"80140110" } }

Campos

Obrigatórios

• location – name: Nome do local. – state: Sigla de uma das UF do Brasil, em letras maiúsculas. Ex.: “PR”.

Opcionais

• location – client_id: id do cliente do qual esse local faz parte. – phone: telefone. – street: logradouro. – number: número. – complement: complemento. – neighborhood: bairro. – city: cidade. – country: o código do país. Se for inexistente ou vazio, será considerado como sendo “BR” (Brasil). Para uma lista de códigos de países, ver Códigos de países e estados/regiões. – state: estado/região. Para uma lista de códigos de estados/regiões, ver Códigos de países e estados/regiões. – zip_code: CEP.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 1393, "client_id": null, "name":"Nome do local", (continues on next page)

276 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "phone":"41-9999-8888", "street":"Rua das Flores", "number":"123", "complement":"loja 1", "neighborhood":"Centro", "city":"Curitiba", "country":"BR", "state":"PR", "zip_code":"80140110" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "não pode ficar em branco" ] }

3.9.4 Atualizar

PATCH/api/v1/locations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do local sim

Request:

{ "location":{ "name":"Novo nome" } }

Campos

Ao menos um campo interno a location deve ser passado.

3.9. Locais 277 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 28, "client_id": 21, "name":"Novo nome", "phone":"41-3114-7080", "street":"Rodovia BR-277", "number":"1", "complement": null, "neighborhood":"São Sebastião", "city":"São José dos Pinhais", "country":"BR", "state":"PR", "zip_code":"696969" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 local não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "name":[ "não pode ficar em branco" ] }

3.9.5 Excluir

DELETE/api/v1/locations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do local sim

278 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 local não encontrado { “status”: “404”, “error”: “Not Found” }

3.10 Máquinas

3.10.1 Listar

GET/api/v1/machines

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Datas devem ser passadas no formato ISO 8601. Este serviço suporta paginação. • asset_number: filtra máquinas pelo número de patrimônio.

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 42, "machine_model_id": 82, "asset_number":"M010 - 0037", "external_id": null, "distribution_center_id": 47, "installation":{ "id": 1106, "location_id": 1391, "machine_id": 42, "equipment_id": 999, "place":"the bad place", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "notifications_enabled": false } (continues on next page)

3.10. Máquinas 279 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "id": 222, "machine_model_id": 75, "asset_number":"M003 - 0009", "external_id": null, "distribution_center_id": 47 } ]

3.10.2 Ver

GET/api/v1/machines/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da máquina sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 42, "machine_model_id": 82, "asset_number":"M010 - 0037", "external_id": null, "distribution_center_id": 47, "installation":{ "id": 1106, "location_id": 1391, "machine_id": 42, "equipment_id": 999, "place":"the bad place", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "notifications_enabled": false } }

Erros

status descrição response body 404 máquina não encontrada { “status”: “404”, “error”: “Not Found” }

280 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.10.3 Criar

POST/api/v1/machines

Request:

{ "machine":{ "asset_number":"01234", "machine_model_id":"12", "external_id":'qwe123' } }

Campos

Obrigatórios

• machine – asset number: número de patrimônio. – machine_model_id: id do modelo da máquina.

Opcionais

• machine – external_id: identificador externo da máquina.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 614, "machine_model_id": 12, "asset_number":"01234", "external_id":'qwe123' }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

3.10. Máquinas 281 Documentação da API do VMpay, Release 1.0.0

422 - erro ao criar

{ "machine_model_id":[ "não pode ficar em branco" ], "asset_number":[ "já está em uso" ] }

3.10.4 Atualizar

PATCH/api/v1/machines/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da máquina sim

Request:

{ "machine":{ "asset_number":"998877" } }

Campos

Ao menos um campo interno a machine deve ser passado.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 612, "machine_model_id": 69, "asset_number":"998877", "external_id": null, "distribution_center_id": 47, "installation":{ "id": 1119, "location_id": 185, "machine_id": 612, (continues on next page)

282 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "equipment_id": 314, "place":"Recepção 2", "cash_mode":"cash_and_cashless", "restock_mode":"restock_and_cash_collect", "notifications_enabled": false } }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 máquina não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "asset_number":[ "não pode ficar em branco" ] }

3.10.5 Excluir

DELETE/api/v1/machines/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da máquina sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 máquina não encontrada { “status”: “404”, “error”: “Not Found” }

3.10. Máquinas 283 Documentação da API do VMpay, Release 1.0.0

3.11 Operações Fiscais

3.11.1 Listar

GET/api/v1/tax_operations

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 78, "created_at":"2020-09-23T16:17:17.000Z", "updated_at":"2020-09-23T16:17:17.000Z", "name":"CFOP: 5102; CSOSN: 102", "cfop":"5102", "pis_cst":"01", "pis_aliquot": 0.65, "cofins_cst":"01", "cofins_aliquot": 3.00, "icms_cst":"00", "icms_aliquot": 18.00, "icms_reduction": 0.00, "benefit": null } ]

3.11.2 Ver

GET/api/v1/tax_operations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da operação fiscal sim

Retorno

status descrição 200 OK

Exemplo:

284 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

{ "id": 78, "created_at":"2020-09-23T16:17:17.000Z", "updated_at":"2020-09-23T16:17:17.000Z", "name":"CFOP: 5102; CSOSN: 102", "cfop":"5102", "pis_cst":"01", "pis_aliquot": 0.65, "cofins_cst":"01", "cofins_aliquot": 3.00, "icms_cst":"00", "icms_aliquot": 18.00, "icms_reduction": 0.00, "benefit": null }

Erros

status descrição response body 404 máquina não encontrada { “status”: “404”, “error”: “Not Found” }

3.11.3 Criar (caso esteja usando Simples Nacional)

POST/api/v1/tax_operations

Request:

{ "tax_operation":{ "name":"CFOP: 5102; CSOSN: 102", "cfop":"5102", "csosn":"102", "pis_cst":"01", "cofins_cst":"01" } }

Campos

Obrigatórios

• tax_operation – name: Nome da operação fiscal. – cfop: Código Fiscal da Operação, CFOP da operação válido para NFe. – csosn: Código de Situação da Operação do Simples Nacional.

3.11. Operações Fiscais 285 Documentação da API do VMpay, Release 1.0.0

Opcionais

• tax_operation – pis_cst: Código da situação tributário do PIS. – cofins_cst: Código da situação tributário do COFINS.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 82, "created_at":"2021-03-16T12:32:34.083Z", "updated_at":"2021-03-16T12:32:34.083Z", "name":"Operação Fiscal 1", "cfop":"5102", "csosn":"102" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "já está em uso" ], "cfop":[ "não pode ficar em branco" ], "csosn":[ "não pode ficar em branco" ] }

3.11.4 Criar (caso NÃO esteja usando Simples Nacional)

POST/api/v1/tax_operations

Request:

286 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

{ "tax_operation":{ "name":"teste 3", "cfop":"5102", "pis_cst":"01", "pis_aliquot": 0.65, "cofins_cst":"01", "cofins_aliquot": 3.0, "icms_cst":"00", "icms_aliquot": 18.0, "icms_reduction": 0.0, "benefit": null } }

Campos

Obrigatórios

• tax_operation – name: Nome da operação fiscal. – cfop: Código Fiscal da Operação, CFOP da operação válido para NFe. – pis_cst: Código da situação tributário do PIS. – pis_aliquot: Aliquota do PIS. – cofins_cst: Código da situação tributário do COFINS. – cofins_aliquot: Alíquota do COFINS. – icms_cst: Código da situação tributário do ICMS. – icms_aliquot: Alíquota do ICMS. – icms_reduction: Alíquota redução da base de cálculo do ICMS. – benefit: Código de Benefício Fiscal.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 82, "created_at":"2021-03-16T12:32:34.083Z", "updated_at":"2021-03-16T12:32:34.083Z", "name":"Operação Fiscal 1", "cfop":"5102", "pis_cst":"01", "pis_aliquot": 0.65, (continues on next page)

3.11. Operações Fiscais 287 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "cofins_cst":"01", "cofins_aliquot": 3.0, "icms_cst":"00", "icms_aliquot": 18.0, "icms_reduction": 0.0, "benefit": null }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "já está em uso" ], "icms_cst":[ "não pode ficar em branco" ], "pis_cst":[ "não pode ficar em branco" ], "cofins_cst":[ "não pode ficar em branco" ], "pis_aliquot":[ "não é válido", "não é um número" ], "cofins_aliquot":[ "não é válido", "não é um número" ], "icms_aliquot":[ "não é válido", "não é um número" ], "icms_reduction":[ "não é válido", "não é um número" ] }

3.11.5 Atualizar

PATCH/api/v1/tax_operations/[id]

288 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório id id da operação fiscal sim

Request:

{ "tax_operation":{ "name":"Operação Fiscal 1 - Alterado" } }

Campos

Ao menos um campo interno a tax_operation deve ser passado.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 82, "created_at":"2021-03-16T12:32:34.083Z", "updated_at":"2021-03-16T12:32:34.083Z", "name":"Operação Fiscal 1", "cfop":"5102", "pis_cst":"01", "pis_aliquot": 0.65, "cofins_cst":"01", "cofins_aliquot": 3.0, "icms_cst":"00", "icms_aliquot": 18.0, "icms_reduction": 0.0, "benefit": null }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 operação fiscal não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

3.11. Operações Fiscais 289 Documentação da API do VMpay, Release 1.0.0

{ "name":[ "não pode ficar em branco" ] }

3.11.6 Excluir

DELETE/api/v1/tax_operations/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da operação fiscal sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 operação fiscal não encontrada { “status”: “404”, “error”: “Not Found” }

3.12 Packings

3.12.1 Listar

GET/api/v1/packings

Retorno

status descrição 200 OK

Exemplo:

[ { "id":2, "created_at":"2018-08-08T14:22:34.000Z", (continues on next page)

290 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "updated_at":"2018-08-08T14:22:34.000Z", "name":"Caixa de Latas", "unit":"default", "quantity":12, "good_ids":[2,10352,17480,6423,11,6424,17481,17483,17479] }, { "id":22, "created_at":"2018-08-07T13:22:34.000Z", "updated_at":"2018-08-07T13:42:34.000Z", "name":"Pacote 1kg", "unit":"gram", "quantity":1000, "good_ids":[3,102,482,484,485,747] } ]

3.12.2 Ver

GET/api/v1/packings/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do packing sim

Retorno

status descrição 200 OK

Exemplo:

{ "id":2, "created_at":"2018-08-08T14:22:34.000Z", "updated_at":"2018-08-08T14:22:34.000Z", "name":"Caixa de Latas", "unit":"default", "quantity":12, "good_ids":[2,10352,17480,6423,11,6424,17481,17483,17479] }

Erros

status descrição response body 404 registro não encontrado {“error”:”Registro não encontrado”}

3.12. Packings 291 Documentação da API do VMpay, Release 1.0.0

3.12.3 Criar

POST/api/v1/packings

Request:

{ "packing":{ "name":"Pacote 2kg", "unit":"gram", "quantity":2000 } }

Campos

Obrigatórios

• packing – name: nome do packing. – unit: A unidade de medida do packing.

* Valores permitidos: default (Unidade), milliliter (Mililitro) e gram (Grama). – quantity: A quantidade em medidas de unit presente no packing.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id":23, "created_at":"2018-08-15T12:22:34.000Z", "updated_at":"2018-08-15T12:22:34.000Z", "name":"Pacote 2kg", "unit":"gram", "quantity":2000, }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

292 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

{ "unit":[ "não pode ficar em branco" ] }

3.12.4 Atualizar

PATCH/api/v1/packings/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do packing sim

Request:

{ "packing":{ "name":"Novo nome" } }

Campos

Ao menos um campo interno a packing deve ser passado.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id":23, "created_at":"2018-08-15T12:22:34.000Z", "updated_at":"2018-08-15T12:22:34.000Z", "name":"Novo nome", "unit":"gram", "quantity":2000, }

3.12. Packings 293 Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 registro não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "name":[ "é muito longo (máximo: 255 caracteres)" ] }

3.12.5 Excluir

DELETE/api/v1/packings/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do packing sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 registro não encontrado { “status”: “404”, “error”: “Not Found” }

3.13 Produtos

3.13.1 Listar

GET/api/v1/products

294 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 163, "created_at":"2014-10-17T14:50:15.000-03:00", "updated_at":"2014-10-17T14:50:15.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Ruffles 50 g", "upc_code":"91", "barcode":"1234567890", "external_id": null, "weight": null, "vendible_balance":-6.0, "cost_price": 1.23, "additional_barcodes": [], "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "url":"http://localhost:4000/api/v1/products/163", "inventories":[ { "distribution_center_id":1, "total_quantity":-16.0, "committed_quantity": 0.0 } ] }, { "id": 164, "created_at":"2014-10-17T14:50:50.000-03:00", "updated_at":"2014-10-17T14:50:50.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Doritos 55 g", "upc_code":"110", "barcode":"0987654321", "external_id": null, "weight": null, "vendible_balance":-6.0, "cost_price": null, "additional_barcodes":[ {"id": 123,"value":"10191817"}, {"id": 321,"value":"16151413"} ], (continues on next page)

3.13. Produtos 295 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "url":"http://localhost:4000/api/v1/products/164", "inventories": [] }, { "id": 165, "created_at":"2014-10-17T14:51:30.000-03:00", "updated_at":"2014-10-17T14:51:30.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Torcida Queijo 50 g", "upc_code":"93", "barcode": null, "external_id": null, "weight": null, "vendible_balance":-6.0, "cost_price": null, "additional_barcodes": [], "packing":{ "id":15, "name":"Caixa com 10 unidades", "quantity":10 }, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "url":"http://localhost:4000/api/v1/products/165", "inventories": [] } ]

3.13.2 Ver

GET/api/v1/products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Retorno

status descrição 200 OK

Exemplo:

296 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

{ "id": 163, "created_at":"2014-10-17T14:50:15.000-03:00", "updated_at":"2014-10-17T14:50:15.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Ruffles 50 g", "upc_code":"91", "barcode":"1234567890", "external_id": null, "weight": null, "vendible_balance":-6.0, "cost_price": 1.23, "additional_barcodes": [], "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "url":"http://localhost:4000/api/v1/products/163", "inventories": [] }

Erros

status descrição response body 404 produto não encontrado { “status”: “404”, “error”: “Not Found” }

3.13.3 Criar

POST/api/v1/products

Request:

{ "product":{ "type":"Product", "name":"Schweppes Citrus", "manufacturer_id": 56, "category_id": 21, "upc_code": 111, "barcode":"1234567891", "external_id":"123qwe", "weight": 123, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation_id": 78, "cost_price": 1.23, "additional_barcodes_attributes":[ {"value":"10191817"}, {"value":"16151413"} (continues on next page)

3.13. Produtos 297 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) ], "good_packing_attributes":{ "packing_id": 15 } } }

Campos

Obrigatórios

• product – name: nome do produto. – manufacturer_id: id do fabricante. – category_id: id da categoria.

Opcionais

• product – upc_code: código do produto. – barcode: código de barras do produto, a ser utilizado no micro market. – external_id: identificador externo do produto. – weight: peso do produto (em gramas) – cost_price: preço de custo – additional_barcodes_attributes: Array com códigos de barras adicionais.

* value: o código de barras. – good_packing_attributes: Array com atributos do packing associado.

* packing_id: Id do packing associado ao insumo. É necessário que o packing tenha “de- fault”(Unidade) como unidade de medida, caso contrário ele é ignorado. – ncm_code: código ncm do produto. – cest_code: código cest do produto. – tax_operation_id: id da operação fiscal. Retorno

Retorno

status descrição 201 Criado com sucesso

Exemplo:

298 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

{ "id": 2830, "created_at":"2016-02-16T10:20:11.018-02:00", "updated_at":"2016-02-16T10:20:11.018-02:00", "type":"Product", "manufacturer_id": 56, "category_id": 21, "name":"Schweppes Citrus", "upc_code":"111", "barcode":"1234567891", "external_id":"123qwe", "weight": 123, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "cost_price": 1.23, "additional_barcodes":[ {"id": 123,"value":"10191817"}, {"id": 321,"value":"16151413"} ], "packing":{ "id":15, "name":"Caixa com 10 unidades", "quantity":10 }, "url":"http://localhost:4000/api/v1/products/2830" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "já está em uso" ] }

3.13.4 Atualizar

PATCH/api/v1/products/[id]

3.13. Produtos 299 Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Request:

{ "product":{ "name":"Schweppes Guaraná" } }

Campos

Ao menos um campo interno a product deve ser passado. Caso se deseje remover um additional_barcode, deve-se adicionar o atributo _destroy com valor true à chamada como no exemplo abaixo:

{ "product":{ "name":"Schweppes Guaraná", "additional_barcodes_attributes":[ { "id": 123, "_destroy": true } ] } }

O mesmo vale para o packing:

{ "product":{ "name":"Schweppes Guaraná", "good_packing_attributes":{ "id": 15, "_destroy": true } } }

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

300 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

{ "id": 2830, "created_at":"2016-02-16T10:20:11.000-02:00", "updated_at":"2016-02-16T10:27:07.000-02:00", "type":"Product", "manufacturer_id": 56, "category_id": 21, "name":"Schweppes Guaraná", "upc_code":"111", "barcode":"1234567891", "external_id": null, "weight": null, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "cost_price": 1.23, "additional_barcodes":[ {"id": 123,"value":"10191817"}, {"id": 321,"value":"16151413"} ], "packing":{ "id":15, "name":"Caixa com 10 unidades", "quantity":10 }, "url":"http://localhost:4000/api/v1/products/2830" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 produto não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "name":[ "não pode ficar em branco" ] }

3.13.5 Excluir

DELETE/api/v1/products/[id]

3.13. Produtos 301 Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 produto não encontrado { “status”: “404”, “error”: “Not Found” }

3.13.6 API obsoleta

A API abaixo tornou-se obsoleta em favor de uma API mais simples, documentada acima. A API abaixo ainda funciona, mas o seu uso é desencorajado.

Listar (obsoleto)

GET/api/v1/vendibles

Ver (obsoleto)

GET/api/v1/vendibles/[id]

Criar (obsoleto)

POST/api/v1/vendibles

Request:

{ "vendible":{ "type":"Product", "name":"Vanilla Coke", "manufacturer_id": 56, "category_id": 21, "upc_code": 111 } }

302 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Campos

Obrigatórios

• vendible – name: nome do produto. – type: valor deve ser sempre Product. – manufacturer_id: id do fabricante. – category_id: id da categoria.

Opcionais

• vendible – upc_code: código do produto. – good_packing_attributes: Array com atributos do packing associado

* packing_id: Id do packing associado ao insumo. É necessário que o packing tenha “de- fault”(Unidade) como unidade de medida, caso contrário ele é ignorado.

Atualizar (obsoleto)

PATCH/api/v1/vendibles/[id]

Request:

{ "vendible":{ "name":"New Vanilla Coke", "manufacturer_id": 521 } }

Campos

Ao menos um campo interno a vendible deve ser passado. O parâmetro type é ignorado.

Excluir (obsoleto)

DELETE/api/v1/vendibles/[id]

3.13. Produtos 303 Documentação da API do VMpay, Release 1.0.0

3.14 Produtos compostos

3.14.1 Listar

GET/api/v1/compound_products

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 2928, "created_at":"2015-12-18T17:23:20.000-02:00", "updated_at":"2015-12-18T17:23:20.000-02:00", "type":"Combo", "category_id": 236, "name":"Nescau + Leite", "external_id":"qwe111", "cost_price": 1.23 }, { "id": 3046, "created_at":"2016-01-20T16:28:18.000-02:00", "updated_at":"2016-01-20T16:28:18.000-02:00", "type":"Mixture", "category_id": 471, "name":"Capuccino brasileiro", "external_id":"qwe222", "cost_price": null } ]

3.14.2 Ver

GET/api/v1/compound_products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto composto sim

304 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

{ "id": 3046, "created_at":"2016-01-20T16:28:18.000-02:00", "updated_at":"2016-01-20T16:28:18.000-02:00", "type":"Mixture", "category_id": 471, "name":"Capuccino brasileiro", "external_id":"qwe222", "cost_price": 1.23 }

Erros

status descrição response body 404 produto composto não encontrado { “status”: “404”, “error”: “Not Found” }

3.14.3 Criar

POST/api/v1/compound_products

Request:

{ "compound_product":{ "type":"Combo", "category_id": 12, "name":"Coca + Ruffles", "external_id":"qwe123", "cost_price": 1.23 } }

Campos

Obrigatórios

• compound_product – type: tipo do produto composto.

* Valores permitidos: Combo (combos) e Mixture (bebidas quentes). – category_id: id da categoria. – name: Nome do produto composto.

3.14. Produtos compostos 305 Documentação da API do VMpay, Release 1.0.0

Opcionais

• compound_product – cost_price: preço de custo – external_id: identificador externo do produto composto.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 2831, "created_at":"2016-02-16T11:19:06.003-02:00", "updated_at":"2016-02-16T11:19:06.003-02:00", "type":"Combo", "category_id": 12, "name":"Coca + Ruffles", "external_id":"qwe123", "cost_price": 1.23 }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "não pode ficar em branco" ] }

3.14.4 Atualizar

PATCH/api/v1/compound_products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto composto sim

306 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Request:

{ "compound_product":{ "name":"Novo nome" } }

Campos

Ao menos um campo interno a compound_product deve ser passado. Caso o parâmetro type seja passado, o mesmo é desconsiderado.

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 2831, "created_at":"2016-02-16T11:19:06.000-02:00", "updated_at":"2016-02-16T11:25:01.944-02:00", "type":"Combo", "category_id": 12, "name":"Novo produto composto", "external_id": null, "cost_price": 1.23 }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 produto composto não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "name":[ "já está em uso" ] }

3.14. Produtos compostos 307 Documentação da API do VMpay, Release 1.0.0

3.14.5 Excluir

DELETE/api/v1/compound_products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto composto sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 produto composto não encontrado { “status”: “404”, “error”: “Not Found” }

3.15 Produtos fracionáveis

3.15.1 Listar

GET/api/v1/fractionable_products

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 163, "created_at":"2014-10-17T14:50:15.000-03:00", "updated_at":"2014-10-17T14:50:15.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Iscas de frango", "upc_code":"00001", "barcode":"20000001", "external_id": null, (continues on next page)

308 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "weight": null, "cost_price": 1.23, "additional_barcodes": [], "unit":{ "id":2, "fractionable": true, "name":"gram", "conversion_factor": 1000 }, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "url":"http://localhost:4000/api/v1/fractionable_products/163" }, { "id": 164, "created_at":"2014-10-17T14:50:50.000-03:00", "updated_at":"2014-10-17T14:50:50.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Carne moída", "upc_code":"100", "barcode":"2000100", "external_id": null, "weight": null, "cost_price": null, "additional_barcodes":[ {"id": 123,"value":"2000101"}, {"id": 321,"value":"2000102"} ], "unit":{ "id":2, "fractionable": true, "name":"gram", "conversion_factor": 1000 }, "url":"http://localhost:4000/api/v1/fractionable_products/164" }, { "id": 165, "created_at":"2014-10-17T14:51:30.000-03:00", "updated_at":"2014-10-17T14:51:30.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Picanha premium", "upc_code":"00003", "barcode": 20000003, "external_id": null, "weight": null, "cost_price": null, "additional_barcodes": [], "unit":{ (continues on next page)

3.15. Produtos fracionáveis 309 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "id":2, "fractionable": true, "name":"gram", "conversion_factor": 1000 }, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "url":"http://localhost:4000/api/v1/fractionable_products/165" } ]

3.15.2 Ver

GET/api/v1/fractionable_products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 163, "created_at":"2014-10-17T14:50:15.000-03:00", "updated_at":"2014-10-17T14:50:15.000-03:00", "type":"Product", "manufacturer_id": 56, "category_id": 23, "name":"Iscas de frango", "upc_code":"00001", "barcode":"20000001", "external_id": null, "weight": null, "cost_price": 1.23, "additional_barcodes": [], "unit":{ "id":2, "fractionable": true, "name":"gram", (continues on next page)

310 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "conversion_factor": 1000 }, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "url":"http://localhost:4000/api/v1/fractionable_products/163" }

Erros

status descrição response body 404 produto não encontrado { “status”: “404”, “error”: “Not Found” }

3.15.3 Criar

POST/api/v1/fractionable_products

Request:

{ "product":{ "type":"Product", "name":"Coxão mole", "manufacturer_id": 56, "category_id": 21, "unit_id":2, "upc_code": 00005, "barcode":"20000005", "external_id":"123qwe", "weight": 123, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation_id": 78, "cost_price": 1.23, "additional_barcodes_attributes":[ {"value":"20000006"}, {"value":"20000007"} ] } }

Campos

Obrigatórios

• product – name: nome do produto.

3.15. Produtos fracionáveis 311 Documentação da API do VMpay, Release 1.0.0

– manufacturer_id: id do fabricante. – category_id: id da categoria. – unit_id: id da unidade de medida.

Opcionais

• product – upc_code: código do produto. – barcode: código de barras do produto, a ser utilizado no micro market. – external_id: identificador externo do produto. – weight: peso do produto (em gramas) – cost_price: preço de custo – additional_barcodes_attributes: Array com códigos de barras adicionais.

* value: o código de barras. – ncm_code: código ncm do produto. – cest_code: código cest do produto. – tax_operation_id: id da operação fiscal. Retorno

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 2830, "created_at":"2016-02-16T10:20:11.018-02:00", "updated_at":"2016-02-16T10:20:11.018-02:00", "type":"Product", "manufacturer_id": 56, "category_id": 21, "name":"Coxão mole", "upc_code":"00005", "barcode":"20000005", "external_id":"123qwe", "weight": 123, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "cost_price": 1.23, "additional_barcodes":[ (continues on next page)

312 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) {"id": 123,"value":"20000006"}, {"id": 321,"value":"20000007"} ], "unit":{ "id":2, "fractionable": true, "name":"gram", "conversion_factor": 1000 }, "url":"http://localhost:4000/api/v1/fractionable_products/2830" }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "já está em uso" ] }

{ "unit":[ "não é fracionável" ] }

3.15.4 Atualizar

PATCH/api/v1/fractionable_products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Request:

{ "product":{ "name":"Carne moída" } }

3.15. Produtos fracionáveis 313 Documentação da API do VMpay, Release 1.0.0

Campos

Ao menos um campo interno a product deve ser passado. Caso se deseje remover um additional_barcode, deve-se adicionar o atributo _destroy com valor true à chamada como no exemplo abaixo:

{ "product":{ "name":"Carne moída", "additional_barcodes_attributes":[ { "id": 123, "_destroy": true } ] } }

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 2830, "created_at":"2016-02-16T10:20:11.018-02:00", "updated_at":"2016-02-16T10:20:11.018-02:00", "type":"Product", "manufacturer_id": 56, "category_id": 21, "name":"Carne moída", "upc_code":"00005", "barcode":"20000005", "external_id":"123qwe", "weight": 123, "ncm_code":"21069090", "cest_code":"1234567", "tax_operation":{ "id": 78, "name":"CFOP: 5102; CSOSN: 102" }, "cost_price": 1.23, "additional_barcodes":[ {"id": 321,"value":"20000007"} ], "unit":{ "id":2, "fractionable": true, "name":"gram", "conversion_factor": 1000 }, "url":"http://localhost:4000/api/v1/fractionable_products/2830" }

314 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 401 não autorizado (vazio) 404 produto não encontrado { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "name":[ "não pode ficar em branco" ] }

3.15.5 Excluir

DELETE/api/v1/fractionable_products/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 404 produto não encontrado { “status”: “404”, “error”: “Not Found” }

3.16 Rotas

3.16.1 Listar

GET/api/v1/routes

3.16. Rotas 315 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

[ { "id":3, "name":"Rota 1" }, { "id":4, "name":"Rota 2" }, { "id":5, "name":"Rota 3" }, { "id":7, "name":"Rota 4" }, { "id": 10, "name":"Rota 5" } ]

3.16.2 Ver

GET/api/v1/routes/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da rota sim

Retorno

status descrição 200 OK

Exemplo:

{ "id":4, "name":"Rota 1", (continues on next page)

316 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "installation_ids":[23, 56, 66, 81, 99, 101] }

Erros

status descrição response body 404 rota não encontrada { “status”: “404”, “error”: “Not Found” }

3.16.3 Criar

POST/api/v1/routes

Request

{ "route":{ "name":"Rota 66", "installation_ids":[19, 22, 78, 79] } }

Campos

Obrigatórios

• route – name: nome da rota. – installation_ids: um array contendo os id’s das instalações que farão parte desta rota.

Opcionais

Nenhum.

Retorno

status descrição 201 criada com sucesso

Exemplo:

{ "id": 56, "name":"Rota 66", "installation_ids":[19, 22, 78, 79] }

3.16. Rotas 317 Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 422 erro ao criar ver exemplo abaixo

422 - erro ao criar

{ "name":[ "não pode ficar em branco" ] }

3.16.4 Atualizar

PATCH/api/v1/routes/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da rota sim

Request:

{ "route":{ "name":"Rota 1", "installation_ids":[23, 56, 66, 81, 101, 105, 111] } }

Campos

Obrigatórios

• route – name: nome da rota. – installation_ids: um array contendo os id’s das instalações que farão parte desta rota.

Opcionais

Nenhum.

318 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 atualizada com sucesso

Exemplo:

{ "id":4, "name":"Rota 1", "installation_ids":[23, 56, 66, 81, 101, 105, 111] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 rota não encontrada { “status”: “404”, “error”: “Not Found” } 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar:

{ "name":[ "não pode ficar em branco" ] }

3.16.5 Excluir

DELETE/api/v1/routes/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da rota sim

Retorno

status descrição response body 204 Excluída com sucesso (vazio)

3.16. Rotas 319 Documentação da API do VMpay, Release 1.0.0

Erros

status descrição response body 404 rota não encontrada { “status”: “404”, “error”: “Not Found” }

3.17 Visitas agendadas

3.17.1 Listar

GET/api/v1/scheduled_visits

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Datas devem ser passadas no formato yyyy-mm-dd. Este serviço suporta paginação. • start_date: filtra visitas agendadas a partir da data informada. • end_date: filtra visitas agendadas até a data informada.

Retorno

É retornado um JSON contendo um array. Cada elemento do array contém os seguintes campos: • id: o id da visita agendada • creator_id: o id do usuário que criou a visita • created_at: a data de criação da visita agendada, no formato ISO 8601 • updated_at: a data de atualização da visita agendada, no formato ISO 8601 • date: a data para a qual a visita foi agendada, no formato yyyy-mm-dd • completed_at: a data em que a visita foi liberada para o VMpay Visitor • vacant_amounts_required: se a visita exige preenchimento de espaços vazios • checkpoints: lista dos checkpoints da visita; cada elemento contém: – id: o id do checkpoint – installation_id: o id da instalação – pick_list_scheduled: se deve agendar a geração da pick list – pick_list_scheduled_at: data de agendamento da geração de pick list, no formato ISO 8601 – pick_list_generated: se o pick list já foi gerado ou não – restock: se deve efetuar reabastecimento na visita – cash_collect: se deve efetuar coleta na visita – only_visit: se não é necessário reabastecimento ou coleta na visita – pending_inventory_adjustment: se o ajuste de inventário está pendente

320 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

• scheduled_visit_routes: lista das rotas da visita; cada elemento contém: – id: o id da rota da visita – route_id: o id da rota Exemplo:

[ { "id": 13080, "creator_id": 84, "created_at":"2017-11-23T10:30:50.000-02:00", "updated_at":"2017-11-23T10:50:00.000-02:00", "date":"2017-11-24", "completed_at": null, "vacant_amounts_required": true, "checkpoints":[ { "id": 84652, "installation_id": 1982, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": false, "only_visit": true, "pending_inventory_adjustment": false }, { "id": 84640, "installation_id": 7687, "pick_list_scheduled": true, "pick_list_scheduled_at":"2017-11-24T12:00:00.000Z", "pick_list_generated": true, "restock": true, "cash_collect": false, "only_visit": false, "pending_inventory_adjustment": true } ], "scheduled_visit_routes":[ { "id": 16707, "route_id": 377 } ] }, { "id": 13074, "created_at":"2017-11-14T15:33:18.000-02:00", "updated_at":"2017-11-16T18:14:21.000-02:00", "date":"2017-12-17", "completed_at":"2017-11-14T15:56:25.000-02:00", "vacant_amounts_required": true, "checkpoints":[ { "id": 84638, "installation_id": 7690, (continues on next page)

3.17. Visitas agendadas 321 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": false }, { "id": 84639, "installation_id": 7688, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": true, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": true } ], "scheduled_visit_routes":[ { "id": 16707, "route_id": 377 } ] }, { "id": 13062, "created_at":"2017-11-12T15:33:18.000-02:00", "updated_at":"2017-11-14T18:14:21.000-02:00", "date":"2017-12-15", "completed_at":"2017-11-12T15:56:25.000-02:00", "vacant_amounts_required": true, "checkpoints":[ { "id": 84638, "installation_id": 7690, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": false, "only_visit": true, "pending_inventory_adjustment": false }, { "id": 84639, "installation_id": 7688, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": false, "only_visit": true, "pending_inventory_adjustment": true } (continues on next page)

322 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) ], "scheduled_visit_routes":[ { "id": 16707, "route_id": 377 } ] } ]

3.17.2 Ver

GET/api/v1/scheduled_visits/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da visita sim

Retorno

status descrição 200 OK

Exemplo:

{ "id": 13074, "creator_id": 84, "created_at":"2017-11-14T15:33:18.000-02:00", "updated_at":"2017-11-16T18:14:21.000-02:00", "date":"2017-12-17", "completed_at":"2017-11-14T15:56:25.000-02:00", "vacant_amounts_required": true, "checkpoints":[ { "id": 84638, "installation_id": 7690, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": true }, { "id": 84639, "installation_id": 7688, (continues on next page)

3.17. Visitas agendadas 323 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": true, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": false }, { "id": 84640, "installation_id": 7687, "pick_list_scheduled": true, "pick_list_scheduled_at":"2018-12-19T12:00:00.000Z", "pick_list_generated": false, "restock": false, "cash_collect": false, "only_visit": true, "pending_inventory_adjustment": true } ], "scheduled_visit_routes":[ { "id": 16707, "route_id": 377 } ] }

Erros

status descrição response body 404 visita não encontrada { “error”: “Registro não encontrado” }

3.17.3 Criar

POST/api/v1/scheduled_visits

Request:

{ "scheduled_visit":{ "vacant_amounts_required": true, "creator_id": 84, "date":"2017-12-18", "scheduled_visit_routes_attributes": [{ "route_id": 299 }], "checkpoints_attributes": [{ "installation_id": 7687, "restock": true, "cash_collect": false, "pick_list_scheduled": true, (continues on next page)

324 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "pick_list_scheduled_hour": 10, "pick_list_scheduled_minutes": 15 }, { "installation_id": 7690, "restock": false, "cash_collect": true }, { "installation_id": 7688, "restock": true, "cash_collect": true }, { "installation_id": 7687, "only_visit": true }] } }

Campos

Obrigatórios

• scheduled_visit – date: Data do agendamento.

Opcionais

• scheduled_visit – vacant_amounts_required: Se exige preenchimento de espaços vazios.

* Valores permitidos: true se exige o preenchimento ou false se não exige. – creator_id: Id do usuário que está criando. • scheduled_visit_routes_attributes: Array com atributos das rotas associadas – route_id: Id da rota associada ao agendamento • scheduled_visit_checkpoints: Array com atributos dos checkpoints associados ao agnedamento – installation_id: Id da instalação – restock: Se deve efetuar o reabastecimento na visita

* Valores permitidos: true para efetuar o reabastecimento ou false se não. – cash_collect: Se deve efetuar a coleta na visita

* Valores permitidos: true para efetuar a coleta ou false se não. – only_visit: Se não é necessário reabastecimento ou coleta na visita

* Valores permitidos: true para ignorar reabastecimento e coleta na visita ou false para levar em consideração os valores de reabastecimento e coleta – pick_list_scheduled: Se deve agendar a geração do pick list

* Valores permitidos: true para agendar a geração ou false se não.

3.17. Visitas agendadas 325 Documentação da API do VMpay, Release 1.0.0

– pick_list_scheduled_hour: hora(UTC) da geração da pick list caso seja agendada a data será a mesma do scheduled_visit.date

* Default 0 caso pick_list_scheduled seja true. – pick_list_scheduled_minutes: minutos da geração da pick list caso seja agendada a data será a mesma do scheduled_visit.date

* Default 0 caso pick_list_scheduled seja true.

Retorno

status descrição 201 Criado com sucesso

Exemplo:

{ "id": 13081, "created_at":"2017-11-23T11:01:24.000-02:00", "updated_at":"2017-11-23T11:01:24.000-02:00", "date":"2017-12-18", "completed_at": null, "vacant_amounts_required": true, "checkpoints":[ { "id": 84653, "installation_id": 7687, "pick_list_scheduled": true, "pick_list_scheduled_at":"2017-12-18T10:15:00.000Z", "pick_list_generated": true, "restock": true, "cash_collect": false, "only_visit": false, "pending_inventory_adjustment": true } { "id": 84654, "installation_id": 7690, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": false }, { "id": 84655, "installation_id": 7688, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": true, "cash_collect": true, "only_visit": false, (continues on next page)

326 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "pending_inventory_adjustment": true } ], "scheduled_visit_routes":[ { "id": 16707, "route_id": 377 } ] }

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” }

3.17.4 Atualizar

PATCH/api/v1/scheduled_visits/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da visita sim

Request:

{ "scheduled_visit":{ "vacant_amounts_required": false } }

Campos

Ao menos um campo interno a scheduled_visit deve ser passado. É possível passar valores referentes a rotas (scheduled_visit_routes_attributes) e também aos checkpoints (check- points_attributes) Exemplo atualização:

{ "scheduled_visit":{ "id:" 13081, "checkpoints_attributes": [{ "id": 84653, "cash_collect": true (continues on next page)

3.17. Visitas agendadas 327 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "id": 84654, "restock": false }, { "id": 84655, "only_visit": true }] } }

Caso se deseje remover uma rota, deve-se adicionar o atributo _destroy com valor true à chamada como no exemplo abaixo: Exemplo exclusão de rota:

{ "scheduled_visit":{ "id:" 13081, "scheduled_visit_routes_attributes": [{ "id": 4421, "_destroy": true }] } }

Da mesma forma, é possível remover checkpoints associados a visita passando o mesmo atributo _destroy aos atributos dos checkpoints Exemplo exclusão de checkpoint:

{ "scheduled_visit":{ "id:" 13081, "checkpoints_attributes": [{ "id": 84653, "_destroy": true }] } }

Retorno

status descrição 200 Atualizado com sucesso

Exemplo:

{ "id": 13081, "created_at":"2017-11-23T11:01:24.000-02:00", "updated_at":"2017-11-23T11:01:24.000-02:00", "date":"2017-12-18", "completed_at": null, "vacant_amounts_required": true, (continues on next page)

328 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "checkpoints":[ { "id": 84654, "installation_id": 7690, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": false, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": false }, { "id": 84655, "installation_id": 7688, "pick_list_scheduled": false, "pick_list_scheduled_at": null, "pick_list_generated": false, "restock": true, "cash_collect": true, "only_visit": false, "pending_inventory_adjustment": true } ] }

Erros

status descrição response body 404 visita não encontrada “error”: “Registro não encontrado” 422 erro ao atualizar ver exemplo abaixo

422 - erro ao atualizar

{ "error":"Não é possível atualizar uma visita concluída liberada." }

3.17.5 Excluir

DELETE/api/v1/scheduled_visits/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id da visita sim

3.17. Visitas agendadas 329 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição response body 204 Excluída com sucesso (vazio)

Erros

status descrição response body 404 visita não encontrada { “error”: “Registro não encontrado” } 422 erro ao excluir veja exemplo abaixo

422 - erro ao excluir

{ "error":"Não é possível excluir um agendamento já liberado." }

3.17.6 Liberar para o VMpay Visitor

PATCH/api/v1/scheduled_visits/[id]/complete

Parâmetros de URL:

parâmetro descrição obrigatório id id da visita sim

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

3.17.7 Desfazer liberação

É possível desfazer uma liberação de visita para o VMpay Visitor se a liberação ocorreu no último minuto, caso contrário não é mais possível desfazer uma liberação.

PATCH/api/v1/scheduled_visits/[id]/undo_complete

Parâmetros de URL:

parâmetro descrição obrigatório id id da visita sim

330 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição response body 204 Excluído com sucesso (vazio)

Erros

status descrição response body 422 não é possível desfazer a liberação {vazios}

3.18 Unidades de medida

3.18.1 Listar

GET/api/v1/units

Retorno

status descrição 200 OK

Exemplo:

[ { "id":2, "name":"gram", "fractionable": true, "conversion_factor": 1000 }, { "id":3, "name":"milliliter", "fractionable": true, "conversion_factor": 1000 }, { "id":1, "name":"unit", "fractionable": false, "conversion_factor":1 } ]

3.18. Unidades de medida 331 Documentação da API do VMpay, Release 1.0.0

3.18.2 Ver

GET/api/v1/units/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do produto sim

Retorno

status descrição 200 OK

Exemplo:

{ "id":1, "name":"unit", "fractionable": false, "conversion_factor":1 }

Erros

status descrição response body 404 produto não encontrado { “status”: “404”, “error”: “Not Found” }

3.19 Equipamentos

3.19.1 Listar

GET/api/v1/equipments

Filtros

Os parâmetros abaixo podem ser passados como uma query string. assigned: Retorna máquinas associadas, não associadas ou todas, dependendo do valor: • true: retorna somente os equipamentos associados a alguma instalação ativa • false: retorna somente os equipamento não associados a nenhuma das instalações ativas • não informado: retorna todos os equipamentos Exemplos:

332 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

GET /api/v1/equipments?assigned=true GET /api/v1/equipments?assigned=false GET /api/v1/equipments

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 258, "serial_number":"081875000007", "label_number":"0249", "point_of_sale": 50062, "assigned": true }, { "id": 257, "serial_number":"081875000012", "label_number":"0250", "point_of_sale": 50070, "assigned": true }, { "id": 259, "serial_number":"08187500000F", "label_number":"0251", "point_of_sale": null, "assigned": false } ]

3.19.2 Ver

GET/api/v1/equipments/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do equipamento sim

Retorno

status descrição 200 OK

3.19. Equipamentos 333 Documentação da API do VMpay, Release 1.0.0

Exemplo:

{ "id": 1294, "serial_number":"357176047267502", "label_number":"1253", "point_of_sale": null, "assigned": false }

Erros

status descrição response body 404 equipamento não encontrado { “status”: “404”, “error”: “Not Found” }

3.20 Fabricantes de máquina

3.20.1 Listar

GET/api/v1/machine_manufacturers

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "name":"Aequator" }, { "id":2, "name":"AMS" }, { "id":3, "name":"Bianchi" } ]

334 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.21 Modelos de máquina

3.21.1 Listar

GET/api/v1/machine_models

Retorno

status descrição 200 OK

Exemplo:

[ { "id": 69, "name":"Tower Nespresso", "status":"approved", "manufacturer_id":1, "machine_type_id":8 }, { "id": 70, "name":"AMS 35", "status":"approved", "manufacturer_id":2, "machine_type_id":1 }, { "id": 71, "name":"AMS 39", "status":"approved", "manufacturer_id":2, "machine_type_id":1 } ]

3.22 Tipos de máquina

3.22.1 Listar

GET/api/v1/machine_types

Retorno

status descrição 200 OK

3.21. Modelos de máquina 335 Documentação da API do VMpay, Release 1.0.0

Exemplo:

[ { "id":1, "name":"Bebidas e snacks" }, { "id":2, "name":"Combinada de bebidas frias/quentes e snacks" }, { "id":3, "name":"Teste" } ]

3.23 Centros de Distribuição

3.23.1 Listar

GET/api/v1/distribution_centers

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "name":"Padrão" } ]

3.24 Provedores de TEF

3.24.1 Listar

GET/api/v1/eft_providers

Retorno

status descrição 200 OK

336 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Exemplo:

[ { "id":3, "name":"Auttar" }, { "id":4, "name":"Indefinido" }, { "id":1, "name":"Pay\u0026Go" }, { "id":2, "name":"SiTef" } ]

3.25 Adquirentes de TEF

3.25.1 Listar

GET/api/v1/eft_authorizers

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "name":"Bin" }, { "id":2, "name":"Cielo" }, { "id":3, "name":"Elavon" }, { "id":7, "name":"Indefinido" }, { (continues on next page)

3.25. Adquirentes de TEF 337 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "id":4, "name":"Rede" }, { "id":5, "name":"Stone" }, { "id":6, "name":"Telenet" } ]

3.26 Cartões

3.26.1 Listar

GET/api/v1/eft_card_brands

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "name":"Alelo" }, { "id":2, "name":"Alelo Alimentação" }, { "id":3, "name":"Alelo Refeição" }, { "id":4, "name":"Amex" }, { "id":5, "name":"Cabal" }, { "id":6, "name":"Credsystem" (continues on next page)

338 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, { "id":7, "name":"Diners" }, { "id":8, "name":"Elo" }, { "id":9, "name":"Good Card Refeição" }, { "id":10, "name":"Greencard" }, { "id":11, "name":"Hipercard" }, { "id":24, "name":"Indefinido" }, { "id":12, "name":"Mastercard" }, { "id":13, "name":"Planvale" }, { "id":14, "name":"Sodexo Alimentação" }, { "id":15, "name":"Sodexo Refeição" }, { "id":16, "name":"Sorocred" }, { "id":17, "name":"Telenet" }, { "id":18, "name":"Ticket Alimentação" }, { "id":19, "name":"Ticket Refeição" }, (continues on next page)

3.26. Cartões 339 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) { "id":20, "name":"Verocheque" }, { "id":21, "name":"Visa" }, { "id":22, "name":"VR Alimentação" }, { "id":23, "name":"VR Refeição" } ]

3.27 Tipos de cartão

3.27.1 Listar

GET/api/v1/eft_card_types

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "name":"Crédito" }, { "id":2, "name":"Débito" }, { "id":4, "name":"Indefinido" }, { "id":3, "name":"Voucher" } ]

340 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.28 Autorizadores QRCode

3.28.1 Listar

GET/api/v1/payment_authorizers

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "name":"VMpay" }, { "id":2, "name":"PicPay" }, { "id":3, "name":"Mercado Pago" } ]

3.29 Alertas

3.29.1 Listar

GET/api/v1/alerts

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • client_id: o id do cliente dos alertas. – Se passado, a consulta retorna somente alertas ocorridos neste cliente. • location_id: o id do local dos alertas. – Se passado, a consulta retorna somente alertas ocorridos neste local. • machine_id: o id da máquina dos alertas. – Se passado, a consulta retorna somente alertas ocorridos nesta máquina.

3.28. Autorizadores QRCode 341 Documentação da API do VMpay, Release 1.0.0

• machine_manufacturer_id: o id do fabricante das máquinas dos alertas. – Se passado, a consulta retorna somente alertas ocorridos em máquinas deste fabricante. • installation_id: o id da instalação dos alertas. – Se passado, a consulta retorna somente alertas ocorridos nesta instalação.

Retorno

É retornado um JSON contendo um array com objetos que correspondem aos alertas. O array é ordenado por data e hora de alerta, da mais recente para a mais antiga. O campos de cada alerta são os seguintes: • occurred_at: a data e hora do alerta, no formato ISO 8601. • client_id: o id do cliente do alerta. • location_id: o id do local do alerta. • machine_id: o id da máquina do alerta. • installation_id: o id da instalação do alerta. • description: a descrição do alerta. • client: detalhes do cliente do alerta. • location: detalhes do local do alerta. • machine: detalhes da máquina do alerta. Segue um exemplo de retorno de consulta:

[ { "occurred_at":"2016-02-11T12:34:56.000-02:00", "client_id":1, "location_id":2, "machine_id":3, "installation_id":4, "description":"A comunicação falhou", "client":{ "name":"Client X" }, "location":{ "client_id":1, "name":"Location X" }, "machine":{ "machine_model_id":9, "asset_number":"123" } }, { "occurred_at":"2016-02-11T12:45:12.000-02:00", "client_id":1, "location_id":2, "machine_id":3, "installation_id":4, "description":"A comunicação foi restabelecida", "client":{ (continues on next page)

342 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "name":"Client X" }, "location":{ "client_id":1, "name":"Location X" }, "machine":{ "machine_model_id":9, "asset_number":"123" } } ]

3.30 Ativos

3.30.1 Listar

GET/api/v1/device_configs

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • location_id: o id do local dos ativos. – Se passado, a consulta retorna somente ativos deste local. • machine_id: o id da máquina dos ativos. – Se passado, a consulta retorna somente ativos desta máquina. • equipment_id: o id do equipamento dos ativos. – Se passado, a consulta retorna somente ativos relacionados a esse equipamento. • kind: o tipo do ativo. – Se passado, a consulta retorna somente ativos deste tipo. – Os valores aceitos são “coin”, “bill”, “pinpad”, “wifi” e “modem”, que correspondem a Moedeiro, Noteiro, Pinpad, Wi-Fi e Modem, respectivamente. Qualquer outro valor não surtirá efeito para filtragem. • serial_number: o número serial do ativo. – Se passado, a consulta retorna somente ativos com número serial semelhante a este. • model_number: o número do modelo do ativo. – Se passado, a consulta retorna somente ativos com número de modelo semelhante a este. • manufacturer: o fabricante do ativo. – Se passado, a consulta retorna somente ativos cujo fabricante é semelhante a este.

3.30. Ativos 343 Documentação da API do VMpay, Release 1.0.0

• active_installations_only: pode ser true ou false. Se for true, apenas os ativos de instalações ativas serão listadas; se for false, qualquer instalação é listada. – Caso não seja passado, é considerado true.

Retorno

É retornado um JSON contendo um array com objetos que correspondem aos ativos. O array é ordenado por nome do local em que se encontra a instalação cujo ativo está relacionado. O campos de cada ativo são os seguintes: • id: o id do ativo. • installation_id: o id da instalação do ativo. • location_id: o id do local do ativo. • machine_id: o id da máquina do ativo. • vmbox: o número de etiqueta e o número de série do equipamento. • kind: o tipo do ativo. • serial_number: o número serial do ativo. • model_number: o número do modelo do ativo. • manufacturer: o fabricante do ativo. • location: detalhes do local do ativo. • machine: detalhes da máquina do ativo. Segue um exemplo de retorno de consulta:

[ { "id":123489, "installation_id":4, "location_id":2, "machine_id":3, "vmbox":"0422 (70B3D5CB8047)", "kind":"pinpad", "serial_number":"7121641505007192", "model_number":"PPC920;10MB;UC", "manufacturer":null, "location":{ "client_id":1, "name":"Location X" }, "machine":{ "machine_model_id":9, "asset_number":"123" } }, { "id":123456, "installation_id":5, "location_id":3, "machine_id":4, "vmbox":"2001/01463 (70B3D5CB8285)", "kind":"bill", (continues on next page)

344 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "serial_number":"", "model_number":"", "manufacturer":"GERTEC" "location":{ "client_id":2703, "name":"Espaço de convivência" }, "machine":{ "machine_model_id":80, "asset_number":"0010" } } ]

3.31 Caixas

3.31.1 Listar

GET/api/v1/sessions

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • started_at_from: a data inicial de início dos caixas. – Se passado, a consulta retorna somente caixas cujas datas de início ocorreram a partir desta data e hora, inclusive.

* Se não passado, considera-se como sendo 7 dias atrás, às 00:00. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • started_at_to: a data final de início dos caixas. – Se passado, a consulta retorna somente caixas cujas datas de início ocorreram até esta data e hora, inclu- sive.

* Se não passado, considera-se como sendo hoje, às 23:59:59. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • ended_at_from: a data inicial de término dos caixas.

3.31. Caixas 345 Documentação da API do VMpay, Release 1.0.0

– Se passado, a consulta retorna somente caixas cujas datas de término ocorreram a partir desta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • ended_at_to: a data final de término dos caixas. – Se passado, a consulta retorna somente caixas cujas datas de término ocorreram até esta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • client_id: o id do cliente dos caixas. – Se passado, a consulta retorna somente caixas deste cliente. • location_id: o id do local dos caixas. – Se passado, a consulta retorna somente caixas deste local. • machine_id: o id da máquina dos caixas. – Se passado, a consulta retorna somente caixas desta máquina. • installation_id: o id da instalação dos caixas. – Se passado, a consulta retorna somente caixas desta instalação. • route_id: o id da rota dos caixas. – Se passado, a consulta retorna somente caixas cujas instalações pertencem a esta rota. • active_installations_only: pode ser true ou false. Se for true, apenas os caixas de instalações ativas serão listadas; se for false, qualquer instalação é listada. – Caso não seja passado, é considerado true. • status: pode ser open ou closed. Se for open, apenas os caixas abertos são listados; se for closed, somente caixas fechados são listados. – Caso não seja passado, qualquer caixa é listado.

Retorno

É retornado um JSON contendo um array com objetos que correspondem aos caixas. O array é ordenado por data e hora de início do caixa, da mais recente para a mais antiga. O campos de cada caixa são os seguintes: • id: o id do caixa. • started_at: a data e hora de início do caixa, no formato ISO 8601. • ended_at: a data e hora do término do caixa, no formato ISO 8601. • last_audit_began_at: a data e hora da última auditoria da instalação do caixa, no formato ISO 8601. • client_id: o id do cliente do caixa.

346 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

• location_id: o id do local do caixa. • machine_id: o id da máquina do caixa. • installation_id: o id da instalação do caixa. • cashbox_amount: o valor no cofre. • bill_validator_amount: o valor no noteiro. • collectible_amount: o valor a coletar. • changer_amount: o valor de giro de troco. • supplied_cash_amount: o valor de carga/retirada. • cashless_transaction_amount: o valor de transações cashless. • product_value_amount: o valor do total de vendas. • difference_amount: o valor da diferença no caixa. • total_in_coin_changer: o valor de troco no moedeiro. • total_in_bill_changer: o valor de troco no reciclador. • total_in_changer: o valor total de troco. • client: detalhes do cliente do caixa. • location: detalhes do local do caixa. • machine: detalhes da máquina do caixa. Segue um exemplo de retorno de consulta:

[ { "id":110408, "started_at":"2017-04-26T13:00:26.000-03:00", "ended_at":"2017-04-26T13:08:08.000-03:00", "last_audit_began_at":"2017-04-26T17:30:29.000Z", "client_id":949, "location_id":2325, "machine_id":1687, "installation_id":2865, "cashbox_amount":0.0, "bill_validator_amount":0.0, "collectible_amount":0.0, "changer_amount":0.0, "supplied_cash_amount":0.0, "cashless_transaction_amount":0.0, "product_value_amount":0.0, "difference_amount":0.0, "total_in_coin_changer":69.3, "total_in_bill_changer":0.0, "total_in_changer":69.3, "client":{ "name":"Cliente 1" }, "location":{ "client_id":949, "name":"Local 1" }, (continues on next page)

3.31. Caixas 347 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "machine":{ "machine_model_id":82, "asset_number":"1234" } }, { "id":110407, "started_at":"2017-04-26T12:53:44.000-03:00", "ended_at":null, "last_audit_began_at":"2017-04-26T17:30:29.000Z", "client_id":1047, "location_id":1216, "machine_id":335, "installation_id":561, "cashbox_amount":0.0, "bill_validator_amount":4.0, "collectible_amount":4.0, "changer_amount":0.0, "supplied_cash_amount":0.0, "cashless_transaction_amount":5.0, "product_value_amount":9.0, "difference_amount":0.0, "total_in_coin_changer":43.15, "total_in_bill_changer":0.0, "total_in_changer":43.15, "client":{ "name":"CLiente 1" }, "location":{ "client_id":1047, "name":"Local 2" }, "machine":{ "machine_model_id":81, "asset_number":"4321" } } ]

3.31.2 Ver

Mostra determinado caixa.

GET/api/v1/sessions/[session_id]

Parâmetros de URL:

parâmetro descrição obrigatório session_id id do caixa sim

348 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Os campos de rotorno são os mesmos da API de listagem (/api/v1/sessions) com a adição do campo sales. • sales: vendas que ocorreram enquanto o caixa estava aberto. Dados agrupados por produto e tipo de pagamento – product: Endereço mac da interface

* name: Nome do produto * upc_code: Código UPC do produto – quantity: Quantidade de produtos vendidos – value: Valor de cada produto – payment_type: Tipo de pagamento: 1 - Cash, 2 - Cashless Segue um exemplo de retorno:

{ "id":110408, "started_at":"2017-04-26T13:00:26.000-03:00", "ended_at":"2017-04-26T13:08:08.000-03:00", "last_audit_began_at":"2017-04-26T17:30:29.000Z", "client_id":949, "location_id":2325, "machine_id":1687, "installation_id":2865, "cashbox_amount":0.0, "bill_validator_amount":0.0, "collectible_amount":0.0, "changer_amount":0.0, "supplied_cash_amount":0.0, "cashless_transaction_amount":0.0, "product_value_amount":0.0, "difference_amount":0.0, "total_in_coin_changer":69.3, "total_in_bill_changer":0.0, "total_in_changer":69.3, "client":{ "name":"Cliente 1" }, "location":{ "client_id":949, "name":"Local 1" }, "machine":{ "machine_model_id":82, "asset_number":"1234" }, "sales":[ { "product":{ "name":"BISCOITO POLVILHO TRADICIONAL LEVEN", "upc_code":"000004266320" (continues on next page)

3.31. Caixas 349 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, "quantity":1, "value":2, "payment_type":1 }, { "product":{ "name":"BARRA LEVEN AVELA", "upc_code":"4257751" }, "quantity":2, "value":6, "payment_type":1 }, { "product":{ "name":"BARRA LEVEN AVELA", "upc_code":"4257751" }, "quantity":1, "value":6, "payment_type":2 }, { "product":{ "name":"AGUA MIN MINALBA C/GAS 510ML", "upc_code":"000000000004134059" }, "quantity":3, "value":6, "payment_type":2 }, { "product":{ "name":"FANTA LARANJA LATA 350ML", "upc_code":"000000000002027732" }, "quantity":2, "value":6, "payment_type":2 } ] }

Erros

status descrição response body 404 caixa ou instalação não encontrado (vazio)

350 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

3.32 Notas Fiscais

3.32.1 Listar

GET/api/v1/invoices

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • start_date: a data de início das notas fiscais. – A consulta retorna somente notas fiscais geradas a partir desta data e hora, inclusive. – Este filtro é obrigatório. Se não for passado, será retornado erro com o código HTTP 400 (bad request). – Se o formato da data for inválido, será retornado erro com o código HTTP 400 (bad request). – Se a data for maior que a do filtro end_date, será retornado erro com o código HTTP 400 (bad request). – Se a data for menor que 30 dias antes da data do filtro end_date, será retornado erro com o código HTTP 400 (bad request). – Deve-se passar a data e também a hora; se não for passada, será considerado 00:00:00 UTC. – Os segundos passados na hora são desconsiderados. O sistema considera sempre 00. – Um formato possível é dd/mm/yyyy hh:mi. Nesse caso a data e hora devem estar em UTC. – Este filtro também suporta o formato ISO 8601. • end_date: a data final das notas fiscais. – A consulta retorna somente notas fiscais geradas até esta data e hora, inclusive. – Este filtro é obrigatório. Se não for passado, será retornado erro com o código HTTP 400 (bad request). – Se o formato da data for inválido, será retornado erro com o código HTTP 400 (bad request). – Se a data for menor que a do filtro start_date, será retornado erro com o código HTTP 400 (bad request). – Se a data for maior que 30 dias depois da data do filtro start_date, será retornado erro com o código HTTP 400 (bad request). – Deve-se passar a data e também a hora; se não for passada, será considerado 23:59:59 UTC. – Os segundos passados na hora são desconsiderados. O sistema considera sempre 59. – Um formato possível é dd/mm/yyyy hh:mi. Nesse caso a data e hora devem estar em UTC. – Este filtro também suporta o formato ISO 8601. • client_id: o id do cliente das notas fiscais. Se passado, a consulta retorna somente notas fiscais geradas por esse cliente. • location_id: o id do local das notas fiscais. Se passado, a consulta retorna somente notas fiscais geradas neste local. • machine_id: o id da máquina das notas fiscais. Se passado, a consulta retorna somente notas fiscais geradas nesta máquina.

3.32. Notas Fiscais 351 Documentação da API do VMpay, Release 1.0.0

• customer_email: o e-mail do consumidor informado na compra. Se passado, a consulta retorna somente notas fiscais geradas com esse e-mail. • status: indica qual o status que deseja consultar, podendo ser um desses valores: – pending: Nota fiscal pendente de envio. – issuing: Nota fiscal sendo enviada. – issued: Nota fiscal emitida. – failed: Falha na emissão da nota fiscal. – error: Erro na emissão da nota fiscal. – cannot_issue: Nota fiscal não emitida. – issued_in_staging: Nota fiscal emitida em ambiente de homologação. • number: número da nota fiscal. Se passado, a consulta retorna somente a nota fiscal com esse número.

Retorno

É retornado um JSON contendo um array com objetos que correspondem às visitas. O array é ordenado por data e hora de geração da nota fiscal, da mais recente para a mais antiga. O campos de cada nota fiscal são os seguintes: • id: o id da nota fiscal. • occurred_at: a data e hora da nota fiscal, no formato ISO 8601. • uuid: o uuid da nota fiscal. • series: a serie da nota fiscal. • number: o número da nota fiscal. • customer_document: o documento do consumidor. • customer_email: o e-mail do consumidor. • status: o status atual da nota fiscal. • total_quantity: a quantidade total dos itens da nota fiscal. • total_amount: o valor total dos itens da nota fiscal. • installation_id: o id da instalação da nota fiscal. • customer: id e nome do consumidor. • client: id e nome do cliente. • location: o id e nome do local. • machine: o id e número de fábrica da máquina. • danfe_url: a url para baixar o danfe da nota fiscal. – Caso a emissão da Nota Fiscal seja via SAT, para acessar a URL deve ser informado o “ac- cess_token”: http://vmpay.vertitecnologia.com.br/api/v1/invoices/4/sat_data_pdf?access_token= 837e068fbb4c1e1f • xml_url: a url para baixar o xml da nota fiscal. – Caso a emissão da Nota Fiscal seja via SAT, para acessar a URL deve ser informado o “access_token”: http://vmpay.vertitecnologia.com.br/api/v1/invoices/4/sat_data?access_token= 837e068fbb4c1e1f

352 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

• routes: array com detalhes das rotas da instalação da nota fiscal. • items: array com os itens da nota fiscal. • payment: informações sobre a forma de pagamento, se disponível. Segue um exemplo de retorno de consulta:

[ { "id":4, "occurred_at":"2021-03-16T15:12:51.000Z", "uuid":"fba266ce-1d05-4a0b-be63-87bf965c0c17", "series":"15", "number":"289692", "customer_document":"32376582865", "customer_email": null, "status":"issued", "total_quantity":1, "total_amount": 16.99, "installation_id":1, "customer":{ "id":1, "name":"Consumidor" }, "client":{ "id": 2703, "name":"Verti" }, "location":{ "id":1, "name":"Verti" }, "machine":{ "id":1, "asset_number":"0001" }, "danfe_url":"https://api.focusnfe.com.br/notas_fiscais_consumidor/NFe1111.html", "xml_url":"https://api.focusnfe.com.br/arquivos/21590391000111/202103/XMLs/1111-

˓→nfe.xml", "routes": [], "items":[ { "number":1, "price": 16.99, "quantity": 1.0, "amount": 16.99, "good":{ "id":5, "name":"Budweiserr", "upc_code":"1" } } ], "payment":{ "request_number":"1", "eft_provider_id":2, "eft_authorizer_id":3, "eft_card_brand_id":4, (continues on next page)

3.32. Notas Fiscais 353 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "eft_card_type_id":5, "number_of_payments":1 } }, { "id":3, "occurred_at":"2021-03-16T10:01:56.000Z", "uuid":"0765b0c7-584d-47da-bd21-ff79f8e33bc0", "series": null, "number":"085662", "customer_document": null, "customer_email": null, "status":"issued", "total_quantity":2, "total_amount": 11.48, "installation_id":1, "customer":{ "id":2, "name":"Consumidor" }, "client":{ "id": 2703, "name":"Verti" }, "location":{ "id":1, "name":"Verti" }, "machine":{ "id":1, "asset_number":"0001" }, "danfe_url":"https://api.focusnfe.com.br/notas_fiscais_consumidor/NFe2222.html", "xml_url":"https://api.focusnfe.com.br/notas_fiscais_consumidor/NFe2222.html", "routes": [], "items":[ { "number":1, "price": 6.49, "quantity": 1.0, "amount": 6.49, "good":{ "id":2, "name":"Coca-Cola", "upc_code":"2" } }, { "number":2, "price": 4.99, "quantity": 1.0, "amount": 4.99, "good":{ "id": 12, "name":"Twix", "upc_code":"3" } (continues on next page)

354 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) } ] } ]

3.33 Pick lists

3.33.1 Listar

GET/api/v1/pick_lists

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Datas devem ser passadas no formato ISO 8601. Este serviço suporta paginação. • pending_only: pode ser true ou false. Se for true, apenas as pick lists pendentes serão listadas. – Caso não seja passado, é considerado false. • updated_since: filtra pick lists atualizadas a partir da data informada. • updated_until: filtra pick lists atualizadas até a data informada.

Retorno

É retornado um JSON contendo um array com objetos que correspondem às pick lists. O campos de cada pick list são os seguintes: • id: o id da pick list • created_at: a data de criação da pick list, no formato ISO 8601. • updated_at: a data de atualização da pick list, no formato ISO 8601. • installation_id: o id da instalação da pick list • planogram_id: o id do planograma da pick list • group_id: o id do grupo da pick list • distribution_center_id: o id do centro de distribuição • machine_id: o id da máquina • pending: true se pick list estiver pendente, false se não estiver • url: o endereço da pick list no VMpay • notes: observações sobre a pick list Segue um exemplo de retorno de consulta:

3.33. Pick lists 355 Documentação da API do VMpay, Release 1.0.0

[ { "id": 2692, "created_at":"2015-08-28T14:45:50.000-03:00", "updated_at":"2015-08-31T16:44:18.000-03:00", "installation_id": 363, "planogram_id": 1046, "group_id":1, "distribution_center_id":1, "machine_id": 235, "pending": false, "url":"http://vmpay.vertitecnologia.com.br/api/v1/machines/235/installations/363/

˓→pick_lists/2692", "notes":"some extra info" }, { "id": 5248, "created_at":"2015-12-16T16:33:23.000-02:00", "updated_at":"2015-12-17T17:25:24.000-02:00", "installation_id": 1170, "planogram_id": 3172, "group_id":1, "distribution_center_id":1, "machine_id": 643, "pending": false, "url":"http://vmpay.vertitecnologia.com.br/api/v1/machines/643/installations/

˓→1170/pick_lists/5248", "notes": null }, { "id": 5560, "created_at":"2015-12-29T16:12:20.000-02:00", "updated_at":"2016-01-05T15:28:02.000-02:00", "installation_id": 1170, "planogram_id": 3172, "group_id":1, "distribution_center_id":1, "machine_id": 643, "pending": false, "url":"http://vmpay.vertitecnologia.com.br/api/v1/machines/643/installations/

˓→1170/pick_lists/5560", "notes": null } ]

3.34 Transações cashless

3.34.1 Listar

GET/api/v1/cashless_transactions

356 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • start_date: a data de início das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas a partir desta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • end_date: a data final das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas até esta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • client_id: o id do cliente das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas para este cliente. • location_id: o id do local das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas neste local. • machine_id: o id da máquina das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas nesta máquina. • installation_id: o id da instalação das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas nesta instalação. • category_id: a categoria dos produtos das transações cashless. – Se passado, a consulta retorna somente transações cashless de produtos desta categoria. • manufacturer_id: o fabricante dos produtos das transações cashless. – Se passado, a consulta retorna somente transações cashless de produtos deste fabricante. • good_id: o produto das transações cashless. – Se passado, a consulta retorna somente transações cashless deste produto. – Tal produto pode ser composto (combo ou bebidas quentes) ou não (produtos vendidos por unidade). – Good neste caso se traduz como bem. • eft_provider_id: o provedor de TEF das transações cashless. – Se passado, a consulta retorna somente transações cashless desse provedor TEF. • eft_authorizer_id: o adquirente de TEF das transações cashless. – Se passado, a consulta retorna somente transações cashless desse adquirente.

3.34. Transações cashless 357 Documentação da API do VMpay, Release 1.0.0

• eft_card_brand_id: o cartão utilizado nas transações cashless. – Se passado, a consulta retorna somente transações cashless desse cartão. • eft_card_type_id: o tipo de cartão utilizado nas transações cashless. – Se passado, a consulta retorna somente transações cashless desse tipo de cartão.

Retorno

É retornado um JSON contendo um array com objetos que correspondem às transações cashless. O array é ordenado por data e hora das transações, da mais recente para a mais antiga. O campos de cada transação cashless são os seguintes: • id: o id da transação cashless. • occurred_at: a data e hora da transação cashless, no formato ISO 8601. • client_id: o id do cliente da transação cashless. • location_id: o id do local da transação cashless. • machine_id: o id da máquina da transação cashless. • installation_id: o id da instalação da transação cashless. • planogram_item_id: o id do item de planograma em que ocorreu a transação cashless (canaleta, seleção ou combo). • good_id: o id do produto (composto ou não) vendido.

– * Good neste caso se traduz como bem. • eft_provider_id: o id do provedor de TEF das transações cashless. • eft_authorizer_id: o id do adquirente de TEF das transações cashless. • eft_card_brand_id: o id do cartão utilizado nas transações cashless. • eft_card_type_id: o id do tipo de cartão utilizado nas transações cashless. • coil: o número do item de planograma em que ocorreu a transação cashless (canaleta, seleção ou combo). • transaction_value: o valor total da transação cashless. • request_number: o valor do NSU da rede. • remote_credit: um booleano indicando se a transação foi ou não um crédito remoto. • client: detalhes do cliente da transação cashless. • location: detalhes do local da transação cashless. • machine: detalhes da máquina da transação cashless. • good: detalhes do produto vendido. • eft_provider: detalhes do provedor de TEF das transações cashless. • eft_authorizer: detalhes do adquirente de TEF das transações cashless. • eft_card_brand: detalhes do cartão utilizado nas transações cashless. • eft_card_type: detalhes do tipo de cartão utilizado nas transações cashless. Segue um exemplo de retorno de consulta:

358 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

[ { "id":123489, "occurred_at":"2016-01-26T07:45:36.000-02:00", "client_id":1, "location_id":2, "machine_id":3, "installation_id":4, "planogram_item_id":5, "good_id":7, "eft_provider_id":1, "eft_authorizer_id":1, "eft_card_brand_id":21, "eft_card_type_id":1, "coil":"1", "transaction_value":2.5, "request_number":"123000004", "remote_credit":false, "client":{ "name":"Client X" }, "location":{ "client_id":1, "name":"Location X" }, "machine":{ "machine_model_id":9, "asset_number":"123" }, "good":{ "type":"Product", "category_id":1, "manufacturer_id":2, "name":"Product X", "upc_code":"333", "barcode":"1234567890" }, "eft_provider":{ "name":"Pay&Go" }, "eft_authorizer_id":{ "name":"Cielo" }, "eft_card_brand":{ "name":"Visa" }, "eft_card_type":{ "name":"Crédito" } }, { "id":123456, "occurred_at":"2016-01-26T07:14:24.000-02:00", "client_id":1, "location_id":2, "machine_id":3, "installation_id":4,

(continues on next page)

3.34. Transações cashless 359 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "planogram_item_id":6, "good_id":8, "eft_provider_id":2, "eft_authorizer_id":4, "eft_card_brand_id":12, "eft_card_type_id":2, "coil":"3", "transaction_value":2.5, "remote_credit":false, "client":{ "name":"Client X" }, "location":{ "client_id":1, "name":"Location X" }, "machine":{ "machine_model_id":9, "asset_number":"123" }, "good":{ "type":"Product", "category_id":1, "manufacturer_id":3, "name":"Product Y", "upc_code":"444", "barcode":null }, "eft_provider":{ "name":"SiTef" }, "eft_authorizer_id":{ "name":"Rede" }, "eft_card_brand":{ "name":"Mastercard" }, "eft_card_type":{ "name":"Débito" } } ]

3.35 Transações cashless (Novo)

3.35.1 Listar

GET/api/v1/cashless_facts

360 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • start_date: a data de início das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas a partir desta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • end_date: a data final das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas até esta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • client_id: o id do cliente das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas para este cliente. • location_id: o id do local das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas neste local. • place: local interno da instalção. – Se passado, a consulta retorna somente transações cashless ocorridas neste local interno. • machine_type_id: o id do tipo da máquina das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas neste tipo de máquina. • machine_id: o id da máquina das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas nesta máquina. • distribution_center_id: o id do centro de distribuição das transações cashless. – Se passado, a consulta retorna somente transações cashless ocorridas nas instalações do centro de dis- tribuição. • kind: o tipo das transações cashless. – Se passado, a consulta retorna somente transações cashless do tipo informado. • point_of_sale: o ponto de captura das transações cashless. – Se passado, a consulta retorna somente transações cashless desse ponto de captura. • request_number: o número da requisição das transações cashless. – Se passado, a consulta retorna somente transações cashless dessa requisição. • route_id: o id da rota associada a instalação das transações cashless.

3.35. Transações cashless (Novo) 361 Documentação da API do VMpay, Release 1.0.0

– Se passado, a consulta retorna somente transações cashless da instalação dessa rota. • eft_provider_id: o provedor de TEF das transações cashless. – Se passado, a consulta retorna somente transações cashless desse provedor TEF. • eft_authorizer_id: o adquirente de TEF das transações cashless. – Se passado, a consulta retorna somente transações cashless desse adquirente. • eft_card_brand_id: o cartão utilizado nas transações cashless. – Se passado, a consulta retorna somente transações cashless desse cartão. • eft_card_type_id: o tipo de cartão utilizado nas transações cashless. – Se passado, a consulta retorna somente transações cashless desse tipo de cartão. • good_category_id: a categoria do produto das transações cashless. – Se passado, a consulta retorna somente transações cashless de produtos pertencentes a essa categoria. • good_manufacturer_id: o fabricante do produto das transações cashless. – Se passado, a consulta retorna somente transações cashless de produtos pertencentes a esse fabricante. • good_id: o produto das transações cashless. – Se passado, a consulta retorna somente transações cashless deste produto. – Tal produto pode ser composto (combo ou bebidas quentes) ou não (produtos vendidos por unidade). – Good neste caso se traduz como bem. • customer_id: o id do consumidor das transações cashless. – Se passado, a consulta retorna somente transações cashless desse consumidor. • status: o status das transações cashless. – Se passado, a consulta retorna somente transações cashless desse status. – Valores possíveis: – ok: Transação OK. – cancel: Transação Cancelada. – delivery_failure: Falha na entrega. – delivery_timeout: Tempo de entrega esgotado. – invalid_selection: Seleção inválida. – mdb_error: Erro de MDB – vending_invalid_no_second_selection: Seleção inválida • equipment_id: o id do equipamento das transações cashless. – Se passado, a consulta retorna somente transações cashless desse equipamento. • payment_authorizer_id: o id do autorizador das transações cashless. – Se passado, a consulta retorna somente transações cashless desse autorizador. • masked_card_number: o número do cartão mascarado das transações cashless. – Se passado, a consulta retorna somente transações cashless desse cartão. • product_type: o tipo de produto das transações cashless.

362 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

– Se passado, a consulta retorna somente transações cashless desse tipo de produto.

Retorno

É retornado um JSON contendo um array com objetos que correspondem às transações cashless. O array é ordenado por data e hora das transações, da mais recente para a mais antiga. O campos de cada transação cashless são os seguintes: • id: o id da transação cashless. • occurred_at: a data e hora da transação cashless, no formato ISO 8601. • point_of_sale: o ponto de captura da transação cashless • kind: o tipo da transação cashless • status: o estado da transação cashless • installation_id: o id da instalação da transação cashless. • planogram_item_id: o id do item de planograma em que ocorreu a transação cashless (canaleta, seleção ou combo). • equipment_id: o id do equipamento da transação cashless. • equipment_label_number: o label do equipamento da transação cashless. • equipment_serial_number: o número serial do equipamento da transação cashless. • masked_card_number: o número do cartão da transação cashless. • number_of_payments: o número de parcelas da transação cashless. • quantity: a quantidade da transação cashless. • value: o valor da transação cashless. • discount_value: o valor do desconto da transação cashless. • request_number: o número da requisição da transação cashless. • order_id: o id do pedido da transação cashless. • cancel_reason_detailed: a descrição do erro da transação cashless. • client: detalhes do cliente da transação cashless. • location: detalhes do local da transação cashless. • machine: detalhes da máquina da transação cashless. • planogram_item: o item de planograma em que ocorreu a transação cashless. • good: detalhes do produto vendido na transação cashless.

– * Good neste caso se traduz como bem. • eft_provider: detalhes do provedor de TEF da transação cashless. • eft_authorizer: detalhes do adquirente de TEF da transação cashless. • eft_card_brand: detalhes do cartão utilizado na transação cashless. • eft_card_type: detalhes do tipo de cartão utilizado na transação cashless. • payment_authorizer: detalhes do autorizador do pagamento da transação cashless. • mobile_app: detalhes da aplicacao mobile onde ocorreu a transação cashless.

3.35. Transações cashless (Novo) 363 Documentação da API do VMpay, Release 1.0.0

• customer: detalhes da consumidor da transação cashless. • cashless_error: detalhes do erro caso tenha ocorrido na transação cashless. • cashless_error_friendly: um booleano indicando se a transação foi ou não um crédito remoto. Segue um exemplo de retorno de consulta:

[ { "id": 16732372, "occurred_at":"2018-02-28T21:34:21.000Z", "point_of_sale":"AA000009", "kind":"eft_pinpad", "status":"CANCEL", "installation_id": 9509, "planogram_item_id": null, "equipment_id": 1061, "equipment_label_number":"1064", "equipment_serial_number":"70B3D5CB818C", "masked_card_number": null, "number_of_payments":0, "quantity":1, "value": 0.1, "discount_value": null, "request_number":"", "order_id": null, "cancel_reason_detailed":"", "place":"Mesa do Fernandes", "client":{ "id": 2854, "name":"Cliente virtual" }, "location":{ "id": 3515, "name":"Cliente virtual" }, "machine":{ "id": 3184, "asset_number":"1072" }, "eft_provider":{ "id":2, "name":"SiTef" }, "eft_authorizer":{ "id":5, "name":"Stone" }, "eft_card_brand":{ "id": 24, "name":"Indefinido" }, "eft_card_type":{ "id":4, "name":"Indefinido" }, "cashless_error":{ "complete_description":"SiTef - -2 - Operação cancelada pelo operador." (continues on next page)

364 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, "cashless_error_friendly":"Operação cancelada pelo operador." }, { "id": 16660774, "occurred_at":"2018-02-27T19:53:16.000Z", "point_of_sale":"00020002101", "kind":"eft_pinpad", "status":"OK", "installation_id": 9509, "planogram_item_id": null, "equipment_id": 1061, "customer_id": null, "equipment_label_number":"1064", "equipment_serial_number":"70B3D5CB818C", "masked_card_number": null, "number_of_payments":0, "quantity":1, "value": 0.1, "discount_value": null, "request_number":"000246", "order_id": null, "cancel_reason_detailed": null, "place":"Mesa do Fernandes", "client":{ "id": 2854, "name":"Cliente virtual" }, "location":{ "id": 3515, "name":"Cliente virtual" }, "machine":{ "id": 3184, "asset_number":"1072" }, "eft_provider":{ "id":4, "name":"Indefinido" }, "eft_authorizer":{ "id":7, "name":"Indefinido" }, "eft_card_brand":{ "id": 24, "name":"Indefinido" }, "eft_card_type":{ "id":4, "name":"Indefinido" }, "cashless_error_friendly": null } ]

3.35. Transações cashless (Novo) 365 Documentação da API do VMpay, Release 1.0.0

3.36 Vendas

3.36.1 Listar

GET/api/v1/vends

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • start_date: a data de início das vendas. – Se passado, a consulta retorna somente vendas ocorridas a partir desta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • end_date: a data final das vendas. – Se passado, a consulta retorna somente vendas ocorridas até esta data e hora, inclusive. – Deve-se passar a data e também a hora; se não passada, considerada-se 00:00 UTC. – Um formato possível é dd/mm/yyyy hh:mi:ss. Nesse caso a data e hora devem estar em UTC. – Este campo também suporta o formato ISO 8601. – Caso o formato da data seja inválido, é retornado erro com o código HTTP 400 (bad request). • client_id: o id do cliente das vendas. – Se passado, a consulta retorna somente vendas ocorridas para este cliente. • location_id: o id do local das vendas. – Se passado, a consulta retorna somente vendas ocorridas neste local. • machine_id: o id da máquina das vendas. – Se passado, a consulta retorna somente vendas ocorridas nesta máquina. • installation_id: o id da instalação das vendas. – Se passado, a consulta retorna somente vendas ocorridas nesta instalação. • category_id: a categoria dos produtos das vendas. – Se passado, a consulta retorna somente vendas de produtos desta categoria. • manufacturer_id: o fabricante dos produtos das vendas. – Se passado, a consulta retorna somente vendas de produtos deste fabricante. • good_id: o produto das vendas. – Se passado, a consulta retorna somente vendas deste produto. – Tal produto pode ser composto (combo ou bebidas quentes) ou não (produtos vendidos por unidade).

366 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

– Good neste caso se traduz como bem. • vend_id_greater_than: o id da venda. – Se passado, a consulta irá retorna somente as vendas com o id maior que o informado.

Retorno

É retornado um JSON contendo um array com objetos que correspondem às vendas. O array é ordenado por data e hora de venda, da mais recente para a mais antiga. O campos de cada venda são os seguintes: • id: o id da venda. • occurred_at: a data e hora da venda, no formato ISO 8601. • client_id: o id do cliente da venda. • location_id: o id do local da venda. • machine_id: o id da máquina da venda. • installation_id: o id da instalação da venda. • planogram_item_id: o id do item de planograma em que ocorreu a venda (canaleta, seleção ou combo). • good_id: o id do produto (composto ou não) vendido.

– * Good neste caso se traduz como bem. • coil: o número do item de planograma em que ocorreu a venda (canaleta, seleção ou combo). • quantity: a quantidade vendida do item. • value: o valor total da venda. • client: detalhes do cliente da venda. • location: detalhes do local da venda. • machine: detalhes da máquina da venda. • good: detalhes do produto vendido. Segue um exemplo de retorno de consulta:

[ { "id":123489, "occurred_at":"2016-01-26T07:45:36.000-02:00", "client_id":1, "location_id":2, "machine_id":3, "installation_id":4, "planogram_item_id":5, "good_id":7, "coil":"1", "quantity":1, "value":2.5, "client":{ "name":"Client X" }, "location":{ "client_id":1, "name":"Location X" (continues on next page)

3.36. Vendas 367 Documentação da API do VMpay, Release 1.0.0

(continued from previous page) }, "machine":{ "machine_model_id":9, "asset_number":"123" }, "good":{ "type":"Product", "category_id":1, "manufacturer_id":2, "name":"Product X", "upc_code":"333", "barcode":"1234567890" } }, { "id":123456, "occurred_at":"2016-01-26T07:14:24.000-02:00", "client_id":1, "location_id":2, "machine_id":3, "installation_id":4, "planogram_item_id":6, "good_id":8, "coil":"3", "quantity":1, "value":2.5, "client":{ "name":"Client X" }, "location":{ "client_id":1, "name":"Location X" }, "machine":{ "machine_model_id":9, "asset_number":"123" }, "good":{ "type":"Product", "category_id":1, "manufacturer_id":3, "name":"Product Y", "upc_code":"444", "barcode":"1234567890" } } ]

3.37 Visitas

3.37.1 Listar

GET/api/v1/visits

368 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Filtros

Os parâmetros abaixo podem ser passados como uma query string. Mais de um filtro pode ser passado na mesma consulta. Este serviço suporta paginação. • start_date: a data de início das visitas. – A consulta retorna somente visitas ocorridas a partir desta data e hora, inclusive. – Este filtro é obrigatório. Se não for passado, será retornado erro com o código HTTP 400 (bad request). – Se o formato da data for inválido, será retornado erro com o código HTTP 400 (bad request). – Se a data for maior que a do filtro end_date, será retornado erro com o código HTTP 400 (bad request). – Se a data for menor que 30 dias antes da data do filtro end_date, será retornado erro com o código HTTP 400 (bad request). – Deve-se passar a data e também a hora; se não for passada, será considerado 00:00:00 UTC. – Os segundos passados na hora são desconsiderados. O sistema considera sempre 00. – Um formato possível é dd/mm/yyyy hh:mi. Nesse caso a data e hora devem estar em UTC. – Este filtro também suporta o formato ISO 8601. • end_date: a data final das visitas. – A consulta retorna somente visitas ocorridas até esta data e hora, inclusive. – Este filtro é obrigatório. Se não for passado, será retornado erro com o código HTTP 400 (bad request). – Se o formato da data for inválido, será retornado erro com o código HTTP 400 (bad request). – Se a data for menor que a do filtro start_date, será retornado erro com o código HTTP 400 (bad request). – Se a data for maior que 30 dias depois da data do filtro start_date, será retornado erro com o código HTTP 400 (bad request). – Deve-se passar a data e também a hora; se não for passada, será considerado 23:59:59 UTC. – Os segundos passados na hora são desconsiderados. O sistema considera sempre 59. – Um formato possível é dd/mm/yyyy hh:mi. Nesse caso a data e hora devem estar em UTC. – Este filtro também suporta o formato ISO 8601. • restock: pode ser true ou false. Se for true, apenas as visitas que foram reabastecimentos serão listadas; se for false, apenas as visitas que não foram reabastecimentos; se não for passado, retorna tanto um, quanto o outro. Pode ser usado juntamente com o filtro cash_collect. • cash_collect: pode ser true ou false. Se for true, apenas as visitas que foram coletas serão listadas; se for false, apenas as visitas que não foram coletas; se não for passado, retorna tanto um, quanto o outro. Pode ser usado juntamente com o filtro restock. • location_id: o id do local das visitas. Se passado, a consulta retorna somente visitas ocorridas neste local. • event_id: o id do evento. Se passado, a consulta retorna somente a visita deste evento. • machine_id: o id da máquina das visitas. Se passado, a consulta retorna somente visitas ocorridas nesta máquina. • machine_type_id: o id do tipo de máquina das visitas. Se passado, a consulta retorna somente visitas ocorridas em máquinas deste tipo.

3.37. Visitas 369 Documentação da API do VMpay, Release 1.0.0

• route_id: o id da rota das visitas. Se passado, a consulta retorna somente visitas ocorridas em instalações pertencentes a esta rota.

Retorno

É retornado um JSON contendo um array com objetos que correspondem às visitas. O array é ordenado por data e hora de visita, da mais recente para a mais antiga. O campos de cada visita são os seguintes: • id: o id da visita. • previous_session_id: o id do caixa anterior à visita, se esta foi uma coleta. É o caixa que foi fechado pela coleta. Este campo será null caso a visita não tenha sido uma coleta. • occurred_at: a data e hora da visita, no formato ISO 8601. • restock: true se a visita foi um reabastecimento; false, caso contrário. • cash_collect: true se a visita foi uma coleta; false, caso contrário. • event_id: o id do evento da vista. • location_id: o id do local da visita. • machine_id: o id da máquina da visita. • installation_id: o id da instalação da visita. • place: o local interno da instalação da visita. • bill_value: o valor total de notas coletadas na visita. Este campo será null caso a visita não seja uma coleta. • coin_value: o valor total de moedas coletadas na visita. Este campo será null caso a visita não seja uma coleta. • total_value: o valor total coletado na visita. Este campo será null caso a visita não seja uma coleta. • location: detalhes do local da visita. • machine: detalhes da máquina da visita. • routes: array com detalhes das rotas da instalação da visita. Segue um exemplo de retorno de consulta:

[ { "id":12345, "previous_session_id":null, "occurred_at":"2019-06-03T19:28:39.000Z", "restock":true, "cash_collect":false, "event_id":12345679, "location_id":123, "machine_id":321, "installation_id":1234, "place":"Recepção", "bill_value":null, "coin_value":null, "total_value":null, "location":{ "id":123, "name":"Local 1" }, "machine":{ (continues on next page)

370 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

(continued from previous page) "id":321, "asset_number":"1423" }, "routes":[ { "id":1, "name":"Rota 1" }, { "id":2, "name":"Rota 2" } ] }, { "id":12345, "previous_session_id":567, "occurred_at":"2019-06-03T19:11:45.000Z", "restock":true, "cash_collect":true, "event_id":12345678, "location_id":321, "machine_id":123, "installation_id":2345, "place":"1° andar", "bill_value":82.00, "coin_value":65.50, "total_value":147.50, "location":{ "id":321, "name":"Local 3" }, "machine":{ "id":123, "asset_number":"8572" }, "routes":[ { "id":2, "name":"Rota 2" } ] } ]

3.38 Estoques

3.38.1 Listar

GET/api/v1/storables

3.38. Estoques 371 Documentação da API do VMpay, Release 1.0.0

Retorno

status descrição 200 OK

Exemplo:

[ { "id":1, "created_at":"2014-08-07T12:26:16.000Z", "updated_at":"2020-01-17T17:56:58.000Z", "type":"Product", "manufacturer_id":2, "category_id":1, "name":"Coca-Cola Zero", "upc_code":"1", "barcode": null, "external_id": null, "url":"http://127.0.0.1:3001/api/v1/storables/1", "inventories":[ { "distribution_center_id":1, "total_quantity": 576.0, "committed_quantity": 0.0 } ] }, { "id":2, "created_at":"2014-08-07T12:26:31.000Z", "updated_at":"2020-01-17T21:56:42.000Z", "type":"Product", "manufacturer_id":2, "category_id":1, "name":"Coca-Cola", "upc_code":"2", "barcode": null, "external_id": null, "url":"http://127.0.0.1:3001/api/v1/storables/2", "inventories":[ { "distribution_center_id":1, "total_quantity": 236.0, "committed_quantity": 0.0 } ] } ]

3.38.2 Ver

GET/api/v1/storables/[id]

372 Chapter 3. Resources disponíveis Documentação da API do VMpay, Release 1.0.0

Parâmetros de URL:

parâmetro descrição obrigatório id id do estoque sim

Retorno

status descrição 200 OK

Exemplo:

{ "id":2, "created_at":"2014-08-07T12:26:31.000Z", "updated_at":"2020-01-17T21:56:42.000Z", "type":"Product", "manufacturer_id":2, "category_id":1, "name":"Coca-Cola", "upc_code":"2", "barcode": null, "external_id": null, "url":"http://127.0.0.1:3001/api/v1/storables/2", "inventories":[ { "distribution_center_id":1, "total_quantity": 236.0, "committed_quantity": 0.0 } ] }

Campos

• type: tipo do estoque • manufacturer_id: id do fabricante • category_id: id da categoria • name: nome do produto • upc_code: código UPC do produto • barcode: código de barras do produto • external_id: id externo • inventories: lista de inventários relacionados ao estoque – distribution_center_id: id do centro de distribuição – total_quantity: saldo do produto – committed_quantity: quantidade reservada

3.38. Estoques 373 Documentação da API do VMpay, Release 1.0.0

* Para o cálculo do saldo disponível, deve-se considerar (total_quantity - committed_quantity)

Erros

status descrição response body 404 registro não encontrado {“error”:”Registro não encontrado”}

3.38.3 Atualizar

PATCH/api/v1/storables/[id]

Parâmetros de URL:

parâmetro descrição obrigatório id id do estoque sim

Request:

{ "storable":{ "inventories": [{ "distribution_center_id":1, "quantity_delta":2 }] } }

Campos

• storable – inventories: lista dos inventários relacionados ao estoque

* distribution_center_id: id do centro de distribuição. * quantity_delta: diferença desejada para alteração do saldo, positiva ou negativa.

Retorno

status descrição 200 Atualizado com sucesso

Erros

status descrição response body 400 parâmetros faltando { “status”: “400”, “error”: “Bad Request” } 404 registro não encontrado { “status”: “404”, “error”: “Not Found” }

374 Chapter 3. Resources disponíveis