+sub get_one_order {
+ my ($self, $ordnumber) = @_;
+
+ my $dbh = SL::DB::client;
+ my $of = 0;
+ my $url = $self->url;
+ my $data = $self->connector->get($url . "api/orders/$ordnumber?useNumberAsId=true");
+ my @errors;
+
+ my %fetched_orders;
+ if ($data->is_success && $data->content_type eq 'application/json'){
+ my $data_json = $data->content;
+ my $import = SL::JSON::decode_json($data_json);
+ my $shoporder = $import->{data};
+ $dbh->with_transaction( sub{
+ $self->import_data_to_shop_order($import);
+ 1;
+ })or do {
+ push @errors,($::locale->text('Saving failed. Error message from the database: #1', $dbh->error));
+ };
+
+ if(!@errors){
+ $self->set_orderstatus($import->{data}->{id}, "fetched");
+ $of++;
+ }else{
+ flash_later('error', $::locale->text('Database errors: #1', @errors));
+ }
+ %fetched_orders = (shop_description => $self->config->description, number_of_orders => $of);
+ } else {
+ my %error_msg = (
+ shop_id => $self->config->id,
+ shop_description => $self->config->description,
+ message => "Error: $data->status_line",
+ error => 1,
+ );
+ %fetched_orders = %error_msg;
+ }
+
+ return \%fetched_orders;
+}
+