Search the Community
Showing results for tags 'json'.
-
Saudações a todos! Desenvolvemos uma API de consultas ao CNPJ com retorno em JSON e gostaríamos de compartilhar com vocês: https://www.cnpja.com.br/ Oferecemos 500 consultas grátis por dia, e é possível testar diretamente pelo site! O resultado das consultas inclui todos os dados do registro: Razão social, nome fantasia, data de fundação e porte Situação cadastral comum e especial Telefone, e-mail e endereço completo Natureza jurídica, atividades primárias e secundárias (CNAE) Quadro de sócios e administradores (QSA) Link para comprovante em PDF Exemplo de retorno: { "last_update": "2020-02-07T12:46:07.143Z", "name": "PETROLEO BRASILEIRO S A PETROBRAS", "alias": "PETROBRAS", "tax_id": "33000167000101", "type": "MATRIZ", "founded": "1966-09-28", "size": "DEMAIS", "capital": 205431960490.52, "email": "[email protected]", "phone": "(21) 3224-8091/ (21) 3224-4477", "federal_entity": "UNIÃO", "registration": { "status": "ATIVA", "status_date": "2005-11-03", "status_reason": null, "special_status": null, "special_status_date": null }, "address": { "street": "AV REPUBLICA DO CHILE", "number": "65", "details": null, "zip": "20031170", "neighborhood": "CENTRO", "city": "RIO DE JANEIRO", "state": "RJ" }, "legal_nature": { "code": "2038", "description": "Sociedade de Economia Mista" }, "primary_activity": { "code": "1921700", "description": "Fabricação de produtos do refino de petróleo" }, "secondary_activities": [ { "code": "0600001", "description": "Extração de petróleo e gás natural" }, { "code": "3520401", "description": "Produção de gás; processamento de gás natural" }, { "code": "4681801", "description": "Comércio atacadista de álcool carburante, biodiesel, gasolina e demais derivados de petróleo, exceto lubrificantes, não realizado por transportador retalhista (T.R.R.)" } ], "membership": [ { "name": "EBERALDO DE ALMEIDA NETO", "role": { "code": "10", "description": "Diretor" } }, { "name": "ROBERTO DA CUNHA CASTELLO BRANCO", "role": { "code": "16", "description": "Presidente" } }, { "name": "CARLOS ALBERTO PEREIRA DE OLIVEIRA", "role": { "code": "10", "description": "Diretor" } }, { "name": "RUDIMAR ANDREIS LORENZATTO", "role": { "code": "10", "description": "Diretor" } }, { "name": "ANELISE QUINTAO LARA", "role": { "code": "10", "description": "Diretor" } }, { "name": "ANDREA MARQUES DE ALMEIDA", "role": { "code": "10", "description": "Diretor" } }, { "name": "ROBERTO FURIAN ARDENGHY", "role": { "code": "10", "description": "Diretor" } }, { "name": "MARCELO BARBOSA DE CASTRO ZENKNER", "role": { "code": "10", "description": "Diretor" } } ], "files": { "registration": "https://api.cnpja.com.br/files/61298ecd-fbe9-42ec-9107-70eaecbc478f.pdf" } } Para utilizar: - Faça login em nosso site com o Google, Facebook ou E-mail. - Visite a página Minha Conta e copie sua Chave de API - Envie uma requisição GET para: https://api.cnpja.com.br/companies/{CNPJ} - Adicione no parâmetro Authorization dos Headers a sua Chave de API Quem tiver alguma dúvida é só perguntar!
- 8 replies
-
- 4
-
- api
- webservice
-
(and 2 more)
Tagged with:
-
Pessoal, um cliente meu está precisando consultar a INSCRIÇÃO ESTADUAL de seus respectivos clientes. No caso seria para verificar se está ISENTO, qual o NÚMERO e a situação também, tipo se está ATIVO, CANCELADO e etc. O ACBr tem hoje algum componente que faça algo do tipo ou tem alguma indicação de consulta de API, tanto gratuita (preferencial) quanto paga?
-
Olá, estou realizando a integração com a API da RvHub para Recarga de Celulares. Todas as requisições foram testadas no Insomnia e estão retornando corretamente. Porém, no Dephi Seattle, utilizo os componentes IdHTTP e os COmponentes REST para realizar as requisições, porém o retorno é o seguinte. Para o IdHTTP : 403: Forbbiden Para os REST: 405 Method Not Allowed Ocorre em todas as requisições da API, onde em algumas delas é uma requisição POST sem BODY com apenas o HEADER. Abaixo as linhas de código: Delphi Seattle API RvHub IdHttp: var idHttp : TidHttp; SSl : TIdSSLIOHandlerSocketOpenSSL; JsonStreamRetorno : TStringStream; begin JsonStreamRetorno := TStringStream.Create('', TEncoding.UTF8); idHttp := TidHttp.Create(nil); SSl := TIdSSLIOHandlerSocketOpenSSL.Create(nil); SSl.SSLOptions.Method := sslvTLSv1_2; idHttp.IOHandler := SSL; idHttp.Request.Clear; idHttp.Request.CustomHeaders.Clear; idhttp.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0'; idHttp.Request.ContentType :='application/x-www-form-urlencoded'; idHttp.Request.Accept:='application/json'; idhttp.Request.Charset := 'UTF-8'; idhttp.HandleRedirects := True; idHttp.Request.CustomHeaders.AddValue('Content-Type','application/x-www-form-urlencoded'); idHttp.Request.CustomHeaders.AddValue('Authorization','Basic NmVrNnFobjk0dml0M2piNDI1MDdic2U0czp1bDdmMWg4MGMzMThwdTRicDRlN3NucTdtbW5kYjlwY3BjNm8zdjZzbmIyMzlzb2F1dDg='); try idHttp.Post('http://auth.sbx.rvhub.com.br/oauth2/token?grant_type=client_credentials',JsonStreamRetorno); except on E: Exception do ShowMessage('Error on request:'#13#10 + E.Message); end; end; REST: var FRestClient: TRESTClient; FRestRequest: TRESTRequest; FRestResponse: TRESTResponse; begin FRestClient := TRESTClient.Create(nil); FRestRequest := TRESTRequest.Create(nil); FRestResponse := TRESTResponse.Create(nil); FRestRequest.Client := FRestClient; FRestRequest.Response := FRestResponse; FRestClient.BaseURL := 'https://auth.sbx.rvhub.com.br/oauth2/token?grant_type=client_credentials'; FRestClient.ContentType := 'application/x-www-form-urlencoded'; FRestRequest.Accept := 'application/json'; FRestRequest.Params.AddHeader('Content-Type','application/x-www-form-urlencoded'); FRestRequest.Params.AddHeader('Authorization','Basic NmVrNnFobjk0dml0M2piNDI1MDdic2U0czp1bDdmMWg4MGMzMThwdTRicDRlN3NucTdtbW5kYjlwY3BjNm8zdjZzbmIyMzlzb2F1dDg='); FRestRequest.Body.ClearBody; FRestRequest.Method := rmPOST; FRestRequest.Execute; ShowMessage(FRestResponse.StatusCode.ToString()+#13+FRestRequest.Response.StatusText); end;
-
Olá, estou com dificuldade em ler o seguinte json no delphi: [{ "codrotaprinc": "12", "T10_ID": "33701", "ENTREGAS": [{ "t12_ordemEntrega": "1", "t44_codigo_erp": "93000" }, { "t12_ordemEntrega": "2", "t44_codigo_erp": "105429" }, { "t12_ordemEntrega": "3", "t44_codigo_erp": "86135" }, { "t12_ordemEntrega": "4", "t44_codigo_erp": "92875" }], "ITENS_ENTREGAS": [] }, { "codrotaprinc": "14", "T10_ID": "33702", "ENTREGAS": [{ "t12_ordemEntrega": "1", "t44_codigo_erp": "89956" }, { "t12_ordemEntrega": "2", "t44_codigo_erp": "105338" }], "ITENS_ENTREGAS": [] }] Podem me ajudar?
-
Bom dia Pessoal! Estou com dificuldades para realizar um array, sempre da mensagem de AV ou invalid Type cast. vou deixar o json aqui, alguem poderia me ajudar a montar um array ?
-
Prezados, Preciso acessar a informação de um array de um JSON mas não consigo. O JSON: { "type": "Feature", "geometry": { "type": "MultiPoint", "coordinates": [ [ -46.592643707037, -18.6892344592593 ] ] }, "properties": { "br": "352", "sg_tp_trecho": "B", "uf": "MG", "cd_tp_trecho": "", "rota": "352BMG", "data": "2020-10-01", "km": "165.01" } } Preciso pegar as coordenadas Estou fazendo assim: procedure TForm1.Button1Click(Sender: TObject); var jData : TJSONData; jObject : TJSONObject; s : String; begin // this is only a minimal sampling of what can be done with this API // create from string jData := GetJSON('{"type": "Feature", "geometry": {"type": "MultiPoint","coordinates": [[-46.592643707037,-18.6892344592593]]},"properties": {"br": "352","sg_tp_trecho": "B","uf": "MG","cd_tp_trecho": "","rota": "352BMG","data": "2020-10-01","km": "165.01"}}'); // output as a flat string s := jData.AsJSON; // output as nicely formatted JSON s := jData.FormatJSON; // cast as TJSONObject to make access easier jObject := TJSONObject(jData); // s := jObject.FindPath('type').AsString; s := jObject.FindPath('geometry.type').AsString; //?????????Não consigo obter os dados da coordinates end;
-
Bom dia pessoal, Alguém recomenda algum componente para trabalhar com JSON em Delphi 7? Encontrei as seguintes opções: JSON delphi library Delphi Web Utils tiny-json Alguém recomenda alguma destas ou outras?
- 14 replies
-
Envio do arquivo de remessa do ACBr Boleto por Web Service
MarcusCastro posted a topic in ACBrBoleto
Alguém sabe se existe um Web Service do Bradesco, que tenha como exportar o arquivo de remessa de boletos, que o componente ACBr Boleto gera, em um formato REST por JSON ou XML para ser cadastrado automaticamente sem usar o Bradesco Net Empresa?- 7 replies
-
- 1
-
- boleto
- acbr boleto
-
(and 6 more)
Tagged with:
-
Olá, Você que utiliza o ACBrMonitor e agora está passando a utilizar a ACBrLib, deve ter notado que ambos trabalham com o mesmo layout de Arquivo .INI para Envio de Dados e que ambos retornam como resposta a mesma estrutura de Dados, também em um formato .INI... Saiba também, que agora é possível definir outros tipos de formatos de respostas, como em: XML e JSON. Isso pode ser muito útil se a sua aplicação já está preparada para ler os dados nesse formato. Veja como Configurar na ACBrLib: No arquivo "ACBrLib.ini" gerado ao instanciar a LIB, você encontra a propriedade "TipoResposta" ( https://acbr.sourceforge.io/ACBrLib/Geral.html ) Informe: 0 - para gerar Resposta no formato .INI (opção default) 1- para gerar Resposta no formato .XML 2- para gerar Resposta no formato .JSON Veja mais detalhes de como realizar a configuração da Biblioteca: https://acbr.sourceforge.io/ACBrLib/ComoUsar.html Veja como Configurar no ACBrMonitor: Na tela inicial de Configurações do ACBrMonitorPLUS foi adicionado o campo "Tipo de Resposta": Veja um modelo de Resposta de "Envio de NFe" no tipo .INI (padrão) e no tipo JSON OK: C:\ACBrMonitorPLUS\Logs\13191212345670000139650020000003511310363363-nfe.xml Autorizado o uso da NF-e [Envio] CStat=100 CUF=13 Msg=Autorizado o uso da NF-e NRec= TMed=0 VerAplic=AM4.00-NAC Versao=4.00 XMotivo=Autorizado o uso da NF-e tpAmb=2 OK: C:\ACBrMonitorPLUS\Logs\13191212345670000139650020000003521747298535-nfe.xml Autorizado o uso da NF-e { "Envio" : { "CStat" : 100, "CUF" : 13, "Msg" : "Autorizado o uso da NF-e", "NRec" : "", "TMed" : 0, "VerAplic" : "AM4.00-NAC", "Versao" : "4.00", "XMotivo" : "Autorizado o uso da NF-e", "tpAmb" : "2" } }
-
- 4
-
- acbrlib
- acbrmonitor
-
(and 3 more)
Tagged with:
-
Bom dia Galera! Estou tentando montar um JSON para comunicacao com uma API, o formato que preciso montar é esse: { "id": "1", "type": "TPS", "SubObjeto": { "name": "Teste", "phones": [ "987654321","0123456789" ], "address": { "country": "BR", "state": "MT" } } } Só que ate agora o que consegui foi: var LJson, LJsonObject: TJSONObject; LArray: TJSONArray; LJsonObject := TJSONObject.Create; LJsonObject.AddPair(TJSONPair.Create('id', '1')); LJsonObject.AddPair(TJSONPair.Create('type', 'TPS')); // SubObjeto LArray := TJSONArray.Create; LJson := TJSONObject.Create; LJson.AddPair(TJSONPair.Create('name', 'Teste')); LJson.AddPair(TJSONPair.Create('phones', ?)); //Address ? LArray.Add(LJson); LJsonObject.AddPair(TJSONPair.Create('SubObjeto', LArray)); ShowMessage(LJsonObject.ToString); Alguém já montou algum JSON assim ? Desde já agradeço!
-
Boa Noite Pessoal! Em minhas últimas postagens eu estava com dificuldades para integrar com uma api e enviar arquivos JSon. Graças à ajuda de nosso amigo "DATILAS" (Douglas Átilas), consegui implementar com sucesso a ferramenta de integração. Porém, praticamente de 98 a 99% das ordens enviadas (arquivos JSon) tem seu envio sem nenhum problema, sendo recebido integralmente pelo web service da api. O restante que minha ferramenta não consegue enviar é que eu não estou conseguindo resolver a questão, porque se eu copio uma dessas ordens que apresentou problema e tento enviar pelo "boomerang" ou pela "Restlet Client" do Google", a mesma é enviado normalmente. Alguém poderia me auxiliar nessa questão, por gentileza? Segue abaixo uma das ordens que apresentam problema em minha ferramenta: [{"Driver":{"PhoneCountry":"+55","PhoneNumber":"19 994559352"},"Customer":{"DocumentType":"CNPJ","DocumentNumber":"11229082000167"},"OrderType":1,"OrderID":"229551","OrderNumber":"229551","Sequence":"3","OrderDescription":"NF-e","OrderDescriptionDocuments":"NF-e","SourceAddress":{"Address":"RUA KINITI MORI, 110","Address2":"COMENDADOR MARIO DEDINI","ZipCode":"13413069","City":"PIRACICABA","State":"SP","Country":"BRASIL","Name":"PIRACICABA CARNES E DERIVADOS EIRELI","Responsibility":"REGINALDO","PhoneCountry":"+55","PhoneNumber":"(19)3917-0260"},"DestinationAddress":{"Address":"AV. RIO DAS PEDRAS, 192","Address2":"PIRACICAMIRIM","ZipCode":"13420520","City":"PIRACICABA","State":"SP","Country":"BRASIL","Name":"BAR PANTERA","Responsibility":"DIJALMA","PhoneCountry":"+55","PhoneNumber":"19 3426 2942"},"Documents":[{"DocumentID":"229551","DocumentNumber":"229551","Volumes":[{"VolumeID":"1","Count":1,"BarCode":"0","Read":1}]}],"Observation":"RAZAO SOCIAL: DJALMA PERES FARIAS ME ","DepartureDate":"2019-10-08T00:00:00"}] Para enviar essa ordem, ela é gerada em um TMemo e depois enviada pelo código abaixo: Link do Manual da API: https://api.tudoentregue.com.br/Documentacao/ Segue rotina para envio... function TFExportaEntrega.EnviarJSon(caminho: String; ArqJSon: TMemo): Boolean; Var code: Integer; sResponse, url: String; JsontoSend, AResponseContent: TStringStream; iStatusCode: Integer; http: TIdHTTP; Handler: TIdSSLIOHandlerSocketOpenSSL; Begin JsontoSend := TStringStream.Create(ArqJSon.Text); AResponseContent := TStringStream.Create(''); http := TIdHTTP.Create(Nil); Handler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); Try http.Request.CharSet := 'utf-8'; http.Request.ContentType := 'application/json'; http.Request.CustomHeaders.AddValue('AppKey', '58fb05c3-4e8b-4929-b7df-95bd261035c9'); http.Request.CustomHeaders.AddValue('RequesterKey', '629eda6f-9df5-40e7-a94e-4c54cec83a15'); http.IOHandler := Handler; http.Response.ContentType := 'application/json'; http.Response.CharSet := 'utf-8'; url := 'http://api.tudoentregue.com.br/v1' + caminho; Try http.Post(url, JsontoSend, AResponseContent); Except On E:Exception Do Begin Memo_Resp.Lines.Add('Response Content : '); AResponseContent.Position := 0; Memo_Resp.Lines.LoadFromStream(AResponseContent); Memo_Resp.Lines.Add('Error on Response Code: ' + InttoStr(http.ResponseCode)); Memo_Resp.Lines.Add('Error on Response Text: ' + http.ResponseText); Memo_Resp.Lines.Add('Error on Request: ' + sLineBreak + E.Message); EnviarJSon := false; exit; End; End; EnviarJSon := True; Finally JsontoSend.Free; AResponseContent.Free; http.Free; Handler.Free; End; end; Se alguém puder me ajudar ficarei muito grato pois não sei mais o que fazer. Att. Daniel
-
Boa Tarde Pessoal! Em minha ultima postagem o Datilas me ajudou demais (Muito Obrigado mesmo)! Consegui enviar os motoristas conforme a orientação dele e está funcionando perfeitamente. Porém, agora preciso enviar as ordens, e deveriam seguir as mesmas regras mudando apenas o caminho (orders). Mas não está enviando e me retorna erro 400 - Bad Request. Segue abaixo o código, caso alguém possa me ajudar. procedure TForm1.Button1Click(Sender: TObject); Var code: Integer; sResponse: String; Json: String; JsontoSend, AResponseContent: TStringStream; iStatusCode: Integer; http: TIdHTTP; Handler: TIdSSLIOHandlerSocketOpenSSL; Begin Json := '{"Driver": {"PhoneCountry": "+55","PhoneNumber": "19999690130"},"Customer": {"DocumentType": "CNPJ","DocumentNumber": "11229082000167"},"OrderType": 1,"OrderID": "123456","OrderNumber": "123456","OrderDescription": "NF-e",'; Json := Json + '"OrderDescriptionDocuments": "NF-e","SourceAddress": {"Address": "Rua Rahal, 71","Address2": "Jardim Santa Mena","ZipCode": "07097020","City": "Guarulhos","State": "Sao Paulo.","Country": "Brasil","Name": "Active Corp"'; Json := Json + ',"Responsibility": "Everton Implantacão","PhoneCountry": "+55", "PhoneNumber": "11988999199"},"DestinationAddress": {"Address": "Rua Sales, 812","Address2": "Cabucu","ZipCode": "07144260","City": "Guarulhos","State": "Sao Paulo","Country": "Brasil"'; Json := Json + ',"Name": "Everton Destinatario","Responsibility": "Everton","PhoneCountry": "+55","PhoneNumber": "1199994-9999"},"Documents": [{"DocumentID": "ID999999","DocumentNumber": "999999999","Volumes": [{"VolumeID": "ID999999","Count": 5,'; Json := Json + '"BarCode": "99999999999999999999","Read": 5}]}],"Observation": "Observação da Ordem para liberação."}'; JsonToSend := TStringStream.Create(Json); AResponseContent := TStringStream.Create(''); http := TIdHTTP.Create(Nil); Handler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); // Memo1.Lines.Clear; Try http.Request.CharSet := 'utf-8'; http.Request.ContentType := 'application/json'; http.Request.CustomHeaders.AddValue('AppKey', '58fb05c3-4e8b-4929-b7df-95bd261035c9'); http.Request.CustomHeaders.AddValue('RequesterKey', '629eda6f-9df5-40e7-a94e-4c54cec83a15'); http.IOHandler := Handler; http.Response.ContentType := 'applicattion/json'; http.Response.CharSet := 'utf-8'; Try http.Post('https://api.tudoentregue.com.br/v1/orders', JsontoSend, AResponseContent); Except On E: Exception Do Begin Memo1.Lines.Clear; Memo1.Lines.Add('Error on Response Code: ' + InttoStr(http.ResponseCode)); Memo1.Lines.Add('Error on Response Text: ' + http.ResponseText); Memo1.Lines.Add('Error on Request: ' + sLineBreak + e.Message); exit; End; End; Memo1.Lines.Clear; Memo1.Lines.Add('Response Content: ' + AResponseContent.DataString); Memo1.Lines.Add('Response Code: ' + InttoStr(http.ResponseCode)); Memo1.Lines.Add('Response Text: ' + http.ResponseText); Finally JsontoSend.Free; AResponseContent.Free; http.Free; Handler.Free; End; end; O arquivo JSon está correto porque foi enviado como exemplo pela empresa do software (ActiveCorp). Se alguém puder me ajudar, ficarei muito grato. Daniel
-
Atualizei o ACBr e agora quando vou compilar minha aplicação está dando o seguinte erro: Unit Jsons not found em Fontes\ACBrTCP\ACBrIBGE.pas na linha --> uses strutils, dateutils, blcksock, Jsons, ACBrUtil; Como faço para corrigir?
-
Pessoal, Inevitavelmente, cada vez mais JSON vem se tornando o protocolo de comunicação mais utilizados entre as aplicações. Sabemos que existem bibliotecas de conversão nativas tanto para o Delphi quanto para o Lazarus. E tantas outras de terceiros, de código fechado e de código aberto. Creio que cedo ou tarde, o projeto ACBr terá que fazer uso de alguma biblioteca JSON, então gostaria de propor aqui uma discussão pra validar/decidir o uso de JSON dentro do projeto ACBr. Poderia-se iniciar com algumas questões: Criar uma biblioteca própria? Criada do zero, ou se basear em alguma já existente? Usar uma existente e colocar dentro de /Terceiros/? Qual biblioteca existente utilizar? Usar nativo? IFDEF pra Lazarus e Delphi/XE? Estou levantando essa questão, pois estou criando um componente pra realizar a comunicação com o COSMOS da Bluesoft fazendo uso da TACBrHTTP, onde o retorno é JSON. Na qual, quem sabe após a definição de uma biblioteca JSON, esse componente poderá fazer parte do projeto ACBr... claro se o mesmo for aprovado. Aguardo uma discussão []'s
-
Olá pessoal. Tenho interesse em contratar freelancers para o desenvolvimentos de algum módulos em html 5 Os módulos são integrações por json de sistemas existentes. E-mail para contato: [email protected]