Como funciona com API RESTful curl php
Boa tarde galera,
Tenho pouco conhecimento no momento em relação ao funcionamento de api restfull com php.
Como realizo esta mesma consulta que consigo em JavaScript e Ajax, porém, com php curl ?
>
Citar
<script>
;(function($, global, undefined) {
var api = 'https://api.melhorenvio.com.br/v1';
var results = $('#results');
var table = $('table', results);
$('#quote').on('click', function() {
results.slideUp(function() {
table.html($('script[type="template/table-header"]').html());
var template = $('script[type="template/table-body"]').html();
$.getJSON(api + '/shipping/services', function(companies) {
companies.forEach(function(company) {
company.services.forEach(function(service) {
table.append(
template
.replace(/__id__/, service.id)
.replace(/__company__/g, company.name)
.replace(/__icon__/, company.icon)
.replace(/__service__/, service.name)
.replace(/__status__/, 'Carregando...')
.replace(/__price__|__delivery_time__d|__discount__/g, '-')
);
(function(service_id) {
var option = $('#option_' + service_id);
$.post(api + '/shipping/calculate', {
from: {
postal_code: $('[name=from]').val(),
// Teste, informações necessárias para municipais como Shippify
address: 'Rua Anita Costa',
number: '1'
},
to: {
postal_code: $('[name=to]').val(),
// Teste, informações necessárias para municipais como Shippify
address: 'Rua Anita Ferraz',
number: '2'
},
package: {
width: $('[name=width]').val(),
height: $('[name=height]').val(),
length: $('[name=length]').val(),
weight: $('[name=weight]').val()
},
options: {
declared_value: $('[name=declared_value]').val(),
own_hand: $('[name=own_hand]').is(':checked') ? 1 : 0,
receipt: $('[name=receipt]').is(':checked') ? 1 : 0
},
filters: {
id: [service_id]
}
})
.done(function(companies) {
var service = companies[0].services[0];
if (service.status) {
$('.status', option).addClass('text-success').html('Disponível');
$('.price', option).html('R$ ' + service.price.toFixed(2).replace('.', ','));
$('.delivery_time', option).html(service.delivery_time + ' dia' + (service.delivery_time > 0 ? 's' : ''));
$('.discount', option).html('R$ ' + service.discount.toFixed(2).replace('.', ','));
} else {
$('.status', option).addClass('text-danger').html('Indisponível');
setTimeout(function() {
option.fadeOut(function() {
option.remove();
});
}, 3000);
}
})
.fail(function() {
$('.status', option).addClass('text-danger').html('Indisponível');
setTimeout(function() {
option.remove();
}, 3000);
});
})(service.id);
});
});
results.slideDown();
});
});
});
})(jQuery, this);
</script>
Obrigado pela atenção galera,
Att. Marcelo.Discussão (0)
Carregando comentários...